本篇主要介绍电视盒子刷机并 root 后,刷入当贝桌面镜像。后又刷入 armbian 系统,并从 U盘启动 armbian,最后刷入 emmc。
之前有过了解树莓派,又贵配置又低。在了解电视盒子后,无论是 CPU 主频、核数、内存都香太多。最重要的是便宜、便宜、便宜。
各类Amlogic S905 的盒子,支持 ARM 64位架构【arrch64】,刷入 armbian 系统,可以当作一台常开的小服务器使用。并且各类 arrch64 应用非常多,开发工具也很多(Java、Python)。
电视盒子信息
魔百盒:CM311-1as ZG
CPU: 晶晨 Amlogic S905L3A
硬件信息:2G 内存 + 8GB emmc【2USB2.0 + 1 HDMI】
网络:百兆网口
无线网络:蓝牙 + 双频 WIFI(2.4G & 5G)
经过了解,推荐的电视盒子:
- 魔百盒 CM311-1as ZG 蓝牙&WIFI
- 魔百盒 CM311-1a-YST 蓝牙&WIFI
- E900V22C/D 蓝牙&WIFI
- M401A 蓝牙 不带WIFI
- M411A 蓝牙 无WIFI 唯一发现的2G+16G的配置
- UNT403A 蓝牙&WIFI
- UNT413A 蓝牙&WIFI
- ZTE-B863AV3.2-M, B863AV3.1-M2 蓝牙&WIFI
s905l3a-b 相对于 s905l3a 有杜比音效,其他无异,如果作为 armbian 则有无杜比其实无甚作用。
s905l3a 相对于 s905l3/s905l3b 等性能较强,网上有相关的评比。购买盒子建议选择:s905l3a 的U。
注意: s905l3a-b/s905l3a/s905l3b 分别是 3 个型号,一定要清楚。
电视盒子刷机,并 Root
电视盒子刷机
默认购买没有经过 root 的电视盒子,一般无法通过 adb 连接,也不能安装其他桌面 和 APP。需要先刷机,并 root。
不过各类品牌的电视盒子,root 的方法并不相同。可以再某鱼买盒子让店主来 root,这样省的自己去研究。
ADB,Root
之前做的,没有拍照记录下来。记得是 update.zip,recovery.zip, **.xml,刷机包, 放到 U盘 根目录下。U 盘格式化为 FAT32 格式,插入到电视盒子。
启动盒子疯狂按遥控器某键,进入 recovery 模式,选择 U 盘中的刷机包,开始刷机。
电视盒子刷入镜像
建议去买个刷机神器吧,不贵。如果非要去研究短接点,还需要螺丝刀、镊子等工具,重要的还能要看懂一些电路,找到短接点(各类盒子的电接点并不相同)。
短接的时候,手还要稳,一会短接一会掉了,无形中给自己制造了坑。
下面我就以刷机神器和双 USB 公头作为工具。
选中擦除 flush
选中擦除 bootloader
烧录完成后,点击停止按钮,再断开盒子 USB 和 关闭电源。
镜像烧录完成后,重新启动盒子,第一次启动时间较长一些,会自动进入系统【如当贝桌面】。进入系统后,可从网络设置中找到盒子的 IP 地址。 可在开心电视助手,通过 ip 远程连接到盒子。
可在开心电视助手远程看到盒子的画面,首页列举出盒子的硬件信息。
通过管理可远程安装 App。
现在可以通过盒子遥控器可以愉快的看电视了,或者安装各类 TV 应用看网络电视。纵享丝滑!
刷入armbian【岸边】Linux 系统
写入 armbian 镜像
armbian 系统地址:https://github.com/ophub/amlogic-s9xxx-armbian/ 可按照首页盒子类型选择镜像。如果盒子不再上述列表,可能目前还不支持,如果是列表中的 cpu 类型,可能需要一些爬坑,不适合小白刷机。
在看了上述支持列表,如果购买盒子,可按照列表中的选择,可以避坑。
armbian 系统下载地址:https://github.com/ophub/amlogic-s9xxx-armbian/releases
系统说明:
- noble: Ubuntu 24
- jammy: Ubuntu 22
- bookworm: Debian 12
- bullseye: Debian 11
armbian github编译的频率很高,根据观察基本每周一个编译版本。每个系统版本又有多个内核的适配版本,本次我选择的是:Armbian_24.11.0_amlogic_s905l3a_bookworm_6.6.63_server_2024.12.01.img.gz
制作U盘镜像,从 U盘启动 armbian
选择USB2.0 的U盘,或者选择采用mini SD卡,并用 SD卡读卡器作为 U盘(我就是这种方法,推荐)。
采用 rufus 或 balenaEtcher 制作U盘镜像。具体制作非常简单,网上有很多教程,这里就不赘述了。
写入 U 盘镜像后,用文本编辑器打开 uEnv.txt
文件,选择合适的 dtb 文件。
LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb/amlogic/meson-g12a-s905l3a-cm311.dtb
APPEND=root=UUID=f1cadcbc-139f-463c-afb1-11009939acda rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 max_loop=128 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1
再 dtb/amlogic
目录下找到适合盒子的 dtb 文件,修改 FDT
的值。
制作好 armbian U盘镜像,插入到离网口较近 的 USB 接口(网上的教程有这么要求,我没测试其他口是否可行,就不找麻烦了)。选择从 SD卡启动。
从 SD 卡启动系统有2中方式:
- 从开心电视助手,选择从 SD 卡启动。
- 从开心电视助手,安装U盘启动APK,然后用遥控器打开 APP 从 SD 卡启动;
从 SD卡启动前,最好先插入键盘,键盘建议选择 USB线键盘,不建议采用2.4G无线键盘,有的无法识别。
盒子上2个 USB 接口,一个插入键盘,一个插入 U 盘,另外接入 HDMI 显示器或者插上电视。然后盒子开机,开机后显示器会花屏几秒,然后进入 armbian 系统。
经过10多秒的字符滚动后,进入系统,首先是选择 shell 类型,可选择 bash
。然后是创建 root 的密码,从键盘输入。其他可以不用输入,直接 CTRL+C 跳过。
然后就可进入到 armbian 系统。
用户可输入 linux 命令进行操作,比如输入 neofetch
,查看系统信息。
刷入 emmc
当前 armbian是从 U 盘启动,并未写入到盒子上,因此重启后,系统就不是 armbian 了。需要执行命令写入到盒子的 emmc。
armbian-install
选择盒子类型,可在网上查询。
选择 emmc 文件系统类型,直接 ext4
即可。
等待约 2 分钟左右,系统刷入 emmc,然后 reboot
重启盒子。reboot
命令执行数秒后在显示器黑色时快速拔掉 U 盘,则从 emmc 正常重启。
或者: shutdown -h now
进行正常关机,然后从盒子上拔掉 U 盘,再重启电源进行重启。
重启后再次进入,需要输入登录账号 root 和密码。
进入系统后,可选择 apt update 等更新源。
apt update
可安装一些常用工具软件:
apt install vim curl git tree -y
apt install net-tools wireless-tools -y
armbian-config 系统配置
armbian 通过 armbian-config
进行系统各类配置。
armbian-config
The current Armbian 24.11.0 rebuild (bookworm) is supported.
Loaded Runtime variables...
Loaded Dialog...
Loaded Docs...
Loaded System helpers...
Loaded Network helpers...
Loaded Software helpers...
SSH远程进入 armbian
检查 sshd
服务是否正常。
netstat -an |grep 22
lsof -i tcp:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1504 root 3u IPv4 19243 0t0 TCP *:ssh (LISTEN)
sshd 1504 root 4u IPv6 19245 0t0 TCP *:ssh (LISTEN)
如果 22 端口正常,则可通过 ssh 工具远程登录系统。
如果没有 sshd 服务,则通过 apt 安装。
apt install openssh-server -y
systemctl restart sshd
删除armbian 系统,重新刷入其他镜像
体验了 armbian 系统后,如果想刷回当贝等系统,可直接删除 armbian 系统的引导分区(/boot)。
root@armbianserver:~# df -h
文件系统 大小 已用 可用 已用% 挂载点
udev 831M 0 831M 0% /dev
tmpfs 194M 5.6M 189M 3% /run
/dev/mmcblk2p2 6.2G 2.7G 3.5G 44% /
tmpfs 968M 0 968M 0% /dev/shm
tmpfs 5.0M 8.0K 5.0M 1% /run/lock
tmpfs 968M 36K 968M 1% /tmp
/dev/mmcblk2p1 510M 162M 349M 32% /boot
/dev/zram1 47M 624K 43M 2% /var/log
tmpfs 194M 0 194M 0% /run/user/0
## 删除 /boot 分区文件
cd /boot
rm -rfv *
删除了上述分区文件,电视盒子重启后无法进入系统。
然后采用双头 USB、刷机神器重新刷入电视盒子系统,则重新作为电视盒子使用。