找回密码
 立即注册
首页 业界区 安全 电视盒子 E900V22C(S905L3A) 获取分区表后备份镜像并安 ...

电视盒子 E900V22C(S905L3A) 获取分区表后备份镜像并安装 Armbian(Linux)

上官泰 2025-8-13 20:32:48
摘要


  • 介绍 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.156.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 命令。信息项为 主设备号子设备号分区大小分区编号

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


  • 通过软件插件备份分区镜像。在电脑已通过 ADB 连接到电视盒子的情况下,在开心电视助手软件中点击 插件 面板,在 晶晨芯片 插件列表中双击 备份固件 插件。备份完成后,固件存放在开心电视助手软件根目录下的backup目录中。

  • 通过手动操作备份分区镜像。其中 data 分区和 cache 分区无需备份。

    • 在开心电视助手软件中点击 首页 面板,在 常用操作 功能区中点击 AdbShell 按钮,根据获取的分区表信息,在弹出的窗口中执行以下命令。
      1. 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 目录,最后点击 下载 按钮。


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


  • 在电脑已通过 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 系统时出现的错误信息。
      1. [ 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 系统时出现的错误信息。
      1. [ 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 源码),执行下列命令。
      1. 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 文件),执行下列命令。
      1. 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-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


来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册