我们在做openharmony版本的weekly build的时候,需要使用kyPacker来打包update镜像,本文介绍kypacker的使用
kypacker仓库地址如下:
https://gitlab2.kylin.com/sh-product-Embedded/openharmony/kypacker
获取仓库后,我们可以先运行一下make,这样能够获取平台相关的crc32库librkcrc32.so,如果不执行make,则使用python实现的crc32.
为了能够让kypacker正常工作,需要package-file文件,此文件需要描述文件名字和文件位置,举例如下
package-file package-file bootloader Image/rk3588_spl_loader_v1.11.112.bin parameter Image/parameter.txt uboot Image/uboot.img boot Image/boot.img rootfs Image/rootfs.img userdata Image/userdata.img
根据package-file,我们需要将文件放在Image目录下的位置,举例如下
-rwxrwx--- 1 root vboxsf 100M 12月 26 09:36 boot.img -rwxrwx--- 1 root vboxsf 369 12月 21 17:15 parameter.txt -rwxrwx--- 1 root vboxsf 457K 12月 26 09:24 rk3588_spl_loader_v1.11.112.bin -rwxrwx--- 1 root vboxsf 100M 12月 26 09:36 rootfs.img -rwxrwx--- 1 root vboxsf 4.0M 12月 22 14:38 uboot.img -rwxrwx--- 1 root vboxsf 100M 12月 26 09:36 userdata.img
在打包update之前,我们需要打包firmware固件,通过如下命令
kyPacker.py afptool pack ./tests ./tests/Image/firmware.img
至此,可以在./tests/Image/firmware.img查看firmware.img文件
如果firmware.img生成成功,则可以打包update.img,如下命令
kyPacker.py imgmker pack RK3588 ./tests/Image/bootloader.img ./tests/Image/firmware.img -os_type androidos
至此,可以在当前目录上发现update.img文件,打包update.img成功。
为了更加了解kypacker的工作方式,可以参考仓库的readme.md,如下
https://gitlab2.kylin.com/sh-product-Embedded/openharmony/kypacker