Amlogic S9xxx 电视盒子装 Armbian 完整教程:从吃灰安卓盒子到 7x24 家用 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
用 amlogic-s9xxx-armbian 项目,可以给 Amlogic S905 / S912 / S922X 芯片的电视盒子装一套基于 Debian 的 Armbian 系统,跑媒体服务、文件共享、Docker 容器,当开发机。本文面向有 Linux 基础、手里有闲置 S9xxx 盒子的读者。
阶段一 动手前:摸清底子
怎么确认设备在不在支持名单
改不改得动,看芯片不看外壳上的牌子。还在跑安卓的盒子,进 设置 → 设备信息 能看到型号;已连 ADB 的话两条命令直接出结果:
adb shell getprop ro.product.model adb shell getprop ro.product.board第一条输出产品型号,第二条输出板级代号,拿去和项目 README 里的 SoC-设备对照表比对。Beelink GT-King(s922x)、Tanix TX9 Pro(s912)、X96 Max+ 与 HK1 Box(s905x3)等都在名单里。
⚠️ s905 系列盒子目前只能走 TF/SD/USB 方式使用,还不支持写 eMMC;其余型号都能写 eMMC。选路线时别忽略这条。
按你的情况选安装路线
路线决策只看两点:能不能从 USB 启动,以及想不想动原系统。
| 你的情况 | 推荐路线 | 门槛 |
|---|---|---|
| 能从 USB 启动,要留回退余地 | U 盘启动,随后安装进 eMMC | 门槛最低,本文主线 |
| 无法 USB 启动,有线刷工具 | 先线刷 Android TV 过渡系统,再装 | 线刷会清空整块 eMMC,需要 USB Burning Tool 并短接触点 |
| 只想尝鲜,原系统碰都不碰 | 跑一个 Armbian Docker 容器 | 得有现成容器环境,还要手动建 macvlan 网络拿固定 IP |
⚠️ 凡涉及线刷的路线,都会抹掉设备原有系统数据。动手前先把重要分区备份出来。
下面只把门槛最低的 U 盘路线讲透。
阶段二 一次装对:从写盘到 eMMC 的最短路径
第 1 步:拿镜像。首选从项目 Releases 页面下载对应型号的预编译镜像。需要自编译(比如给冷门型号打包)才克隆仓库本地构建,方法见 内核编译文档:
git clone https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian💡 绝大多数情况用预编译镜像就够了,本地编译只留给要改内核或改配置的场景。
第 2 步:写 U 盘。Windows 下 Rufus 和 balenaEtcher 都能写,Rufus 记得切到 DD 模式;Linux / Mac 用 dd 一条命令解决,/dev/sdX 换成 U 盘实际设备节点:
sudo dd if=Armbian_*.img of=/dev/sdX bs=4M status=progress⚠️ 目标设备写错,那块盘的数据就没了。敲之前先用lsblk再确认一遍。
第 3 步:从 USB 启动盒子。U 盘插进盒子,接好 HDMI 和网线。初次安装一般得在安卓里触发 USB 启动:先开启开发者模式与 USB 调试,然后
adb connect <盒子IP> adb shell reboot update这条命令让盒子重启并优先从 USB/TF 引导。各厂商的具体手法在 使用文档 的 12.4 节有分步说明。
第 4 步:SSH 登录。系统起来后,从路由器 DHCP 列表(或 HDMI 屏幕)找到盒子 IP 再连:
ssh root@<盒子IP>默认账号 root,密码 1234,端口 22。
第 5 步:备份原系统。刚起来先别急着装,把 eMMC 里的原始安卓系统存一份:
armbian-ddbr按提示输入 b 执行备份,生成的/ddbr/BACKUP-arm-64-emmc.img.gz妥善保存。以后想回安卓,把文件放回原路径再输入 r 即可还原。
⚠️ 这是覆盖 eMMC 之前最后留后路的机会——下一步执行完,系统就只能靠这份备份找回来。
第 6 步:写入 eMMC。执行安装命令,按提示选型号,文件系统选 ext4:
armbian-install装完拔掉 U 盘重启,盒子此后直接从 eMMC 读系统,U 盘彻底解放。
阶段三 装完到能用:开机后的最小必做项
固定网络并扩存储
DHCP 的 IP 说变就变,先把地址固定下来。编辑/etc/network/interfaces,给 eth0 补上 address、netmask、gateway、dns-nameservers 四项静态配置:
vi /etc/network/interfaces然后按顺序跑三条:
armbian-install -a yes armbian-swap 2 armbian-apt第一条调用 ampart 把 eMMC 分区扩到满容量;第二条建 2GB 交换空间(参数单位是 GB);第三条换软件源,之后 apt 下载速度快得多。
💡 2GB 内存的小盒子,跑 Docker 前建议把 swap 建上;大内存设备可以跳过。
开端口之前先收紧安全基线
常年挂网的机器,先把门闩锁上再开窗:
- 改掉默认密码:
passwd root - 建一个普通用户:
adduser后授予 sudo 权限 - sshd_config 里把
PermitRootLogin改成 no - 上防火墙,只放行 22 和你真正要用的端口
apt install ufw ufw default deny incoming ufw allow ssh ufw enable按用途装你真要跑的东西
项目内置软件中心,先把本地列表更新一遍:
armbian-software -u常用用途的安装入口:
| 用途 | 安装入口 | 访问地址 |
|---|---|---|
| 媒体中心 | armbian-software -m install jellyfin | http://IP:8096 |
| 开发环境 | 跑 code-server 官方安装脚本 | http://IP:8080 |
| 智能家居网关 | docker run拉 home-assistant 镜像 | host 网络端口 |
要点:
- s905 系列芯片上 Jellyfin 可启用硬解,需改
/etc/jellyfin/jellyfin.conf - 文件共享直接 apt 装 samba 或 nextcloud
- code-server 装完执行
systemctl enable --now code-server@root - 目标不在列表里,先
armbian-software -l看看有哪些,再考虑 apt 直装
卡住了怎么办:按现象排查的三条线
排查跟着故障出现顺序走:先问起没起来,再问联不联网,最后看显示。
线 1:起不来 / 无画面
- 现象:通电黑屏,SSH 连不上
- 最可能原因:U 盘镜像没写对,或设备根本不支持 USB 启动
- 动作:镜像重做一遍,再换 U 盘、换 USB 2.0 口各试一次。设备不支持 USB 启动的,翻 使用文档 12.4 节「设置盒子从 USB/TF/SD 中启动」
线 2:网络异常
- 现象:系统起来了,但拿不到 IP 或出不了网
- 最可能原因:接口地址错、DHCP 不稳、dtb 和型号不匹配
- 动作:按接口、连通、路由、解析的顺序过这四条:
ip addr show ping 8.8.8.8 ip route show nslookup example.com接口在但 IP 不对,多半是 dtb 配错,从 boot 分区换匹配的 dtb 再试;地址干脆出不来的,改到阶段三配好的静态 IP。
线 3:显示不对
- 现象:HDMI 无画面或分辨率错乱
- 最可能原因:线材问题,或分辨率参数和显示器不匹配
- 动作:先换线,再改 boot 分区里 armbianEnv.txt 的分辨率参数(部分设备对应 uEnv.txt):
extraargs=video=HDMI-A-1:1920x1080@60还不行,用armbian-update把内核更到最新版再观察。
💡 提问之前,先过一遍 documents/README.cn.md 的「常见问题」章节,你要的答案大概率已经写好了。
让它一直跑:更新、备份、监控三个闭环
- 更新:
apt update && apt upgrade照常用;内核用armbian-update -k 6.1.y,带.y后缀会自动取该系列最新版。更新时当前内核会归档进 /ddbr/backup 并保留最近 3 份,新内核抽风用armbian-update -s回退。 - 备份:armbian-ddbr 已经兜住了 eMMC 原系统,再加一条 crontab,每晚把 /etc、/home、/root 打包压缩写到外接盘,配置丢了十分钟复原。
- 监控:
htop看实时负载和内存;netdata 开在 19999 端口看长期曲线;芯片温度读这个值,单位毫摄氏度,除以 1000:
cat /sys/class/thermal/thermal_zone0/temp做到这里,抽屉里那块板子就成了 7x24 在线的机器。建议一次只上一个用途,跑稳了再加下一个。
接下来可以试试:
- 给自己编译一个内核:跑
armbian-kernel -k 6.6.12,或把自定义补丁放进 compile-kernel/tools/patch/ - 读一读 内核编译文档,给其他型号打包镜像
- 做一次备份恢复演练,把
armbian-ddbr的 r 恢复流程走通
【免费下载链接】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),仅供参考