电视盒子 E900V22C S905L3A 备份镜像并安装 Armbian Linux
摘要
- 介绍 Armbian 系统的基本知识;选择 Linux 内核和发行版本;下载和烧录系统镜像;开启电视盒子 ADB 功能;获取分区表和备份镜像;从 U 盘启动和安装 Armbian 系统;解决启动、安装、恢复系统过程中的问题;进行初次配置;说明 E900V22C TF 卡相关元器件的参数。
背景说明
- Armbian 系统是基于 Debian/Ubuntu 而构建的专门用于 ARM 芯片的轻量级 Linux 系统。兼容并继承了 Debian/Ubuntu 系统的功能和丰富的软件生态,可以安全稳定地运行在 TF/SD/USB 及设备的 eMMC 里。
- Armbian 系统支持在使用 TF/SD/USB 启动时对电视盒子的 eMMC 分区进行备份和恢复。
- Ubuntu 软件包更新速度快,主流版本为 Jammy(22.04) 和 Noble(24.04)。
- Debian 软件包相对更稳定,主流版本为 Bullseye(11) 和 Bookworm(12)。
操作步骤
烧录 Armbian 系统镜像
选择 Linux 内核
- 查看 Linux 内核的支持状态,访问 The Linux Kernel Archives 网页。

- 查看 Armbian 系统可用的 Linux 内核,访问 kernel/README.cn.md at main · ophub/kernel 网页。

- 查看 Armbian 发布的 Amlogic S9xx 电视盒子的服务器镜像,访问 Amlogic S9xx TV Box - Armbian 网页。

- 综合以上三个网页的信息,建议选择版本为 5.15 或 6.12 的内核。
下载 Armbian 镜像
- 前往发布 S9xxx 电视盒子 Armbian 系统的 Releases · ophub/amlogic-s9xxx-armbian 网页。
- 找到 Armbian_jammy 发行版,点击 Assets。
- 搜索基于 amlogic_S905l3a 的系统镜像文件。
- 下载需要的系统镜像文件。建议使用加速源下载以加快下载速度。

烧录 Armbian 镜像
- 在电脑插入一个大于 8GB 的 U 盘。
- 将下载完成后的
.img.gz格式的镜像文件解压为.img格式。 - 下载并打开 Rufus 软件。
- 在 设备 中选择要烧录镜像的目标 U 盘。
- 在 引导类型选择 中选择 镜像文件 ,点击 选择 按钮。
- 在弹出的 打开 对话框中选择要烧录的
.img格式的镜像文件,点击 打开 按钮。 - 点击 开始 按钮,等待 Armbian 系统镜像烧录完成。

获取分区表并备份分区镜像
开启电视盒子 ADB 功能
- 将电源线和网线插入电视盒子,安装并打开 电视应用管家 软件。
- 选择 实验室 后按确认键。

- 选择 永久开启无线adb 或 临时开启无线adb 后按确认键。

通过 ADB 连接电视盒子
- 在电视盒子的 ADB 功能开启的情况下,在电脑打开 开心电视助手 软件。
- 在软件中点击 首页 面板,在 登录 功能区中的 设备 IP 地址 后的输入框中输入在路由器中查到的电视盒子的 IP 地址,端口保持默认,点击 连接 按钮。

获取安卓 TV 系统分区表
- 在电脑已通过 ADB 连接到电视盒子的情况下,在开心电视助手软件中点击 首页 面板,在 常用操作 功能区中点击 AdbShell 按钮,在弹出的窗口中执行命令。
- 显示块设备目录的目录内容列表以查看分区信息,执行
ls -al|grep 179|sort -t6 /dev/block命令。块设备分区中需要关注的内容为 主设备号 和 子设备号 以及 分区名称。其中的grep命令用于筛选匹配指定正则表达式的行;其中的sort命令用于对文本中所有的行进行排序。

- 如果需要进一步查看系统信息中的分区信息,可以执行以下命令。
- 对于 MTD 设备查看分区信息,执行
cat /proc/mtd命令。信息项为 设备编号、分区大小、擦除大小 和 分区名称。 - 对于 eMMC 设备查看分区信息,执行
cat /proc/emmc命令。信息项为 设备编号、分区大小、擦除大小 和 分区名称。 - 对于 MMC 设备查看分区信息,执行
cat /proc/partitions命令。信息项为 主设备号、子设备号、分区大小 和 分区编号。
- 对于 MTD 设备查看分区信息,执行
- 如果需要查看 分区编号 和 分区名称 之间的对应关系,可以执行
ls -al /dev/block/by-name命令。
备份电视盒子分区镜像
- 通过软件插件备份分区镜像。在电脑已通过 ADB 连接到电视盒子的情况下,在开心电视助手软件中点击 插件 面板,在 晶晨芯片 插件列表中双击 备份固件 插件。备份完成后,固件存放在开心电视助手软件根目录下的backup目录中。

- 通过手动操作备份分区镜像。其中
data分区和cache分区无需备份。-
在开心电视助手软件中点击 首页 面板,在 常用操作 功能区中点击 AdbShell 按钮,根据获取的分区表信息,在弹出的窗口中执行以下命令。
dd if=/dev/block/bootloader of=/sdcard/backup/bootloader.img dd if=/dev/block/reserved of=/sdcard/backup/reserved.img dd if=/dev/block/env of=/sdcard/backup/env.img dd if=/dev/block/logo of=/sdcard/backup/logo.img dd if=/dev/block/recovery of=/sdcard/backup/recovery.img dd if=/dev/block/misc of=/sdcard/backup/misc.img dd if=/dev/block/dtbo of=/sdcard/backup/dtbo.img dd if=/dev/block/cri_data of=/sdcard/backup/cri_data.img dd if=/dev/block/param of=/sdcard/backup/param.img dd if=/dev/block/boot of=/sdcard/backup/boot.img dd if=/dev/block/rsv of=/sdcard/backup/rsv.img dd if=/dev/block/metadata of=/sdcard/backup/metadata.img dd if=/dev/block/vbmeta of=/sdcard/backup/vbmeta.img dd if=/dev/block/tee of=/sdcard/backup/tee.img dd if=/dev/block/odm of=/sdcard/backup/odm.img dd if=/dev/block/product of=/sdcard/backup/product.img dd if=/dev/block/vendor | busybox gzip -4 > /sdcard/backup/vendor.img dd if=/dev/block/system | busybox gzip -4 > /sdcard/backup/system.img -
在开心电视助手软件中点击 管理 面板,在 下载文件到本地 功能区中,在 文件保存位置 后的输入框中,输入电脑保存电视盒子分区镜像的位置,在 要下载的文件 后的输入框中,输入
/sdcard/backup目录,最后点击 下载 按钮。

-
获取分区表并备份全盘镜像
- 在电脑已通过 ADB 连接到电视盒子的情况下,将烧录好系统镜像的 U 盘插入电视盒子靠近电源接口侧的 USB 接口。
- 在开心电视助手软件中点击 调试 面板,在 晶晨芯片 功能区中点击 从U盘/SD卡启动 按钮。

- 通过 SSH 登录 Armbian 系统。打开终端连接工具软件,协议 选择 SSH2,主机名 为在路由器中查到的电视盒子的 IP 地址,端口 为默认的
22,点击 连接 按钮 。默认用户为root,默认密码为1234。

- 连接并登录电视盒子的 Armbian 系统后,重新设置
root用户的密码,选择默认的系统命令shell为bash,按 Ctrl + C 键跳过创建新用户账户。 - 获取安卓 TV 系统分区信息,包括 DTB 分区信息和 eMMC 分区信息,执行
ampart /dev/mmcblk2 --mode webreport 2>/dev/null命令。复制输出的链接到浏览器打开即可查看详细分区信息。


- 备份 eMMC 全盘镜像,执行
armbian-ddbr命令。在之后的选项选择中输入b后按 Enter 键以备份系统镜像,等待电视盒子的安卓 TV 系统备份完成。

- 通过 SFTP 登录 Armbian 系统。打开文件传输工具软件,协议 选择 SFTP,主机名 为在路由器中查到的电视盒子的 IP 地址,端口 为默认的 22 ,点击 连接 按钮 。用户名为默认用户
root,密码为新设置的密码。 - 连接并登录电视盒子的 Armbian 系统后,将
ddbr目录下的BACKUP-arm-64-emmc.img.gz文件下载到电脑保存电视盒子 eMMC 镜像的位置。
写入 Armbian 系统到电视盒子
-
通过 SSH 连接并登录 Armbian 系统。

-
安装 Armbian 系统到电视盒子的 eMMC 块设备,执行
armbian-install命令。在之后的选项选择中,输入304后按 Enter 键以选择对应的 DTB 文件,输入1后按 Enter 键以选择ext4文件系统类型,在此之后开始安装,等待安装完成。

-
如果系统镜像写入 eMMC 块设备时出现错误,则需要通过修改
dtb文件来调整 eMMC 的工作速度和频率。-
在 eMMC 中存在安卓 TV 系统时出现的错误信息。
[ STEPS ] Successfully partitioned internal eMMC with amaprt. [ INFO ] Start create MBR and partittion. Error: Input/output error during write on /dev/mmcblk2 Error: /dev/mmcblk2: unrecognised disk label Error: /dev/mmcblk2: unrecognised disk label [ ERROR ] Failed to partition internal eMMC using [ parted ]. -
在 eMMC 中存在 Armbian 系统时出现的错误信息。
[ INFO ] Delete the existing [ 2 ] partitions. Error: Input/output error during write on /dev/mmcblk2 [ ERROR ] Failed to delete partition [ 1 ]. Please try again.
-
安装依赖,执行
apt-get install -y device-tree-compiler命令。 -
切换到 Amlogic 芯片的
dtb文件所在目录,执行cd /boot/dtb/amlogic命令。 -
反编译 dtb 文件(由 dtb 文件生成 dts 源码),执行下列命令。
dtc -I dtb -O dts -o meson-g12a-s905l3a-e900v22c.dts meson-g12a-s905l3a-e900v22c.dtb -
通过 SFTP 连接并登录 Armbian 系统后,将
/boot/dtb/amlogic目录下的meson-g12a-s905l3a-e900v22c.dts文件下载到电脑保存电视盒子相关文件的位置。 -
降低 MMC 块设备的工作频率。打开
meson-g12a-s905l3a-e900v22c.dts文件,以max-frequency为关键词定位 MMC 块设备参数配置所在位置。- 如果初次写入失败,将
mmc@ffe07000中的max-frequency参数的值0xbebc200修改为mmc@ffe05000中的max-frequency参数的值0x2faf080。 - 如果依旧写入失败,将
mmc@ffe07000中的max-frequency参数的值0x2faf080修改为mmc@ffe03000中的max-frequency参数的值0x5f5e100。

- 如果初次写入失败,将
-
通过 SFTP 连接并登录 Armbian 系统后,将修改后的
meson-g12a-s905l3a-e900v22c.dts文件上传到/boot/dtb/amlogic目录下。 -
编译 dts 文件(由 dts 源码生成 dtb 文件),执行下列命令。
dtc -I dts -O dtb -o meson-g12a-s905l3a-e900v22c.dtb meson-g12a-s905l3a-e900v22c.dts -
保存数据并重启 Armbian 系统,执行
sync && reboot命令。 -
通过 SSH 连接并登录 Armbian 系统后,执行
armbian-install命令。

-
配置 Armbian 系统
- 更换 Armbian 系统的软件源,执行
armbian-apt命令。在之后的选项选择中输入1后按 Enter 键以切换软件源为清华源。

- 更新 Armbian 系统的软件列表信息,执行
apt update命令。
注意事项
-
对于已安装 Armbian 系统后无法从 U盘/TF/SD 启动的问题。
- 进入 eMMC 中的 Armbian 系统的
/boot目录。 - 修改
boot.scr文件的文件名。如改为boot.scr.bak。 - 插入 U盘/TF/SD 后重新启动 Armbian 系统。
- 进入 eMMC 中的 Armbian 系统的
-
对于系统恢复时写入 eMMC 的速度极低的问题。

- 执行
armbian-install命令以测试对 eMMC 块设备的写入是否正常。 - 如果写入出现错误,修改
dtb文件。 - 重新执行
armbian-ddbr命令和r选项以恢复系统。

- 执行
-
对于型号为 E900V22C 的电视盒子,电路板上留有 TF 卡槽及其相关元器件的空位。补全 TF 卡相关电路的元器件后可以使用 TF 卡功能。其中的
33Ω电阻和4.7kΩ电阻以及10pF电容为必须项。

-
一般 USB2.0 接口的 U 盘的实际写入速度上限为 10MB/s 左右,实际读取速度上限为 20MB/s 左右。在已加装 TF 卡座的情况下建议使用 TF 卡烧录镜像。
参考资料
- E900V22C/D 等 S905L3A 机顶盒教程汇总
- Armbian 说明 · ophub/amlogic-s9xxx-armbian
- Armbian 构建及使用方法 · ophub/amlogic-s9xxx-armbian
- 查看MTD,EMMC,MMC三种设备的分区 | 码农网
- Memory Technology Device (MTD) Subsystem for Linux.
- Linux 系统目录结构 | 菜鸟教程
- Linux命令手册-中文命令详解
版权声明:本文为「梦幻之心星」原创,依据 CC BY-NC-SA 4.0 许可证进行授权,转载请附上原文出处链接及本声明。
博客园地址:https://www.cnblogs.com/Sky-seeker
微信公众号:梦幻之心星 Sky-seeker
![]()
关注微信公众号,即时获取文章推送;访问博客园网页,正常显示网址链接。

浙公网安备 33010602011771号