i2S-6UB核心板eMMC版本提供了多种更新的方式,结合不同使用场景,可以自由选择。当前分区结构如下:
分区名 容量 分区 分区格式 内容
bootloader + env 2MB mmc1boot0 RAW U-Boot
Linux 64MB mmcblk1p1 VFAT Linux kernel + dtb + boot script
Recovery 64MB mmcblk1p2 VFAT Recovery Linux kernel + dtb + boot script
rootfs 1.4GB mmcblk1p3 Ext4 Linux Root filesystem
data 2GB mmcblk1p4 Ext4 User data
Recovery 用于维护和更新Linux,rootfs和data分区,需要制做特定的更新包,并启动进入Recovery系统才可以更新。
对于不同的分区,i2SOM提供了多种更新方式,可以根据需要自行选择。
更新方式 更新内容 适用场景
U-Boot方式 用于手动更新uboot和recovery系统 开发板上的U-Boot已损坏无法启动
Recovery方式 仅用于更新rootfs, linux和data分区 开发板eMMC上已有U-Boot和Recovery,并且U-Boot可以启动运行
SD方式 仅用于更新uboot和recovery 开发板eMMC没有任何可启动程序
U-Boot方式
i2S-6UB核心板提供的U-Boot中已加入update命令,用于更新U-Boot和Recovery系统。更新前需要将新版本的U-Boot程序或Recovery系统放入SD卡,SD卡应格式化为VFAT格式。插入SD卡,上电启动后按下Enter键停止在U-Boot的命令行下。
更新U-Boot的命令如下:
update uboot mmc 0 1 u-boot.imx
更新Recovery的命令如下:
update recovery mmc 0 1 recovery.vfat
Recovery方式
Recovery方式需要有更新包文件,文件扩展名为swu。将制做好的更新包文件复制到已格式化为VFAT分区格式的的SD卡内。下面是开发板上的更新操作:
1.切换BootDev Switch(SW1)拨码开关至eMMC启动位,然后插入SD卡,接入电源。
2.上电后按Enter键,停留在U-Boot的命令行下,输入以下命令启动Recovery系统。
setenv mmcpart 2
run bootcmd
3.Recovery系统启动成功后,会自动查找SD卡并挂载后,查到是否有更新包文件,然后执行更新操作。更新成功后,调试串口会输出以下信息,此时可以断开电源后重新上电即可进入更新后的系统。
Software updated successfully
Please reboot the device to start the new software
[NOTIFY] : SWUPDATE successful !
[RECOVERY] Firmware update process succeed!
reboot: Restarting system
SD方式
SD更新方式使用由i2SOM提供的更新镜像,制做成SD更新卡,开发板从SD启动后会自动更新U-Boot和Recovery系统至eMMC Flash。更新镜像文件是i2s6uby2-update-ddr512-emmc4-20180513120554.sdcard.gz。
更新步骤如下:
1.使用USB Image Tool或Win32ImageWrite工具将更新镜像写入SD
2.切换BootDev Switch(SW1)拨码开关至SD卡启动位,插入已制做好的更新SD卡(J7)
3.上电后开发板自动更新,更新成功后D17 LED灯常亮
制作Recovery方式的更新包
Recovery方式更新,需要先制做更新包。i2SOM提供了可以制做更新包的工具,mkupdate_package。下面以制做Linux和Rootfs的更新包为例子。更新包的需要先准备好相应的更新镜像文件和描述文件。描述文件名是sw-description,描述用于更新的分区和文件。
下载i2S-6UB-BuildSWU.tar.gz文件。解压后,执行如下的制做命令:
./mkupdate_package i2s6uby2-emmc-core
sw-description
core-image-base-i2c6ulxbe-20180429170438.boot.vfat
core-image-base-i2c6ulxbe-20180429170438.rootfs.ext4
imx-emmc-postinstall.sh
438726 blocks
命令执行完成后,在当前目录会生成i2s6uby2-emmc-core_1.0_20190702143137.swu文件(文件名的20190702143137为时间戳,请以实际为准)。
制做SD卡更新镜像
下载i2S6UB-BuildUpdateSDImage.tar.gz软件包,在Linux系统下解压后,执行如下命令制做适合i2S-6UB eMMC版本的更新镜像。
sudo ./build-sdcard -som i2s6uby2 -flash emmc -target-dir i2s6uby2-ddr512m-emmc4g-recovery -var 1
[sudo] password for build:
SoM anme : i2s6uby2
Target image dir : i2s6uby2-ddr512m-emmc4g-recovery
Flash Type : emmc
Debug : false
Output file : i2s6uby2-ddr512emmc4-20180513230907.sdcard
SDCard image size : 622592 Byte
Model: (file)
Disk /home/build/i2S6UB-BuildUpdateSDImage/i2s6uby2-ddr512emmc4-20180513230907.sdcard: 638MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 4194kB 528MB 524MB primary lba
boot block 512000
The build sdcard image : i2s6uby2-ddr512emmc4-20180513230907.sdcard.gz
最后生成的i2s6uby2-ddr512emmc4-20180513230907.sdcard.gz文件,可以按照“SD卡方式”写入SD后更新。
最后编辑:SteveChen 更新时间:2024-09-17 16:55