设为首页 加入收藏

TOP

海思机顶盒Hi3798使用Hitool和TTL备份并烧录海纳思Linux服务器系统固件(一)
2023-07-23 13:26:57 】 浏览:64
Tags:Hi3798 使用 Hitool TTL Linux

海思机顶盒Hi3798使用Hitool和TTL备份并烧录海纳思Linux服务器系统固件

摘要

  • 介绍了使用海思 CPU 的机顶盒的固件备份和烧录。通过 USB-TTL 串口烧录器 CH340 连接机顶盒,使用华为海思刷机工具 HiTool 创建和修改分区表文件,备份和烧写固件,通过升级包升级系统。在海纳思系统中安装homeassistant,通过 FTP、WebDAV、Alist云盘访问文件,真实的 CPU 型号和 reg name 的确定,以及加快烧写速度的方法。

背景说明

  • 使用 Home assistant(后文缩写为 HA)需要个人服务器,根据不同的情况有不同的家用 Linux 服务器方案。

    服务器方案 优点 缺点
    旧手机 体积小、功耗低、价格低 性能低、网络受限
    机顶盒 体积小、功耗低、价格低 性能低、网络受限
    树莓派 体积小、功耗低 价格贵、性能中、网络受限
    迷你主机 体积小、价格中 功耗中、性能中、网络受限
    NAS 体积中、价格中 功耗高、性能高、网络受限
    电脑/服务器 性能高 价格贵、体积大、功耗高、网络受限
    云服务器 网络不受限,性能高 价格贵
  • 旧手机可用于简单的功能验证,安装较为复杂,也容易出现问题。目前常用的方案有termuxtermux+prootAlpine Term+dockerlinux deploy(需要 root 权限)。termux 和 termux+proot 方案主要是通过安装 Python 来安装 HA。经过尝试,termux 安装 HA 会出现依赖报错;termux+proot+debian 启动 HA 时会出现版本错误的提示;Alpine Term+docker 安装 HA 后可以正常运行,但性能极低卡顿严重。

  • 机顶盒可用于简单的个人使用,安装难度一般,不容易出现问题。目前常用的有Armbian海纳思系统这两种方案,主要是通过安装 docker 来安装 HA。海纳思系统 主要支持海思芯片中的 Hi3798MV100Hi3798MV200Hi3798MV300 ,不支持Hi3798MV300H 等带后缀的处理器。Armbian 主要支持晶晨芯片中的 S9xx 系列。

  • 原本是打算对型号为CM211-2的机顶盒进行刷机,后来发现 CPU 型号为Hi3798MV300H。于是改为对型号为HG680-j且 CPU 为Hi3798MV100的机顶盒进行刷机。

操作实践

前提要求

获取系统信息

  1. 使用网线将接机顶盒和电脑连接到网络,使用导线连接机顶盒和 USB-TTL 串口烧录工具。
    HiTool主界面

  2. 打开HiTool后点击HiBurn
    HiTool主界面

  3. 设置PC 与板端配置参数。设置 本地 PC 配置下的串口服务器 IP板端配置下的IP 地址网关串口 为 USB-TTL 串口烧录器所使用的端口号(查看方式:控制面板 -> 设备管理器 -> 端口(COM 和 LPT)),服务器 IP 为电脑的 IP 地址。 IP 地址 为机顶盒的 IP 地址,网关一般保持默认即可 。传输方式 选择 网口(推荐)
    PC与板端配置

  4. 获取中央处理器型号和管脚配置表。点击 打开终端工具 ,然后点击连接,最后给机顶盒上电。启动信息中的 Reg Name 包含管脚配置表、中央处理器型号、内存规格、PCB 板层数、闪存类型。
    打开终端工具

  5. 查看分区表。对于型号为CM211-2且 CPU 为Hi3798MV300H的机顶盒,启动信息中会显示分区表信息。而对于型号为HG680-j且 CPU 为Hi3798MV100的机顶盒,启动信息中不会显示分区表,需要执行cat /proc/cmdline命令查看分区表信息。
    启动信息中显示分区表
    执行命令查看分区表

  6. 查看挂载信息。执行mount命令查看系统中所有的挂载文件系统。
    执行命令查看挂载信息

  7. 查看闪存块分区。对于型号为CM211-2机顶盒,执行cd /dev/block/platform/soc/by-namels -al命令查看闪存块分区所指向的分区名。而对于型号为HG680-j机顶盒,执行cd /dev/block/platform/hi_mci.1/by-namels -al命令查看闪存块分区所指向的分区名。对于其它机顶盒,可在/dev/block/platform下的目录的子目录中寻找by-name文件夹。
    执行命令查看闪存块分区

  8. 查看文件系统信息。执行df命令查看系统中分区的大小和使用量。
    执行命令查看文件系统信息

  9. 根据系统中分区的使用量,清理无用信息为数据备份做准备。软件卸载可使用开心电视助手软件,此软件还可以便捷的获取分区表、挂载信息、文件系统信息等。
    使用开心电视助手获取系统信息

创建和修改分区表

  1. 设置芯片型号。点击芯片 -> 切换芯片 -> Hi3798MV100
    设置芯片型号

  2. 点击 烧写 eMMC,点击表格右侧的绿色的加号以创建新的分区。

  3. 点击名称项,根据分区表输入分区名,并遵循闪存块分区中的区块顺序(从mmcblk0p1mmcblk0p17)。

  4. 点击文件项里面的右侧的文件夹图标(选中时出现),在弹出的对话框中选择文件路径并在输入文件名后点击打开,建议文件名与分区名一致。

  5. 点击长度项,根据分区表设置对应分区的大小。

  6. 点击文件系统项,根据挂载信息选择对应分区的文件系统。此项只影响烧录的速度。

  7. 勾选要操作的分区前面的复选框。

  8. 点击eMMC分区表文件右侧的浏览,在弹出的对话框中选择文件路径并在输入文件名后点击打开,然后点击保存。建议文件名包含设备的 CPU 型号和闪存类型。
    创建分区表文件

操作固件

备份固件

方法一:TTL+HiTool

  1. 在创建和修改分区表的最后一步点击上载

  2. 弹出对话框后关闭机顶盒电源。

  3. 开启机顶盒电源。

  4. 等待对话框中的上载的进度条结束。
    上载固件

方法二:TTL+U 盘

  1. 点击 打开终端工具 ,然后点击连接,最后给机顶盒上电。

  2. 执行df命令查看系统中分区的使用情况。

  3. 插入 U 盘(FAT32 格式)后执行df命令查看系统中分区的使用情况,新出现的/mnt/sda/sda1表示 U 盘挂载成功。

  4. 执行cd /dev/block/platform/soc/by-namels -al命令查看闪存块分区所指向的分区名。

    root@Hi3798MV300:/ # cd /dev/block/platform/soc/by-name
    root@Hi3798MV300:/dev/block/platform/soc/by-name # ls -al
    lrwxrwxrwx root    root    1970-01-01 08:00 baseparam -> /dev/block/mmcblk0p5
    lrwxrwxrwx root    root    1970-01-01 08:00 boot -> /dev/block/mmcblk0p9
    lrwxrwxrwx root    root    1970-01-01 08:00 cache -> /dev/block/mmcblk0p14
    lrwxrwxrwx root    root    1970-01-01 08:00 fastboot -> /dev/block/mmcblk0p1
    lrwxrwxrwx root    root    1970-01-01 08:00 fastplay -> /dev/block/mmcblk0p8
    lrwxrwxrwx root    root    1970-01-01 08:00 logo ->
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇以色列、香港等5G,WIFI6E技术标.. 下一篇RFCOMM

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目