Armbian 编译相关踩坑

前文

截至本文发布(2025年10月29日),openmediavault 都没有发布基于 Debian13 的 OMV8

在Armbian 13 的基础上,强制安装未发布的 OMV8 后,基础功能都挺正常的

结果发现 mergerfs 还没有更新适用于 Debian 13 的版本

那就只能回退到 Debian 12 bookworm 了

非常不幸的是,Nanopi R5C 没有 Armbian 的官方支持,下载页面只有一个 Debian 13 的滚动发布

找旧版本的,不如自己编译来得快

果然还是踩坑了

编译

https://docs.armbian.com/Developer-Guide_Build-Preparation

这部分我不想细说,因为 Armbian 官方给了非常好用的编译系统

基本上,你就照着指南和图形菜单做下去就行

这里主要是写一些官方指南和图形菜单里面没解释清楚的坑

坑1:要求

硬件

x86_64 交叉编译
官方指南说的 at least 8GB (less for non-BTF builds) of memory
实际上,我用 16G 内存编译,爆了,出不来东西
32G 倒是没问题

软件

请严格按照官方指南给出的能 native building 的发行版
例如,我编译 25.8.2 版本的时候,官方指南给出来的直接编译要求是 Armbian / Ubuntu Noble 24.04.x
别试别的发行版,给我试累了已经
官方说了 any Docker capable Linux 也行?你自己试试吧

坑2:Armbian 版本分支选择

大分支

大家如果想要踏踏实实用,而不是使劲折腾的话
请使用稳定分支,而不是 trunk 分支
不然的话就会开始往各种坑里踩

直接 git clone https://github.com/armbian/build 下来的是 trunk 分支

你可以通过 Github Tags 直接下载到稳定版本的压缩存档
或者,在git clone的时候指定分支

例如

git clone --branch=v25.08 https://github.com/armbian/build

如下所见,你要是用了 trunk,linux-headers 都要自己自己处理

开开心心 armbian-config 选择安装 linux-headers,一看,仓库没有

root@nanopi-r5c:~# apt search rockchip64
Sorting... Done
Full Text Search... Done
linux-dtb-current-rockchip64/now 25.11.0-trunk arm64 [installed,local]
  Armbian Linux current DTBs in /boot/dtb-6.12.56-current-rockchip64

linux-dtb-edge-rockchip64/bookworm 25.8.2 arm64
  Armbian Linux edge DTBs in /boot/dtb-6.18.0-rc3-edge-rockchip64

linux-headers-current-rockchip64/bookworm 25.8.2 arm64
  Armbian Linux current headers 6.12.55-current-rockchip64

linux-headers-edge-rockchip64/bookworm 25.8.2 arm64
  Armbian Linux edge headers 6.18.0-rc3-edge-rockchip64

linux-image-current-rockchip64/now 25.11.0-trunk arm64 [installed,local]
  Armbian Linux current kernel image 6.12.56-current-rockchip64

linux-image-edge-rockchip64/bookworm 25.8.2 arm64
  Armbian Linux edge kernel image 6.18.0-rc3-edge-rockchip64

linux-libc-dev-current-rockchip64/bookworm 25.8.2 arm64
  Armbian Linux support headers for userspace development

linux-libc-dev-edge-rockchip64/bookworm 25.8.2 arm64
  Armbian Linux support headers for userspace development

小分支 current 和 edge

待更新

坑3:不要用 root 或者 sudo 运行 compile.sh

其实这也不算坑
请使用普通用户直接运行 compile.sh
编译系统会在必要时自动调用sudo
不信的话你可以自己试试

常见问题

爆内存

E: Could not read from /var/lib/apt/lists/deb.debian.org_debian_dists_bookworm-backports_InRelease - getline (12: Cannot allocate memory)

爆内存了,增加物理内存空间或者swap空间
我的虚拟机从16G增加到32G解决了问题

SWIG 4.3+ 的不兼容变更

error: too few arguments to function ‘SWIG_Python_AppendOutput’

手贱不按指南的指示,自己擅自换了发行版?
要不就踏踏实实换回去官方指南里的发行版和版本,要不就自己按标题慢慢折腾吧

消除日志警告

warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): No such file or directory

apt install -y locales
update-locale LANG=C.UTF-8 LC_ALL=C.UTF-8

chevron_left

Leave a comment

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

Comment
Name
Email
Website