湃兔核提供了为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 NameDescription
i2som-image-qt-openstlinux-eglfs-pangu-20191022082528.rootfs.ext4.gzi2som-image-qt系统的rootfs压缩镜像文件,从Yocto编译得到。
st-image-vendorfs-openstlinux-eglfs-pangu-20190927124511.vendorfs.ext4.gzi2som-image-qt系统的第三方库分区镜像文件,从Yocto编译得到。
st-image-bootfs-openstlinux-eglfs-pangu-20190928050850.bootfs.ext4.gzi2som-image-qt系统的启动分区镜像文件,从Yocto编译得到。
st-image-userfs-openstlinux-eglfs-pangu-20191022082528.userfs.ext4.gzi2som-image-qt系统的userfs分区镜像文件,从Yocto编译得到。
u-boot-spl.stm32-stm32mp157a-panguboard-basicBasic boot chain的FSBL启动文件。
u-boot-stm32mp157a-panguboard-basic.imgBasic 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
最后编辑:SteveChen  更新时间:2024-10-18 15:16
上一篇:
下一篇: