ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Amlogic S9xxx 电视盒子装 Armbian 完整教程:从吃灰安卓盒子到 7x24 家用 Linux 服务器

Amlogic S9xxx 电视盒子装 Armbian 完整教程:从吃灰安卓盒子到 7x24 家用 Linux 服务器

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 jellyfinhttp://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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进