制作更新镜像
湃兔核提供了为PanGu板制做更新包的工具,用于更新文件到开发板的板载Flash内。这里需要用到两个工具
BuildUpdatePackage : 用于为SD更新方式制作更新包
BuildSDCardUpdater: 用于制作SD启动卡的镜像,包含更新系统和更新包
BuildUpdatePackage工具
BuildUpdatePackage可以制作更新包,方便使用SD更新方式。制作后的文件后缀格式为swu。制作前先将需要更新的文件放置在目录下,例如panguboard-emmc-qt5目录
$ cd BuildUpdatePackage
$ ls panguboard-emmc-qt5
i2som-image-qt-openstlinux-eglfs-pangu-20191022082528.rootfs.ext4.gz st-image-vendorfs-openstlinux-eglfs-pangu-20190927124511.vendorfs.ext4.gz
st-image-bootfs-openstlinux-eglfs-pangu-20190928050850.bootfs.ext4.gz u-boot-spl.stm32-stm32mp157a-panguboard-basic
st-image-userfs-openstlinux-eglfs-pangu-20191022082528.userfs.ext4.gz u-boot-stm32mp157a-panguboard-basic.img
文件说明参考如下表
File Name | Description |
i2som-image-qt-openstlinux-eglfs-pangu-20191022082528.rootfs.ext4.gz | i2som-image-qt系统的rootfs压缩镜像文件,从Yocto编译得到。 |
st-image-vendorfs-openstlinux-eglfs-pangu-20190927124511.vendorfs.ext4.gz | i2som-image-qt系统的第三方库分区镜像文件,从Yocto编译得到。 |
st-image-bootfs-openstlinux-eglfs-pangu-20190928050850.bootfs.ext4.gz | i2som-image-qt系统的启动分区镜像文件,从Yocto编译得到。 |
st-image-userfs-openstlinux-eglfs-pangu-20191022082528.userfs.ext4.gz | i2som-image-qt系统的userfs分区镜像文件,从Yocto编译得到。 |
u-boot-spl.stm32-stm32mp157a-panguboard-basic | Basic boot chain的FSBL启动文件。 |
u-boot-stm32mp157a-panguboard-basic.img | Basic boot chain的SSBL启动文件。 |
除了使用Yocto整体编译出需要的镜像,开发者也可以单独编译来替换对应镜像文件里的文件,达到快速验证测试的目的。
Linux kernel uImage和DTB文件,可以替换在bootfs.ext4.gz文件。
Linux kernel modules,可以替换在rootfs.ext4.gz的"/lib/modules"目录下。
应用程序文件,可以放置在userfs.ext4.gz。
Basic boot chain时的启动文件,直接替换对应的文件即可。
制作更新包
使用BuildUpdatePackage工具,打包需要更新的文件为单一文件,方便烧写。
制作qt5系统的更新包
./CreateUpdatePackage panguboard-emmc-qt5 qt5
制作weston系统的更新包
./CreateUpdatePackage panguboard-emmc-weston weston
执行命令后,会生成swu缀的文件,例如panguboard-emmc-weston_1.0_20191001144834.swu,这是打包好的更新包文件。
BuildSDCardUpdater工具
BuildSDCardUpdater工具可以把从BuildUpdatePackage工具已经制作好的swu更新文件,打包为SDCard可以启动更新系统镜像,实现自动从SDCard启动并自动把目标文件更新至开发板。
制作更新镜像
把制作好的更新包文件放在mfgimages-qt5或mfgimages-weston目录下,然后开始制作更新镜像。
制作前,请确认当前系统已经安装有kpartx, sfdisk, losetup软件包。
Ubuntu/Debian系统安装软件包
sudo apt-get install kpartx fdisk mount dosfstools e2fsprogs
制作qt5系统的SD卡更新镜像
ls mfgimages-qt5/
panguboard-emmc-qt_1.0_20190928125306.swu
sudo ./CreateSDUpdateImage mfgimages-qt5 qt5
制作weston系统的SD卡更新镜像
ls mfgimages-weston/
panguboard-emmc-weston_1.0_20190929175719.swu
sudo ./CreateSDUpdateImage mfgimages-weston weston
制作完成后,会生成img.gz的文件,例如PanGu-SDCardUpdate-qt5-20191001151054.img.gz,这个文件可以直接写到Micro SD卡,使用SD更新方式,更新qt5系统到PanGu开发板。
最后编辑:SteveChen 更新时间:2024-09-18 11:51