闲置电视盒子刷 Armbian:三步装好、半小时配齐,变家用的 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
先说结果:把 S905、S912、S922X 电视盒子上的安卓换成 Armbian(基于 Debian 的 Linux 发行版),盒子就成了能跑 Jellyfin、文件共享、Docker 容器的家用服务器。动手的工具是 amlogic-s9xxx-armbian 项目,它提供预编译镜像和一键安装命令。本文按顺序交代四件事:判兼容、写盘、首启半小时配置、长期跑。
动手前的三个判断:型号、启动路线、原系统
这节解决"该不该动手、从哪条路动手",三个判断都过了再碰 U 盘。
判断一:SoC 在不在支持名单里。决定因素是盒子内部的 SoC 芯片型号,外壳印的牌子不算数。安卓还开着时进"设置-设备信息"看型号,或者用 ADB 查板级代号:
adb shell getprop ro.product.model adb shell getprop ro.product.board拿到代号去 README 的设备表里对:X96 Max+(S905X3)、Tanix TX9 Pro(S912)、Beelink GT-King(S922X)都查得到就稳。
⚠️ S905 系列目前只能跑在 TF/SD/USB 上,写不了 eMMC;其他型号都能落盘 eMMC。
判断二:启动走哪条路。走 A 还是 B,看盒子支不支持从 U 盘引导:
| 你的情况 | 路线 | 代价 |
|---|---|---|
| 支持 USB 启动 | U 盘引导进系统,再写入 eMMC | 最低,本文主线 |
| 不支持 USB 启动 | 用 USB Burning Tool 线刷一个过渡系统 | 线刷会清空 eMMC,需短接触点 |
| 不想碰原系统 | 在现有环境里跑 Armbian Docker 容器 | 要自备容器宿主,还要配 macvlan 拿固定 IP |
判断三:动不动原系统。只要决定覆盖 eMMC,回退手段就得提前留:在 TF/SD/USB 引导的 Armbian 里执行armbian-ddbr,按提示输入 b 把 eMMC 里的原安卓整份备份,将来输入 r 就能整份恢复。
⚠️ 备份没做之前,不要执行任何写入 eMMC 的操作。
一次装完:镜像落 U 盘、首启登录、写 eMMC
这节把系统从下载做到落盘,三段各只留最短命令。
- 镜像与写入。从项目 Releases 页下载对应型号的预编译镜像;想自己编译就克隆仓库本地做:
git clone https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian写 U 盘:Windows 用 Rufus(选 DD 模式)或 balenaEtcher,Linux/Mac 直接 dd:
sudo dd if=Armbian_*.img of=/dev/sdX bs=4M status=progress- 首启登录。U 盘插盒子,HDMI 和网线都接上,按各品牌的方法进 USB 启动模式(做法见使用文档的对应章节)。起来后 SSH 进系统:
ssh root@<盒子IP>账号 root,密码 1234,端口 22。
- 落盘 eMMC。一条命令,按提示选自己的型号,文件系统选 ext4:
armbian-install完成后拔掉 U 盘,盒子从 eMMC 直接启动 Armbian。
首启后的半小时:静态 IP、扩分区、安全基线
这节把网络、存储、安全三件事按顺序一次做完,之后开端口才不心慌。
前 10 分钟,固定网络。DHCP 分配的 IP 会变,编辑 /etc/network/interfaces,给 eth0 加 address、netmask、gateway、dns-nameservers 四行静态地址,重启网络生效。
接下来,存储三命令:
armbian-install -a yes armbian-swap 2 armbian-apt第一条借 ampart 把 eMMC 分区扩到满盘;第二条建 2GB 交换空间,参数单位是 GB;第三条切换 apt 软件源,下载速度快一个量级。
💡 内存只有 2GB 的盒子,swap 建议保留;4GB 以上可跳过。
收尾,安全基线四条: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 |
| 文件共享 | apt 装 samba 或 nextcloud | SMB 或 Web 端口 |
| 智能家居网关 | docker run 拉 home-assistant 容器 | 容器映射端口 |
默认深挖媒体或开发其一:
- 媒体:S905 系列盒子给 Jellyfin 开硬件解码,改 /etc/jellyfin/jellyfin.conf 里的配置段,转码负载明显下降。
- 开发:code-server 装完执行
systemctl enable --now code-server@root,开机自启,浏览器里就是一台远程开发机。
💡 软件中心里没找到的,先armbian-software -l看全量列表,再考虑 apt 直装。
排障顺序:先屏幕、再网络、后内核
出问题时按"画面能不能出、网通不通、系统稳不稳"三段查,别跳段。
第一段,屏幕。无画面先换 HDMI 线;还不行改 /boot/armbianEnv.txt 的分辨率参数再试:
extraargs=video=HDMI-A-1:1920x1080@60系统根本没起来的话,怀疑 U 盘镜像:重做盘、换 U 盘、换 USB 2.0 口,各试一次。
第二段,网络。四条命令依次敲,分别查接口、连通、路由、域名解析:
ip addr show ping 8.8.8.8 ip route show nslookup example.com接口在但拿到的地址不对劲,多半是 dtb 与硬件不匹配,去 boot 分区换对应型号的 dtb。
第三段,内核与系统。更新内核后出现抽风,回退:
armbian-update -s💡 大多数故障在 documents/README.cn.md 的常见问题章节已有答案,先翻再问。
长期在线:更新、备份、监控三个闭环
这节让盒子脱离人也能一直跑,每个闭环一条命令或一段 crontab 就够。
更新。系统层面apt update加apt upgrade照旧;内核用:
armbian-update -k 6.1.y带 .y 后缀会自动取该系列最新版本。每次更新前的旧内核备份在 /ddbr/backup,保留最近 3 个版本,随时可回。
备份。eMMC 原系统那一层有 armbian-ddbr 兜底;再加一条 crontab,每晚把 /etc、/home、/root 打包压缩传到外接盘,配置丢了十分钟能复原。
监控。实时负载和内存看 htop;长期曲线开 netdata,网页在 19999 端口。芯片温度读这个文件,单位毫摄氏度,除以 1000 就是摄氏度:
cat /sys/class/thermal/thermal_zone0/temp交接前三项确认,加三个延伸动作
交接前逐条过:
- 用固定 IP SSH 进盒子有响应,拔掉 U 盘重启后照常从 eMMC 起来
- ufw 处于 active,root 默认密码已改掉
- 每晚的备份 crontab 已经跑过至少一次,外接盘上能看到压缩包
三条都成立,这台机器就算正式离开抽屉了。往下可以做的三件事:
- 给自己编译一个内核:
armbian-kernel -k 6.6.12,自定义补丁可参考 编译内核说明 - 给其他型号打包镜像,读同一份编译说明再动手
- 做一次 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),仅供参考