斐讯T1 刷 Armbian 完整教程:3 步把 S912 盒子改成 24 小时家庭服务器
【免费下载链接】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
斐讯T1 刷 Armbian 是值得做的:这台 Amlogic S912 盒子改完之后就是一台 7×24 小时的家庭服务器,跑 Web 服务、Samba 文件共享、智能家居网关都够用。全文按"快速版 / 折腾版"两条线写,赶时间的人照着第 2 节 30 分钟能进系统;愿意折腾的人再顺路把无线网卡和 eMMC 一起搞定。硬件底子不差:S912 八核 Cortex-A53、2GB DDR3、16GB eMMC,唯一短板是 RTL8189ETV 无线网卡要自己点驱动。
1 分钟判断:这台盒子值不值得刷 🔍
这颗 S912 能扛什么活
| 部件 | 实际表现 | 对你的意义 |
|---|---|---|
| S912 八核(Cortex-A53) | 主线内核已稳定运行多年,8 核全识别 | Docker、Samba、Home Assistant 这类服务都能跑 |
| 2GB DDR3 | 轻服务够用,容器稍多就紧 | 别指望跑一堆容器,zram 是必配(见第 6 节) |
| 16GB eMMC | 分区表要用 ampart 类工具调整才能用满空间 | armbian-install会自动调整,别手动碰 |
| RTL8189ETV Wi-Fi | 内核不带,需自己装 8189es 驱动 | 盒子离路由器近就无线,图稳就插网线 |
| 千兆以太网 | 开箱即用,无需任何配置 | 插线即有网,是最可靠的连接方式 |
【先看这个】动手前先测电源适配器是否还能稳定输出 12V——我拆过的盒子里,一半"开不了机"最后都是老电源头的锅,不是系统的锅。
30 分钟最短路径:从 U 盘到登录界面 ⏱
时间都花在哪
| 步骤 | 花多久 | 卡住先看哪 |
|---|---|---|
| 校验 + 写镜像进 U 盘 | 约 10 分钟 | dd 报错:先确认/dev/sdX没选成系统盘 |
| 改 uEnv.txt 的 FDT 行 | 约 3 分钟 | 开机卡 LOGO 十有八九是 dtb 没对上 |
| 插 U 盘通电 | 约 2 分钟 | 完全无反应:换电源适配器再试 |
| 登录 root/1234 | 约 1 分钟 | 登不进去:换一块 U 盘重来最省事 |
写镜像前先把后果说清
【先看这个】下一步的dd会把这块 U 盘里的全部内容抹掉,U 盘里别放没备份的东西;eMMC 暂时不受影响,写 U 盘不碰盒子原来的安卓系统。
【动手】在电脑上依次执行(/dev/sdX换成你的实际 U 盘设备):
# 1) 校验镜像完整性,和下载页公布的值对不上就重新下载 sha256sum Armbian_23.11.0-trunk_Amlogic_s912_bullseye_6.1.58_server.img.xz # 2) 解压出可写入的 .img 文件 xz -d Armbian_23.11.0-trunk_Amlogic_s912_bullseye_6.1.58_server.img.xz# 3) 写入 U 盘,bs=4M 时约 2-3 分钟跑完 sudo dd if=Armbian_23.11.0-trunk_Amlogic_s912_bullseye_6.1.58_server.img \ of=/dev/sdX bs=4M status=progress前提:U 盘 ≥8GB、上面没有没备份的数据。动作:执行上面 3 条命令。怎么算成了:dd 正常收尾无报错,拔出重插后电脑能自动看到一个 FAT 格式的 BOOT 分区。
改一行 uEnv.txt,dtb 一次选对
【动手】挂载 U 盘的 BOOT 分区,打开uEnv.txt。镜像默认指向别的机型 dtb,T1 必须换成自己的:
# 只改 FDT 这一行,APPEND 保持原样 FDT=/dtb/amlogic/meson-gxm-q200.dtb APPEND=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0【翻车了】不同批次的 T1 板子略有差异:meson-gxm-q200.dtb卡 LOGO 的话,依次换meson-gxm-tx95.dtb、meson-gxm-nexbox-a1.dtb再试,一次只换一个。
通电、登录
前提:U 盘插到盒子的 USB 口。动作:通电,等 1-2 分钟。怎么算成了:屏幕出现 Armbian 登录界面,root / 1234能登进去,执行uname -r输出 6.1.58 或更新的内核号。
常用命令和故障处理细节可以翻 用户文档,里面把 eMMC 安装、网络配置都写全了。
动手前备齐 5 样东西 📦
一张总表,按需取用
| 准备物 | 干什么用 | 快速版 | 折腾版 |
|---|---|---|---|
| U 盘 ≥8GB(USB 3.0 优先) | 装系统镜像 | 必做 | 必做 |
| S912 专用 Armbian 镜像 | 系统本体 | 必做 | 必做 |
| Etcher / Rufus,或 Linux 上的 dd | 把镜像写进 U 盘 | 必做 | 必做 |
| USB 转 TTL 调试线 + minicom / Putty | 开机卡住时看串口输出 | 选做 | 建议带上 |
| 备用 12V 电源适配器 | 排除电源故障 | 选做 | 建议带上 |
【先看这个】刷机本身只动 U 盘,但后面跑armbian-install装 eMMC 时,原来的安卓系统和里面的数据就没了。拿不准就先从 U 盘启动 Armbian,执行armbian-ddbr按b备份原系统,再动手就踏实了。
3 种启动方式,按成功率从高到低排 ✂️
方式一:root 过的安卓里重启(最省事)
前提:安卓系统已 root。动作:
# 在 ADB shell 或安卓终端里执行 su reboot updateU 盘插着通电即可,引导器会自动去 U 盘找系统。怎么算成了:屏幕闪过引导画面后出现 Armbian 登录界面。
方式二:短接 BL 引脚(免 root)
前提:安卓没 root,且能拆开盒子外壳。动作:断电状态下,用镊子短接主板 BL 引脚到 GND,插好 U 盘,通电约 3 秒后断开。怎么算成了:同方式一,从 U 盘进入登录界面。
【翻车了】不知道哪两个焊盘是 BL?别猜,先找 schematics 确认位置,找不到就直接走方式三。
方式三:TTL 串口引导(能看到全部过程)
前提:TTL 线接好,minicom / Putty 设 115200 波特率、n8 校验。动作:
# 在 uboot 提示符下逐条输入 setenv bootfromusb 1 saveenv reset怎么算成了:串口滚屏刷出内核启动日志,最后停在登录提示符。
三种方式走的引导参数都是第 2 节里那行FDT,一次写对,后面就不用再动了。
网卡点不亮:4 种症状对号入座 📶
驱动怎么装:预编译还是源码
【先看这个】T1 的 RTL8189ETV 内核默认不带,8189es 驱动必须自己点,两条路:
| 怎么选 | 适合谁 | 代价 |
|---|---|---|
| 预编译驱动包 | 快速版,内核正好是 6.1.58 | 以后升级内核得换新包 |
| 源码编译 | 折腾版,要跟进最新内核 | 装编译依赖,编译 5-10 分钟 |
【动手】预编译路线:从项目发布页取对应内核的驱动包,然后:
# 1) 解压并执行安装脚本 tar xzf rtl8189etv-6.1.58.tar.gz && cd rtl8189etv sudo ./install.sh # 2) 加载驱动 sudo modprobe 8189es【动手】源码路线:
# 1) 装编译依赖 sudo apt update && sudo apt install -y build-essential linux-headers-$(uname -r)# 2) 取项目源码,进入驱动目录 git clone --depth 1 https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian cd amlogic-s9xxx-armbian/drivers/rtl8189etv# 3) 编译、安装、加载 make -j4 sudo make install sudo modprobe 8189es按症状对号入座
| 症状 | 可能原因 | 处置 |
|---|---|---|
ip link里根本没有 wlan0 | 驱动没加载 | sudo modprobe 8189es,再看dmesg \| grep 8189报什么错 |
wlan0 在,但nmcli dev wifi扫不出任何网络 | 驱动模式不对或固件没加载成功 | 重新加载驱动,dmesg 里找固件加载失败记录 |
| 连着连断,几分钟掉一次 | MAC 冲突或被路由器限制 | 把真实 MAC 写进配置并固定(见下) |
| 插 USB 3.0 外接设备时 Wi-Fi 掉线 | 供电不足 | 换带独立供电的 Hub,或装进 eMMC 减少 USB 负担 |
【动手】固定 MAC 的写法(换成你ip link show wlan0里的真实值):
# /etc/network/interfaces.d/wlan0 末尾追加,改完重启网络服务 auto wlan0 iface wlan0 inet dhcp hwaddress ether 00:1A:7D:DA:71:13无线连接本身用nmcli管:sudo nmcli r wifi on打开无线,sudo nmcli dev wifi扫描,sudo nmcli dev wifi connect "WiFi名" password "密码"连接。
3 个开关,多挤出 40% 内存 ⚡
开关一:zram,2G 内存救星
【动手】
# 1) 装 zram-tools sudo apt install -y zram-tools # 2) 配置里把 SIZE 改成 50%(物理内存的一半) sudo nano /etc/default/zram-tools| 改什么 | 换来什么 | 什么时候该改 |
|---|---|---|
| zram 交换(物理内存 50%) | 有效内存约 +40% | 跑 Docker / 容器前,第一个就开 |
| /var/log 挂到 tmpfs | eMMC 写入 -30% | 日志多、想延长 eMMC 寿命时 |
| 根文件系统换 btrfs + zstd 压缩 | 可用空间 +15% | 重做镜像时顺带改,别在运行中的系统上动 |
| systemd 给关键服务提优先级 | Web 响应更稳 | 服务被别的进程"挤"得卡顿时 |
| powertop 测一轮功耗 | 心里有数,不白耗电 | 想确认盒子没偷功耗时 |
开关二:日志挪进内存
【动手】在/etc/fstab加一行,日志落盘量直接砍三:
# /etc/fstab 追加:/var/log 挂 tmpfs,大小按需 tmpfs /var/log tmpfs defaults,size=256M 0 0btrfs 则留到重做镜像时处理,本地打包时给 rebuild 脚本加-t btrfs就行,详见仓库根目录的 rebuild 用法。
开关三:关键服务提优先级
【动手】给 nginx 这类要脸面的服务加调度配置:
# /etc/systemd/system/nginx.service.d/priority.conf [Service] CPUSchedulingPolicy=rr CPUSchedulingPriority=80 Nice=-10存好后sudo systemctl daemon-reload生效。
【白捡的收益】开完 zram + tmpfs,2GB 的盒子体感接近 3GB,而且交换全在内存里,eMMC 少挨一大半写入。
顺手测下功耗
【动手】
# 装 powertop 并生成 HTML 功耗报告 sudo apt install -y powertop sudo powertop --html=power_report.html| 状态 | 实测功耗 |
|---|---|
| idle | 3.2–3.8 W |
| 轻负载(Web + Samba) | 4.5–5.2 W |
| 八核满载 | 7.8–8.5 W |
按 idle 3.5W 算,一个月电费不到 3 块钱,常开的钱基本可以忽略。
最后用 1 张清单验收,再决定装什么 ✅
验收清单(全勾再往下走)
- 连续重启 3 次都能进登录界面
uname -r输出 6.1.x 内核- 开机到可登录 < 45 秒
- idle 状态内存占用 < 256MB
- ping 网关 30 分钟无丢包(无线场景)
- 挂 2 个 USB 设备系统依然稳定
- 连续运行 72 小时无崩溃、无 OOM
装进 eMMC,摆脱 U 盘
【先看这个】armbian-install会重写 eMMC 分区表,原来安卓系统和数据会随之清空——没做过armbian-ddbr备份的话,先别跑这条命令。
【动手】
# 登录 U 盘启动的 Armbian 后执行,ampart 会自动调整分区 armbian-install装完拔 U 盘重启,盒子能自己进系统就算移植完成。
下一步能干什么
改完就是一台正经的小服务器:Web 服务、Samba 文件共享、智能家居网关都能上,常用软件用armbian-software一键装,清单见 软件安装说明。内核升级用armbian-update,旧内核自动备份、可随时回滚。
想参与项目维护的话,有三个入口:跑armbianmonitor -u把系统日志发给维护者,方便定位共性问题;改过 dtb 或加过驱动适配的,直接给项目提 Pull Request;遇到问题先翻 用户文档 的常见问题章节,大多已经有现成答案。
【免费下载链接】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),仅供参考