Armbian_SDK编译
SDK介绍
内核版本:6.1
Debian系统版本:12
Ubuntu系统版本:2404
此 SDK 的库和源码源于国外不同的网站网址,国内用户编译此 SDK 必须确保网络能够访问外网!!!
获取SDK源码
网盘目录
1-SDK/Armbian/
├── kickpi-armbian.md5sum
└── kickpi-armbian.tar.gz
*这里一般指代日期,下面同,实际名称以网盘为准
拷贝源码压缩包到编译主机目录(若编译主机为虚拟机,不可放在共享目录下编译)
MD5校验文件完整性
md5sum kickpi-armbian.tar.gz
判断结果和 kickpi-armbian.md5sum 内容一致,则文件下载完整
解压源码压缩包
$ mkdir kickpi-armbian.tar.gz
$ tar -zxvf kickpi-armbian.tar.gz -C kickpi-armbian
$ cd kickpi-armbian
$ git reset --hard
图形化界面编译
SDK$ ./compile.sh
运行后,会进入图形化选择编译界面。
图形化界面配置须知:
方向键选择配置,Enter 键确认配置,空格键选中或取消选中。
支持首字母快速检索,可键盘按下首字母,会跳转到对应首字母选项。
通用配置
选择不修改 Kernel 配置

选中显示 CSC / WIP / EOS / TVB 相关配置(目前 K7 在CSC配置中)

同意警告声明

向下选中 kickpi-k7 配置

选择 6.1 Kernel 版本(目前仅有此选项)

Debian/Ubuntu系统选择
选择 Bookworm 或 Ubuntu noble 24.04 版本(带 supported 选项 Armbian 官方支持,使用比较稳定!)

桌面版/服务器版选择
选择系统配置,桌面版选择 desktop environment / 服务器版选择 console interface (server)

桌面版配置选择
8.1 若第7步选择桌面版,桌面版提供了四种可支持的桌面,选择 gnome 桌面。
注意: Ubuntu 系统选择 gnome 桌面,目前仅验证了此桌面!

系统基础包配置

对应类型的系统基础包选择 (空格选中或者取消选中,选中的包会自动编译进系统)

命令编译(非图形化界面)
在图形化界面选择编译后,可通过打印信息查看到对应命令行编译指令。
示例:
下面是在编译 K7 ubuntu 24.04 系统 gnome 桌面时,截取到的打印。

则获取到以下命令
SDK$ ./compile.sh build BOARD=kickpi-k7 BRANCH=vendor BUILD_DESKTOP=yes BUILD_MINIMAL=no DESKTOP_APPGROUPS_SELECTED= DESKTOP_ENVIRONMENT=gnome DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base KERNEL_CONFIGURE=no RELEASE=noble
执行该命令,会编译 K7 ubuntu 24.04 系统 gnome 桌面(无需进图形化界面重新配置)
单独编译
kernel 单编
$ ./compile.sh kernel BOARD=kickpi-k7 BRANCH=vendor
dts 单编
$ ./compile.sh kernel-dtb BOARD=kickpi-k7 BRANCH=vendor
板卡上 dtb 替换路径
/boot/dtb/rockchip/rk3576-kickpi-k7.dtb
Kernel config 配置
./compile.sh kernel-config BOARD=kickpi-k7 BRANCH=vendor
Armbian官方编译指导
https://docs.armbian.com/Developer-Guide_Build-Commands/
常见问题
Armbian 编译太慢?
目前Armbian源码编译配置默认为 16,如果需要修改编译线程数,请参考下面例子。
--- a/lib/functions/compilation/distcc.sh
+++ b/lib/functions/compilation/distcc.sh
@@ -49,7 +49,7 @@ function prepare_distcc_compilation_config() {
DISTCC_CROSS_COMPILE_PREFIX=("distcc")
- DISTCC_MAKE_J_PARALLEL=("-j16")
+ DISTCC_MAKE_J_PARALLEL=("-j64")
#DISTCC_MAKE_J_PARALLEL=("-j$((total_distcc_cores * 2))") # Use double the total distcc cores
display_alert "DISTCC_TARGETS_SEGMENTS" "${DISTCC_TARGETS_SEGMENTS[*]}" "warn"
@@ -58,7 +58,7 @@ function prepare_distcc_compilation_config() {
[[ -z "${CTHREADS}" ]] && exit_with_error "CTHREADS is not set in prepare_distcc_compilation_config"
DISTCC_MAKE_J_PARALLEL=("${CTHREADS}")
- DISTCC_MAKE_J_PARALLEL=("-j16")
+ DISTCC_MAKE_J_PARALLEL=("-j64")
fi
return 0
Armbian 编译失败?
Armbian 编译拉取的代码、库、deb 等源于不同的国外网址,如果无法访问会导致编译失败。
请确认对应的网址是否能访问,然后尝试重新编译。
Last updated