九联UNT402A机顶盒刷Armbian完整实战:20分钟改造成7×24小时Linux家用服务器
【免费下载链接】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
九联UNT402A 是中国移动定制的 S905L3 晶晨机顶盒,本文带你把它刷成一台 Armbian Linux 服务器,全程约 20 分钟,适合手里有闲置 IPTV 盒子、想动手改造的新手照着一步步做完。
成果预览
先把结果摆出来:一个常年通电的盒子,屏幕可以彻底不管,SSH 端口 22 随时登录,Docker、下载器、去广告服务、媒体库都能跑。硬件底子如下,你看完再决定值不值得动。
| 档案项 | 参数 |
|---|---|
| 设备 | 九联 UNT402A(湖南移动版 IPTV 机顶盒) |
| 处理器 | Amlogic S905L3 |
| 内存 | 2GB |
| 板载存储 | 8GB eMMC |
| 网络 | 100M 有线 |
| 最终系统 | Armbian(Debian 12 bookworm)+ 6.6.31 内核 |
| 设备树 DTB | meson-gxl-s905l3b-m302a.dtb |
| 引导 U-Boot | u-boot-s905x-s912.bin |
改造完成后的最终形态:拔掉 SD 卡,盒子直接从 eMMC 开机,成为一台 7×24 小时在线的 Linux 服务器。
风险交底
动手前把话说清楚,这一步会破坏什么、怎么救回来。
⚠️破坏点:把 Armbian 写进 eMMC 会抹掉盒子里的原安卓 IPTV 系统,以后想看电视必须先恢复。
动手前必做:先从 SD 卡启动 Armbian,用
armbian-ddbr把 eMMC 里的原安卓系统备份到/ddbr/BACKUP-arm-64-emmc.img.gz。回退路径:写 eMMC 之前,盒子一直跑在 SD 卡上,原系统原封不动,随时拔卡插回原 SD 卡就能回到改造前状态。真出了故障,把备份文件传回同路径,再用
armbian-ddbr的恢复项一键还原。
只要按顺序做,先备份再写盘,风险是可控的。
准备清单
| 物品 | 用途 | 备选方案 |
|---|---|---|
| 九联 UNT402A 机顶盒 | 改造对象 | 同 S905L3 的 M302A 等盒子流程一致 |
| SD 卡 8GB 以上 + 读卡器 | 承载 Armbian 启动 | 可用 U 盘,但个别品牌识别差,SD 卡更稳 |
| 电脑一台 | 写卡、执行 ADB 命令 | 无 |
| 网线一根 | 盒子与路由器连到同一网段 | Wi-Fi 不稳定,建议用网线 |
| Armbian 镜像 | 已验证稳定的系统 | 从仓库 Release 选 s905l3b 对应镜像 |
推荐镜像:Armbian_24.5.0_amlogic_s905l3b_bookworm_6.6.31_server,这个版本在盒子上验证过可用。
主体操作
1. 让盒子改从 SD 卡启动 Armbian
目标:不碰 eMMC,先让 Armbian 从 SD 卡跑起来,出问题随时退得回来。
操作:先用刷机工具把 UNT402A 对应的安卓 9 底包写进盒子并开机,在设置里连续点击版本号 5 次开启开发者模式,打开 USB 调试。再用 Rufus 或 balenaEtcher 把 Armbian 镜像写进 SD 卡,插卡、接网线,在电脑上执行:
adb connect <盒子IP>连上后下发命令,让盒子改从 SD 卡启动:
adb shell reboot update为什么这么做:reboot update告诉盒子本次从 USB/SD 引导,全程不写 eMMC,是安全的第一步。
验证:盒子重启,约一分钟后路由器设备列表里出现名为armbian的设备。命令没反应就直接断电重插电源,效果一样。
回退:没反应就断电重插电源再试一次;仍不行检查 ADB 是否连上、网线是否在网段内。
2. SSH 登录 Armbian 并改掉默认口令
目标:确认系统已跑通,并把默认口令换成自己的。
操作:
ssh root@<盒子IP>为什么这么做:默认账号root、密码1234是公开信息,长期通电的服务器必须先改。登录后执行:
passwd为什么改:把默认口令换成强口令,避免被扫描工具撞库。
验证:回车后跳出登录提示并成功进入 shell,说明 Armbian 已经在 SD 卡上稳定运行。
回退:连不上就回到路由器找armbian的实际 IP,确认盒子通电、网线连通。
3. 备份 eMMC 里的原安卓系统
目标:在写 eMMC 之前留一份原系统,随时可还原。
操作:在已登录的 Armbian 里执行:
armbian-ddbr按提示输入b执行备份,备份文件落在/ddbr/BACKUP-arm-64-emmc.img.gz。为什么这么做:这是唯一能在不拆机、不额外工具的情况下把原安卓系统整块存下来的办法,务必在动 eMMC 前完成。
验证:命令跑完,/ddbr/下出现BACKUP-arm-64-emmc.img.gz,用ls -lh /ddbr/确认文件存在且体积不为 0。
回退:没生成文件就把备份文件传到别的存储介质再试,或确认当前是从 SD 卡启动的 Armbian(而非 eMMC 上的旧系统)。
4. 确认 eMMC 就绪并写入 Armbian
目标:把 Armbian 从 SD 卡落进 8GB eMMC,之后拔卡也能开机。
操作:先确认 eMMC 被识别:
lsblk看到一块 8GB 的mmcblk设备才继续。看不到就先停手,别往下装,直接查下面的排查表。确认后再执行落盘安装:
armbian-install按提示选择机型:UNT402A 对应的条目(DTB 为meson-gxl-s905l3b-m302a.dtb,U-Boot 为u-boot-s905x-s912.bin),文件系统选ext4。为什么选它:DTB 和 U-Boot 必须和硬件对上,选错会导致无法启动或内存识别异常。
验证:脚本跑完写入流程并提示可以关机。
回退:脚本中途报错或找不到 eMMC,先断电彻底拔电再上电重试;仍失败按排查表处理分区表异常。
5. 拔卡开机,验证独立运行
目标:证明系统已经从 eMMC 独立启动,SD 卡不再依赖。
操作:按提示关机,断电、拔 SD 卡、再上电。
验证:盒子直接从 eMMC 开机,路由器里重新出现armbian设备,SSH 能登录 ✅。到这一步,改造完成。
回退:拔卡后黑屏起不来,说明第 4 步没写成功,插回 SD 卡回到 Armbian 重新执行armbian-install。
避坑排查
| 看到的现象 | 先检查什么 | 最终解法 |
|---|---|---|
| HDMI 没有画面 | 是否接了显示器期待出画面 | S905L3 刷 Armbian 后显示能力受限,别盯屏幕,在路由器找armbian的 IP 走 SSH |
| SD 卡起不来 | 卡品牌、u-boot 文件是否完整 | 换一张其他品牌 SD 卡加读卡器,确认卡上 u-boot 文件完整 |
| 内存只识别出 1~2GB | u-boot 内存配置是否与硬件相符 | 在 boot 分区把/boot/UBOOT_OVERLOAD复制为/boot/u-boot.ext(U 盘用)或/boot/u-boot.emmc(eMMC 用) |
| armbian-install 找不到 eMMC | 底包是否刷对、分区表是否异常 | 重写一遍安卓 9 底包最稳,或彻底断电后再试一次 |
| 误触导致盒子突然关机 | 红外接收器是否被遥控器误触发 | 往/etc/modprobe.d/blacklist.conf加blacklist meson_ir后重启,禁用红外 |
更多排查思路可查仓库里的 documents/README.cn.md,常见问题章节覆盖了 eMMC 分区、启动引导、内存识别等。
装完玩法
- 一键装 Docker 跑下载器:
armbian-software,进入后输入软件编号安装 Docker,再拉起 Transmission 或 qBittorrent。 - 给全家设备去广告:同样走
armbian-software装去广告服务,路由器指向它做 DNS。 - 建私有媒体库:
armbian-software装 Jellyfin,接上硬盘或 NAS 目录就能流播。 - 换一个内核版本体验:
armbian-update -k 6.6,更新前会自动备份当前内核,不稳可回滚。 - 禁用红外防误关机:编辑
/etc/modprobe.d/blacklist.conf加blacklist meson_ir,重启生效。
软件中心脚本与命令说明见 documents/armbian_software.md。
附录速查
| 项目 | 数值 |
|---|---|
| 处理器 | Amlogic S905L3 |
| 内存 | 2GB |
| 板载存储 | 8GB eMMC |
| 网络 | 100M 有线 |
| DTB 文件 | meson-gxl-s905l3b-m302a.dtb |
| U-Boot 文件 | u-boot-s905x-s912.bin |
| 默认账号 | root |
| 默认密码 | 1234 |
| SSH 端口 | 22 |
| 推荐镜像 | Armbian_24.5.0_amlogic_s905l3b_bookworm_6.6.31_server |
【免费下载链接】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),仅供参考