吃灰电视盒子从零到一:Armbian 内核定制与系统编译救急实战

📅 2026/8/20 12:26:05
吃灰电视盒子从零到一:Armbian 内核定制与系统编译救急实战
吃灰电视盒子从零到一Armbian 内核定制与系统编译救急实战【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian凌晨一点编译终端里 error 刷屏进度条停在 87% 就不再前进——这是很多人在给电视盒子做 Armbian 系统编译的第一个夜晚。折腾到崩溃的远不止你一个。这个叫 amlogic-s9xxx-armbian 的开源项目把 Amlogic、Rockchip、Allwinner 三大平台的盒子系统编译、内核定制、救砖排障全打通了支持的芯片从 s905 一路覆盖到 s922x、rk3588、h6 等几十款。读完这篇你会拿到三样东西一条不用折腾编译环境的救命命令、一套从开机卡死到救砖还原的排障地图还有几个让 1~2GB 小内存盒子跑得更顺的调优动作。我直接说结论按坑来写。第一个坑编译报错刷屏先分清三种翻车现场报错这东西吓人但不玄乎。内核编译失败九成是下面三种原因对号入座比瞎搜报错快得多。翻车一依赖装不齐编到一半缺头文件症状是编译中段突然跳fatal error: xxx.h: No such file or directory或者 configure 阶段就退出。说白了就是系统里缺开发包。Ubuntu 24.04 用户不用一个个手敲项目把依赖清单写好了一条命令全装sudo apt-get install -y $(cat compile-kernel/tools/script/ubuntu2404-build-armbian-depends)这行命令干了什么直接读取项目自带的依赖清单文件把交叉编译工具链、设备树工具、压缩工具等上百个包一次装齐。别的发行版报什么缺什么就补什么别跟它较劲。翻车二本地环境被自己折腾乱了工具链打架很多人机器上装过几套 gcc、clang版本互相冲突编出来的东西千奇百怪。关键就一步别在裸环境里硬刚。项目早就想到了这一点recompile脚本会把整个编译过程丢进 Docker 容器里跑镜像、工具链、内核源码全部自动搞定sudo ./recompile -k 5.15.100这行命令干了什么检测到没装 Docker 会自动装然后拉取 Armbian 编译镜像在容器里完成下载源码、配置、编译的全过程宿主机的环境再乱也影响不到它。这也是我强烈推荐新手走的路没有之一。翻车三磁盘和内存双双告急编到一半被系统杀掉症状是终端里突然冒出一句Killed或者No space left on device。内核编译是吃资源的活硬盘至少留 20GB 以上内存不够就提前开 swap。避坑提示开编之前先df -h看一眼剩余空间别让编译在最后 5% 功亏一篑。第二个坑不知道该在哪儿编三条路对照着选纠结环境是最浪费时间的。三条路各有适用场景选错了就是整晚白干。路 AGitHub Actions 云端编译零配置不想碰本地环境直接到仓库的 Actions 页面选对应工作流点 Run workflow 开跑。编系统选Build Armbian server image编内核选Compile the kernel参数填好点按钮就行全程 3 小时左右编译空间不够项目还内置了扩大磁盘的逻辑卷方案。适合人群手头没有 Linux 机器或者想定时自动编、编完直接出下载链接的。路 B本机 Docker 一键编译最省心就是我上面说的recompile和rebuild两条命令。一条管内核一条管系统镜像sudo ./rebuild -b s905x3 -k 6.6.12这行命令干了什么以 s905x3 这个盒子型号为目标打包一个搭载 6.6.12 内核的 Armbian 镜像产物输出到build/output/images目录拿来就能烧录。多型号就用下划线连起来写比如-b s905x3_s905d一次出好几个盒子用的镜像。路 C盒子里直接编老手的玩具系统已经跑起来之后直接在盒子上编内核也完全可行先更新编译环境再指定版本armbian-kernel -u armbian-kernel -k 6.6.12第一行更新编译环境和配置文件第二行开始编译。产物存在/opt/kernel/compile-kernel/output。一句话决策纯新手选 B连 Docker 都不想装选 A盒子上已经跑着 Armbian 想就地取材选 C。第三个坑开机卡死先救砖再排查比编译失败更让人崩溃的是镜像烧进去了电视盒子开机黑屏连安卓都没了。这时候先别慌按顺序来。第 1 步动手前先备份后悔药必须提前备好新盒子到手第一件事不是刷机而是把原厂安卓系统备份下来。用 USB 或 TF 卡启动 Armbian 后执行armbian-ddbr这行命令干了什么提示后输入b备份整个 eMMC输入r还原。备份好了之后怎么折腾都有退路。第 2 步核对 dtb 和 u-boot 对不对得上开机卡死八成是设备树文件或引导文件跟你的盒子对不上号。不同型号的 dtb 不能混用这在文档的常见问题里有一张对应关系表。先确认你的盒子和系统默认加载的启动文件匹配别跳过这步直接重刷。第 3 步改 uEnv.txt 换启动配置同一个芯片家族的不同盒子往往只差一个 dtb 文件。把 U 盘或 TF 卡里的boot分区插到电脑上打开编辑/boot/uEnv.txt把里面的FDT改成你盒子的设备树文件名保存插回去再开机。避坑提示老一代 s905 盒子只能从 TF/SD/USB 启动不支持写 eMMC别在它身上折腾安装命令那不是 bug是平台限制。第四个坑小内存盒子跑不动服务2GB 内存的盒子想跑 Docker 全家桶卡是必然的。两个动作就能缓解大半。动作一一条命令开虚拟内存armbian-swap 1这行命令干了什么用磁盘划出 1GB 虚拟内存数字自己改单位是 GB。跑 Docker、数据库这类吃内存的应用前先补上这一刀。动作二软件中心一键装监控别手动编译装服务armbian-software这行命令干了什么打开项目内置的软件中心输入软件 ID 就能一键安装、更新、卸载。里面有 Docker、Portainer、Jellyfin、NextCloud也有 frp 内网穿透、CasaOS 个人云这类服务全部针对盒子架构优化过不用自己查依赖。装完记得跑armbian-software -u刷新一下列表。一句话结论先 swap 后精简能用软件中心装的绝不自编译小内存盒子照样能当 24 小时服务器。第五个坑想定制内核却怕搞坏系统定制内核没你想的那么危险。项目把最常用的定制场景都做成了参数改签名、换配置、打补丁各有一条命令。一条命令带上版本和签名sudo ./recompile -k 6.6.12 -n -mybox这行命令干了什么编译 6.6.12 内核并在版本号后面打上你自己的签名产物就叫6.6.12-mybox一眼就能认出哪个是自编的。同系列还想自动追新加-a true即可。工具链想换 clang用-t clang。打补丁和换配置各归其位项目把定制入口拆得很干净配置文件放compile-kernel/tools/config补丁放compile-kernel/tools/patch。把-p true加上编译时会自动应用tools/patch目录里的补丁。想加自己的驱动参考文档里的自定义驱动模块编译一节编译完的模块直接放进系统即可。装回去一条命令的事编好的内核要装进已跑起来的系统不用重刷镜像armbian-update -k 5.15 -u stable -d deb这行命令干了什么把内核更新到 stable 系列的最新版本。更新前会自动把当前内核备份到/ddbr/backup目录并保留最近 3 个版本新内核翻车了随时能回滚万一系统真起不来了armbian-update -s还能在外部系统里把 eMMC 上的内核救回来。避坑提示更新内核别挑 beta 系列家用场景稳稳用 stable动手前看一眼文档里更新 Armbian 内核这一节回滚路径先记熟。从能跑到跑得更好的下一步到这儿你的盒子应该已经从吃灰状态变成了能编译、能定制、能救砖的顺手服务器。接下来想深入有三条路值得走一是给项目添新设备支持。手头有列表之外的盒子照着model_database.conf设备库的格式补一份配置再按文档里的添加新设备流程走一遍你的盒子就能进入官方支持名单。二是玩 LED 屏显示控制。很多盒子自带点阵屏通过armbian-openvfd可以控制它显示 CPU 占用、IP 地址等信息看文档led_screen_display_control.md就能上手服务器状态一目了然。三是搭一个低功耗服务器集群。盒子功耗普遍在 3~10W把几台不同芯片的盒子用同一个内核版本管理起来配合软件中心的内网穿透工具统一维护成本比云服务器低一个数量级。内核定制这条路一旦走通剩下的就是想象力问题了。先把这篇里的救急命令存好下次再遇到报错刷屏你就知道往哪儿看了。【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考