在电视盒子上运行 Armbian 系统
目前大部分的电视盒子,本质上都是一台安装了 Android 系统小主机,并且都采用的是 Arm 的 CPU,通常是“2G内存+8G存储”、“2G内存+16G存储”的配置。尽管存储不大,但是内存足以支撑一些简单的应用程序,而且电视盒子功耗很低(待机在1.5W到2W之间)。在二手交易市场上,电视盒子的售价大约在50元到60元左右,硬件成本相当低。而对于大容量存储需求,还可以通过 USB 接口接入其他存储设备(虽然很可能是 USB 2.0 接口,读写速度很慢)。可以说,在一些场景下,使用电视盒子跑 Linux 服务器,性价比很高了。
在网上的可以容易地找到给电视盒子刷机的文章,但是散落在各种网盘网盘里的镜像是否安全,是存疑的。幸运的是,开源社区中有比较受欢迎的系统镜像和相关工具,对于特定的硬件配置,可以很容易地在电视盒子上安装 Armbian 系统;理论上来说,那些有很多用户的开源项目,出现恶意后门的概率相对少一些吧。ophub/amlogic-s9xxx-armbian 就是一个支持在 Amlogic(晶晨),Rockchip 和 Allwinner 盒子构建 Armbian 系统的开软项目。给盒子刷机有很多中方法,本文简要记录一次真实的刷机过程。
ophub/amlogic-s9xxx-armbian 🔗
ophub/amlogic-s9xxx-armbian 是在 Github 上的热门开源项目。其文档列出了其所支持的芯片和设备等列表。如果要刷机,那么务必确保电视盒子在其所支持的设备列表之中。
刷机过程 🔗
物料准备 🔗
- 电视盒子和遥控器:中国移动的“智能机顶盒”,型号
ZXV10 B863AV3.1-M2
,制造商为中兴通信;遥控器很重要,用来触发从U盘启动。 - U盘:网上很多人刷机挑 U 盘,必须是 USB2.0。但实测使用 USB3.0 是可以的。
- 电视机或者显示器。
- HDMI 视频线,用于连接电视盒子与电视机或者显示器。
检查电视盒子是否能正常工作 🔗
给电视盒子通电,然后插入HDMI视频线。确保电视盒子能正常开机。
如果连接的是电脑显示器,那么务必要先开机,然后再插入HDMI数据线;否则显示器一直是黑屏。据说插入电视机的话,在开机时HDMI数据线是否插入没有任何影响,但没有验证过。
如果电视盒子是原装系统,那么可能要使用拆机短接,或者使用“免拆短接HDMI刷机神器”(可在某宝购买)等方法。如果已经被刷入第三方 Anroid 系统,可能已经有了“从U盘启动”的应用,那么就会更简单。
将系统写入 U 盘 🔗
在 Releases 页面,找到电视盒子芯片对应的系统镜像。下载后的文件是 img.gz
,不需要解压。比如,目前最新的发布版本是 Armbian_24.11.0_amlogic_s905l3a_noble_6.1.112_server_2024.10.02.img.gz
和 Armbian_24.11.0_amlogic_s905l3a_noble_6.6.53_server_2024.10.02.img.gz
,选二者之一即可。
使用 Balena Etcher 将系统镜像写入 U 盘。在选择镜像是,直接选择 img.gz
文件,它会自动解压并写入。
从 U 盘启动系统 🔗
经验证,以下两种方法均可从U盘启动。
使用 Android 系统里的“切换系统”应用 🔗
一些已经刷入第三方 Android 系统的盒子里,包含了可用于从U盘启动的应用,比如“切换系统”、“卡载系统”等应用。有了它,就让生活变得简单了:
- 启动电视盒子,连接HDMI线。
- 将 U 盘插入电视盒子。
- 打开“切换系统”应用,确认切换系统。
- 等待盒子重启。重启后,就会从U盘启动系统。
使用遥控器 🔗
这里就是见证奇迹的时候了。
如果显示设备是电脑显示器,那么:
- 将 U 盘插入电视盒子。这个盒子有2个USB口,将其插入靠近 HDMI接口 的 USB 口上。
- 按下电视盒子上的开关按钮,立即按下遥控器中“右方向键”不松手(页有人说每秒按三次,不能快也不能慢),其实此时遥控器会连续给电视盒子发送信号。由于此时还没有插入显示器,因此多按一会儿。
- 插入 HDMI 视频线,看看盒子是否从U盘启动了 Armbian 系统;如果足够幸运,那么 Armbian 此时就从U盘启动了。如果没有,那么断电,拔下 HDMI 视频线,再从第2步开始重新尝试。
如果显示设备是电视机,那么可以把 HDMI 视频线一直插在盒子上,这样就能及时看到进度了。所以,如果有条件,尽可能连接电视机刷机。
经测试,“中兴B863AV3.1-M2”和“创维E900V22C”盒子,都可以使用遥控器从U盘启动。
另:经测试,“创维E900V22C”在通电后,持续按“左方向键”,会进入系统更新/升级界面;持续按“右方向键”,就从U盘启动。但是要注意,尽管可以从U盘启动 Armbian 系统,但是可能无法将系统写入到 eMMC 中(
Failed to partition internal eMMC using [ parted ].
)。有人提到这可能是 dtb 频率太高导致的,参见议题 《创维E900V22D刷写emmc失败》。
备份 Android 系统(可选) 🔗
从U盘启动了 Armbian 之后,可备份现有的系统,以便以后想刷回电视盒子系统。ophub/amlogic-s9xxx-armbian
项目提供了备份/还原 EMMC 原系统 的方法和相关的工具。
将系统写入电视盒子中 🔗
按照《安装 Armbian 到 EMMC》,将系统写入电视盒子了。其实也只有两步:
- 使用用户名
root
和1234
登录系统。 - 执行
armbian-install
安装。
注意:在安装过程中,可能需要选择或者确认设备,可参考 《支持的设备列表说明》。由于电视盒子型号是
B863AV3.1-M2
,那么找到MODEL
中包含B863AV3.1
的条目,而此条目的SOC
是s905l3a
,正好是芯片型号。那么是这条设备条目无疑了。
安装完成后,输入 poweroff
关闭系统,此时盒子的指示灯会从绿色变成红色(或者橙色)。然后拔掉 U盘,断电再重新通电,此时 Armbian 系统若能正常启动,那么说明系统已经写入电视盒子了,以后就不需要使用 U 盘了。
配置系统 🔗
接下来就是配置系统了,比如修改密码、修改主机名,安装其他软件和工具。
安装软件注意事项 🔗
S9xxx都是 Arm 64位芯片,因此在安装软件时,需要选择 64 位的版本,或者 ARMv8 版本。