Skip to content

海思 HI3798MV100 盒子刷机记录

🕒 Published at:

海思 HI3798MV100 盒子刷机记录 ​

新分区表(去 logo、recovery、backup) ​

fastboot   0M    1M    ← 不动
bootargs   1M    1M    ← 不动
baseparam  2M    4M    ← 不动
pqparam    6M    4M    ← 不动
kernel    10M   20M    ← 原来 14M,前移 4M
rootfs    30M    -     ← 原来 610M,现在从 30M 开始,约 7.1G

XML 文件: /home/a1/下载/emmc_TTL-hi3798mv100-32-new.xml

刷机后必须改 bootargs ​

刷完后串口进 fastboot,改 bootargs:

setenv bootargs model=mv100 console=ttyAMA0,115200 root=/dev/mmcblk0p6 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),1M(bootargs),4M(baseparam),4M(pqparam),20M(kernel),-(rootfs)
saveenv
run bootcmd

关键变化:

  • root=/dev/mmcblk0p9 → root=/dev/mmcblk0p6(分区号变了)
  • blkdevparts 删掉了 logo、busybox、backup

USB 盘备份文件 ​

文件大小用途
rootfs.img900MBdd 镜像,可刷分区
kernel.img20MB内核备份
rootfs.tar.gz259MBtar 备份

NFS 网络共享 ​

  • 盒子: /dev/sda → /mnt/shared,NFS 导出
  • 主机: 192.168.31.82:/mnt/shared → /mnt/nas(NFSv3)
  • 开机自动挂载(双方 fstab 都配了)

刷机流程 ​

  1. USB 盘插主机,进 VM
  2. HiTool 加载新 XML 分区表
  3. 选择 rootfs.img 刷 rootfs 分区(30M 起始)
  4. 串口进 fastboot 改 bootargs
  5. run bootcmd 启动测试

⚠️ 注意事项 ​

bootargs9-32.bin 是旧的 ​

HiTool 刷机时会刷 bootargs 分区,用的是原始 bootargs9-32.bin,里面还是旧配置。必须串口改。

分区号变化 ​

分区旧版新版
rootfsmmcblk0p9mmcblk0p6
logommcblk0p5已删除
recoverymmcblk0p7已删除
backupmmcblk0p8已删除

U-Boot 网络 ​

U-Boot 里 IP 是 192.168.1.10,主机是 192.168.31.x,TFTP 不能直接用。要改 U-Boot 网络配对。

翻车修复 ​

如果刷完起不来,串口改回旧 bootargs:

setenv bootargs model=mv100 console=ttyAMA0,115200 root=/dev/mmcblk0p9 rootfstype=ext4 rootwait blkdevparts=mmcblk0:1M(boot),1M(bootargs),4M(baseparam),4M(pqparam),4M(logo),20M(kernel),64M(busybox),512M(backup),-(ubuntu)
saveenv
run bootcmd

主机桌面崩溃教训 ​

问题: 重启 sddm 导致桌面无限密码认证循环

原因: sddm 重启时,NFS 挂载点(/mnt/nas)可能卡住,影响 sddm 启动

解决:

  1. 弹出 VM 里所有 USB 设备
  2. sudo umount -l /mnt/nas
  3. sudo reboot

教训: 重启 sddm 前先卸载 NFS 挂载点