这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » armbian开发攻略

共6条 1/1 1 跳转至

armbian开发攻略

高工
2025-05-14 21:55:21     打赏

1. 什么是armbian
Armbian是一个基于Debian或Ubuntu的开源操作系统,专门针对嵌入式ARM平台进行优化和定制。Armbian可以运行在多种不同的嵌入式设备上,例如树莓派、ArmSoM、香蕉派等等。Armbian针对不同的嵌入式平台,提供了相应的硬件支持,可以让用户轻松地在这些平台上搭建自己的嵌入式系统。armbian立项于2014年底,于2016年开始进入频繁更新,每年千万行代码的爆发式成长,截止目前为止,官网已经支持185个不同的硬件设备的适配。
2. 为什么要使用armbian
Armbian提供了丰富的软件库和组件,包括Linux内核、文件系统、应用程序等,用户可以根据自己的需要进行选择和安装。Armbian还提供了一套完整的开发工具链,方便用户进行开发和调试工作。总的来说,Armbian是一款功能强大、灵活性高、易于定制的嵌入式操作系统,适用于各种不同的嵌入式设备和应用场景。
3. 如何使用armbian
3.1 基本要求
x86_64 或 aarch64 计算机,至少具有 2GB 内存和 ~35GB 磁盘空间,用于虚拟机、WSL2、容器或裸机安装
Ubuntu Jammy 22.04.x amd64 或 aarch64 用于本机构建或任何支持 Docker 的 amd64 / aarch64 Linux 用于容器化。官方支持的编译环境仅限 Ubuntu Jammy 22.04.x amd64 !
超级用户权限(配置的 sudo 或 root 访问权限)。
确保您的所有系统组件都是最新的。例如,过时的 Docker 二进制文件可能会导致问题。
很多资源包下载都需要外网,中国的用户需要一个翻墙工具
3.2 开始构建$ apt-get -y install git
$ git clone --depth=1 --branch=main https://github.com/armbian/build
$ cd build
$ ./compile.sh命令执行后会进行以下三个操作,具体的操作解释,后续我会写文章详细解释
交互式图形界面。
通过安装必要的依赖项和源来准备工作区。
它指导整个过程并创建内核包或即用型 SD 卡映像。
4. 项目结构├── cache                                Work / cache directory
│   ├── aptcache                         Packages
│   ├── ccache                           C/C++ compiler
│   ├── docker                           Docker last pull
│   ├── git-bare                         Minimal Git
│   ├── git-bundles                      Full Git
│   ├── initrd                           Ram disk
│   ├── memoize                          Git status
│   ├── patch                            Kernel drivers patch
│   ├── pip                              Python
│   ├── rootfs                           Compressed userspaces
│   ├── sources                          Kernel, u-boot and other sources
│   ├── tools                            Additional tools like ORAS
│   └── utility
├── config                               Packages repository configurations
│   ├── targets.conf                     Board build target configuration
│   ├── boards                           Board configurations
│   ├── bootenv                          Initial boot loaders environments per family
│   ├── bootscripts                      Initial Boot loaders scripts per family
│   ├── cli                              CLI packages configurations per distribution
│   ├── desktop                          Desktop packages configurations per distribution
│   ├── distributions                    Distributions settings
│   ├── kernel                           Kernel build configurations per family
│   ├── sources                          Kernel and u-boot sources locations and scripts
│   ├── templates                        User configuration templates which populate userpatches
│   └── torrents                         External compiler and rootfs cache torrents
├── extensions                           Extend build system with specific functionality
├── lib                                  Main build framework libraries
│   ├── functions
│   │   ├── artifacts
│   │   ├── bsp
│   │   ├── cli
│   │   ├── compilation
│   │   ├── configuration
│   │   ├── general
│   │   ├── host
│   │   ├── image
│   │   ├── logging
│   │   ├── main
│   │   └── rootfs
│   └── tools
├── output                               Build artifact
│   └── deb                              Deb packages
│   └── images                           Bootable images - RAW or compressed
│   └── debug                            Patch and build logs
│   └── config                           Kernel configuration export location
│   └── patch                            Created patches location
├── packages                             Support scripts, binary blobs, packages
│   ├── blobs                            Wallpapers, various configs, closed source bootloaders
│   ├── bsp-cli                          Automatically added to armbian-bsp-cli package
│   ├── bsp-desktop                      Automatically added to armbian-bsp-desktopo package
│   ├── bsp                              Scripts and configs overlay for rootfs
│   └── extras-buildpkgs                 Optional compilation and packaging engine
├── patch                                Collection of patches
│   ├── atf                              ARM trusted firmware
│   ├── kernel                           Linux kernel patches
|   |   └── family-branch                Per kernel family and branch
│   ├── misc                             Linux kernel packaging patches
│   └── u-boot                           Universal boot loader patches
|       ├── u-boot-board                 For specific board
|       └── u-boot-family                For entire kernel family
├── tools                                Tools for dealing with kernel patches and configs
└── userpatches                          User: configuration patching area
    ├── lib.config                       User: framework common config/override file
    ├── config-default.conf              User: default user config file
    ├── customize-image.sh               User: script will execute just before closing the image
    ├── atf                              User: ARM trusted firmware
    ├── kernel                           User: Linux kernel per kernel family
    ├── misc                             User: various
    └── u-boot                           User: universal boot loader patches
CONTRIBUTING.md // We would love to have you join the Armbian 4.
感谢此系列特别感谢 armsom团队 和 armbian中国开发者 amazingfate




关键词: armbian     kernel    

院士
2025-05-14 23:34:32     打赏
2楼

不感觉 兴趣


高工
2025-05-15 08:54:53     打赏
3楼

国内的OS也可以啊。


院士
2025-05-15 12:02:46     打赏
4楼

   Armbian是一个基于Debian或Ubuntu的开源操作系统,专门针对嵌入式ARM平台进行优化和定制。谢谢分享。


高工
2025-05-15 12:50:32     打赏
5楼

没记错的话,全志H3好像就刷的这个系统


专家
2025-05-15 20:24:32     打赏
6楼

现实中接触的都是windows下的编程,哪怕是能跨越平台的编程,也都是在windows下做开发。单片机开发中,可用的系统,如RTOS、RTT等,不知道能不能算真正意义上操作系统。Armbian显然是更像操作系统个。

谢谢楼主分享!


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]