如何编译 Armbian 运行系统

armbian-compile

Armbian 是一套以 Linux 为基础的针对 Arm 架构及相关硬件所开发的轻量级软件系统,而且主要面向嵌入式体系架构的单板机(SBCs)应用场景,比如电视盒子、游戏机、NAS、媒体播放器、个人小电脑等等。目前 Armbian 支持 Debian 和 Ubuntu 的编译选项,可以生成具有字符或图形界面的运行系统。本篇文章就详细介绍如何编译一套 Armbian 最新的 Ubuntu(focal)运行系统,使用的是 Linux 5.6.19 内核。

Armbian 是一套经过高度优化的 Linux 运行系统,特点是轻量、速度快、安全,特别适合用来做嵌入式的软件系统。由于 Armbian 完全基于标准的 Linux 内核,同时系统引导方式支持广泛使用的 U-Boot,根文件系统可以编译成 Ubuntu 或者 Debian,固件支持也很丰富,所以非常容易兼容目前的各种软硬件系统和应用。

Armbian 支持的 CPU 包括全志 A系列、H系列,Amlogic S 系列,以及飞思卡尔、恩智浦(NXP)、迈威科技(Marvell)、三星、瑞芯微等公司的产品。

Armbian 支持的开发板也非常多,比如著名的树莓派系列(Raspberry Pi)、香橙派系列(Orange Pi)、Odroid 系列、NanoPi 系列等,还包括各种非官方的以社区为主定制的开发板。这些开发板在配置上也是高、中、低都有,可以满足不同的应用场景的需求。

基于上面的 CPU 、开发板及参考设计,很多厂家也定制和生产出了各种消费类的产品,比如种类繁多的电视盒子、掌上游戏机、路由器等,国内比较火的 N1 盒子也可以运行 Armbian。

编译 Armbian 运行系统,首先就是要搭建一个交叉编译环境,这里推荐在 Ubuntu 上搭建,服务器版本 18、20 都可以,可以选择在实体机或者虚拟机(如 VMware,分配 50G 的硬盘空间)上搭建。当然还要有一个目标系统运行的硬件装置,比如开发板、电视盒子。

编译环境搭建完成后,如果要安装 Ubuntu 的桌面环境,可以在终端界面输入下面的命令,完成后重启:

#apt-get update
#apt-get install ubuntu-desktop
#reboot

接着在 Ubuntu 终端命令行界面中输入下面的命令下载 Armbian 源代码:

$git clone https://github.com/armbian/build

下载完的源代码保存在当前目录下的 build 子目录中,进入该目录并输入下面的命令开始编译(需要 root 权限):

$cd build
$sudo ./compile.sh

这时会弹出一个窗口开始配置目标系统的编译选项,主要包括是否配置内核、开发板选择、内核版本选择、Debian/Ubuntu 版本选择、是否带桌面环境等。

armbian-compile-config
图一 选择编译内核或者完整系统

上图第一项只编译 U-boot 和 Linux 内核,第二项编译完整的系统,包含第一项的内容以及操作系统的完整映像。

armbian-compile-config
图二 是否修改内核配置

上图第二项表示 Armbian 编译前会弹出内核编译配置窗口,可以修改内核编译有关的配置,第一项则保持已有缺省配置不变。

armbian-compile-config
图三 开发板选择

上图选择开发板,也就是运行编译完成的目标系统的硬件装置,如果列表里面没有对应的选项,可以根据表中已有板子的配置描述选择与自己的硬件配置相同的一项。另外窗口底部的第二个菜单选择专家模式(正在开发或实验有关的内容)。

armbian-compile-config
图四 选择实验配置警示
armbian-compile-config
图五 选择实验配置

也是根据自己硬件的配置情况进行选择,注意括弧中的缩写所代表的内容。

armbian-compile-config
图六 选择内核版本

选择内核的版本,第一项表示旧的,第二项是当前的,第三项是正在开发的,一般情况选择第二项,如果运行有问题再选择第一项重新编译。

armbian-compile-config
图七 选择目标操作系统版本

选择操作系统版本,分成 Debian 和 Ubuntu 两类,目前 Ubuntu 最新的是 20.04版,代号 focal。

armbian-compile-config
图八 选择目标系统类型(一)

选择生成的目标系统是否带桌面环境(第二项),或者只提供字符界面。

armbian-compile-config
图九 选择目标系统类型(二)

选择生成的系统是具有最小的可运行映像(第二项)还是标准映像。

设置完成后就开始编译了,这个过程会比较长,要下载交叉编译工具、U-boot 源代码、内核及操作系统源代码。如果编译过程中出现下载问题而中断,就把上面的步骤重新走一遍。编译完成后的系统完整映像存放在 output/images/ 目录下面,一些不同用途的分支压缩包存放在 output/debs/ 目录下。

至此,整个 Armbian 编译过程就介绍完了,在下一篇文章中会介绍如何做客户化编译以及生成的系统映像如何写到 U 盘或 SD 卡中等内容。

发表评论

邮箱地址不会被公开。 必填项已用*标注