上官泰 发表于 2025-8-13 20:32:48

电视盒子 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 网页。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-01-60.jpg
[*]查看 Armbian 系统可用的 Linux 内核,访问 kernel/README.cn.md at main · ophub/kernel 网页。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-02-60.jpg
[*]查看 Armbian 发布的 Amlogic S9xx 电视盒子的服务器镜像,访问 Amlogic S9xx TV Box - Armbian 网页。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-03-60.jpg
[*]综合以上三个网页的信息,建议选择版本为 5.15 或 6.12 的内核。
下载 Armbian 镜像


[*]前往发布 S9xxx 电视盒子 Armbian 系统的 Releases · ophub/amlogic-s9xxx-armbian 网页。
[*]找到 Armbian_jammy 发行版,点击 Assets。
[*]搜索基于 amlogic_S905l3a 的系统镜像文件。
[*]下载需要的系统镜像文件。建议使用加速源下载以加快下载速度。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-04-60.jpg
烧录 Armbian 镜像


[*]在电脑插入一个大于 8GB 的 U 盘。
[*]将下载完成后的 .img.gz 格式的镜像文件解压为 .img 格式。
[*]下载并打开 Rufus 软件。
[*]在 设备 中选择要烧录镜像的目标 U 盘。
[*]在 引导类型选择 中选择 镜像文件 ,点击 选择 按钮。
[*]在弹出的 打开 对话框中选择要烧录的 .img 格式的镜像文件,点击 打开 按钮。
[*]点击 开始 按钮,等待 Armbian 系统镜像烧录完成。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-05-60.jpg
获取分区表并备份分区镜像

开启电视盒子 ADB 功能


[*]将电源线和网线插入电视盒子,安装并打开 电视应用管家 软件。
[*]选择 实验室 后按确认键。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-06-60.png
[*]选择 永久开启无线adb 或 临时开启无线adb 后按确认键。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-07-60.png
通过 ADB 连接电视盒子


[*]在电视盒子的 ADB 功能开启的情况下,在电脑打开 开心电视助手 软件。
[*]在软件中点击 首页 面板,在 登录 功能区中的 设备 IP 地址 后的输入框中输入在路由器中查到的电视盒子的 IP 地址,端口保持默认,点击 连接 按钮。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-08-60.jpg
获取安卓 TV 系统分区表


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

[*]对于 MTD 设备查看分区信息,执行 cat /proc/mtd 命令。信息项为 设备编号、分区大小、擦除大小 和 分区名称。
[*]对于 eMMC 设备查看分区信息,执行 cat /proc/emmc 命令。信息项为 设备编号、分区大小、擦除大小 和 分区名称。
[*]对于 MMC 设备查看分区信息,执行 cat /proc/partitions 命令。信息项为 主设备号、子设备号、分区大小 和 分区编号。

[*]如果需要查看 分区编号 和 分区名称 之间的对应关系,可以执行 ls -al /dev/block/by-name 命令。
备份电视盒子分区镜像


[*]通过软件插件备份分区镜像。在电脑已通过 ADB 连接到电视盒子的情况下,在开心电视助手软件中点击 插件 面板,在 晶晨芯片 插件列表中双击 备份固件 插件。备份完成后,固件存放在开心电视助手软件根目录下的backup目录中。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-10-60.jpg
[*]通过手动操作备份分区镜像。其中 data 分区和 cache 分区无需备份。
[*]在开心电视助手软件中点击 首页 面板,在 常用操作 功能区中点击 AdbShell 按钮,根据获取的分区表信息,在弹出的窗口中执行以下命令。
dd if=/dev/block/bootloader of=/sdcard/backup/bootloader.imgdd if=/dev/block/reserved of=/sdcard/backup/reserved.imgdd if=/dev/block/env of=/sdcard/backup/env.imgdd if=/dev/block/logo of=/sdcard/backup/logo.imgdd if=/dev/block/recovery of=/sdcard/backup/recovery.imgdd if=/dev/block/misc of=/sdcard/backup/misc.imgdd if=/dev/block/dtbo of=/sdcard/backup/dtbo.imgdd if=/dev/block/cri_data of=/sdcard/backup/cri_data.imgdd if=/dev/block/param of=/sdcard/backup/param.imgdd if=/dev/block/boot of=/sdcard/backup/boot.imgdd if=/dev/block/rsv of=/sdcard/backup/rsv.imgdd if=/dev/block/metadata of=/sdcard/backup/metadata.imgdd if=/dev/block/vbmeta of=/sdcard/backup/vbmeta.imgdd if=/dev/block/tee of=/sdcard/backup/tee.imgdd if=/dev/block/odm of=/sdcard/backup/odm.imgdd if=/dev/block/product of=/sdcard/backup/product.imgdd if=/dev/block/vendor | busybox gzip -4 > /sdcard/backup/vendor.imgdd if=/dev/block/system | busybox gzip -4 > /sdcard/backup/system.img
[*]在开心电视助手软件中点击 管理 面板,在 下载文件到本地 功能区中,在 文件保存位置 后的输入框中,输入电脑保存电视盒子分区镜像的位置,在 要下载的文件 后的输入框中,输入 /sdcard/backup 目录,最后点击 下载 按钮。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-11-60.jpg

获取分区表并备份全盘镜像


[*]在电脑已通过 ADB 连接到电视盒子的情况下,将烧录好系统镜像的 U 盘插入电视盒子靠近电源接口侧的 USB 接口。
[*]在开心电视助手软件中点击 调试 面板,在 晶晨芯片 功能区中点击 从U盘/SD卡启动 按钮。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-12-60.jpg
[*]通过 SSH 登录 Armbian 系统。打开终端连接工具软件,协议 选择 SSH2,主机名 为在路由器中查到的电视盒子的 IP 地址,端口 为默认的 22 ,点击 连接 按钮 。默认用户为 root,默认密码为 1234。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-13-60.jpg
[*]连接并登录电视盒子的 Armbian 系统后,重新设置 root 用户的密码,选择默认的系统命令 shell 为 bash ,按 Ctrl + C 键跳过创建新用户账户。
[*]获取安卓 TV 系统分区信息,包括 DTB 分区信息和 eMMC 分区信息,执行 ampart /dev/mmcblk2 --mode webreport 2>/dev/null 命令。复制输出的链接到浏览器打开即可查看详细分区信息。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-14-60.jpg
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-15-60.png
[*]备份 eMMC 全盘镜像,执行 armbian-ddbr 命令。在之后的选项选择中输入 b 后按 Enter 键以备份系统镜像,等待电视盒子的安卓 TV 系统备份完成。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-16-60.jpg
[*]通过 SFTP 登录 Armbian 系统。打开文件传输工具软件,协议 选择 SFTP,主机名 为在路由器中查到的电视盒子的 IP 地址,端口 为默认的 22 ,点击 连接 按钮 。用户名为默认用户 root,密码为新设置的密码。
[*]连接并登录电视盒子的 Armbian 系统后,将 ddbr 目录下的 BACKUP-arm-64-emmc.img.gz 文件下载到电脑保存电视盒子 eMMC 镜像的位置。
写入 Armbian 系统到电视盒子


[*]通过 SSH 连接并登录 Armbian 系统。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-17-60.jpg
[*]安装 Armbian 系统到电视盒子的 eMMC 块设备,执行 armbian-install 命令。在之后的选项选择中,输入 304 后按 Enter 键以选择对应的 DTB 文件,输入 1 后按 Enter 键以选择 ext4 文件系统类型,在此之后开始安装,等待安装完成。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-18-60.jpg
[*]如果系统镜像写入 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/mmcblk2Error: /dev/mmcblk2: unrecognised disk labelError: /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。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-19-60.jpg

[*]通过 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 命令。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-20-60.jpg

配置 Armbian 系统


[*]更换 Armbian 系统的软件源,执行 armbian-apt 命令。在之后的选项选择中输入 1 后按 Enter 键以切换软件源为清华源。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-21-60.jpg
[*]更新 Armbian 系统的软件列表信息,执行 apt update 命令。
注意事项


[*]对于已安装 Armbian 系统后无法从 U盘/TF/SD 启动的问题。

[*]进入 eMMC 中的 Armbian 系统的 /boot 目录。
[*]修改 boot.scr 文件的文件名。如改为 boot.scr.bak。
[*]插入 U盘/TF/SD 后重新启动 Armbian 系统。

[*]对于系统恢复时写入 eMMC 的速度极低的问题。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-22-60.jpg

[*]执行 armbian-install 命令以测试对 eMMC 块设备的写入是否正常。
[*]如果写入出现错误,修改 dtb 文件。
[*]重新执行 armbian-ddbr 命令和 r 选项以恢复系统。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-23-60.jpg

[*]对于型号为 E900V22C 的电视盒子,电路板上留有 TF 卡槽及其相关元器件的空位。补全 TF 卡相关电路的元器件后可以使用 TF 卡功能。其中的 33Ω 电阻和 4.7kΩ 电阻以及 10pF 电容为必须项。
https://img.skyseeker.eu.org/2025/Image_2025-08-12_01-24-60.jpg
[*]一般 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
https://img.skyseeker.eu.org/icon/Sky-seeker_WX_300x109.jpg

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除
页: [1]
查看完整版本: 电视盒子 E900V22C(S905L3A) 获取分区表后备份镜像并安装 Armbian(Linux)