LE代码制作OTA的过程

以下是制作一个ota包的代码过程分析:
1.在./meta-qti-bsp/recipes-products/images/machine-robot-image.bb中有(或者是machine-image.bb)
require include/mdm-ota-target-image-ext4.inc
2.在rocto没有zip包的原因是,在上面的bb文件中把require include/mdm-ota-target-image-ext4.inc屏蔽掉了
3.分析mdm-ota-target-image-ext4.inc
A.增加生成recovery ext4,和ota包的任务
B.设置OTA_TARGET_IMAGE_ROOTFS_EXT4和RECOVERY_IMAGE_ROOTFS的路径
C. do_recovery_ext4()函数的前期准备,为recovery ext4创建目录结构:BOOTABLE_IMAGES、 RECOVERY 、SYSTEM 、DATA 、META 、RADIO 、OTA、BOOT/RAMDISK
D.等待recovery rootfs镜像 生成,因为它是生成ota files的关键
E.开始制作ota files,调用do_recovery_ext4()函数第一个任务
#拷贝radio
#拷贝boot.img成为BOOTABLE_IMAGES的boot.img和recovery.img
#拷贝system rootfs到SYSTEM ,拷贝recovery rootfs到RECOVERY
#制作recovery.fstab分区表,这是被updater-script使用的
#如果有usrfs,就拷贝进入DATA目录
#为ota目录建立bin目录,并且把RECOVERY目录下的applypatch和updater文件拷入
#拷贝file_contexts到RAMDISK/.目录下
#给META/misc_info.txt文件写入信息:version boot_size recovery_size system_size userdata_size cache_size (均可以从partition.xml中找到相应的信息)extfs_sparse_flags和 default_system_dev_certificate
F.调用第二个函数(任务)do_gen_otazip_ext4,生成ota包
#进入制作完成的recovery包,然后用zip命令压缩到W:\8009\poky\build\tmp-glibc\work\x86_64-linux\releasetools-native\1.0-r0\releasetools目录中
#进入此目录然后执行full_ota.sh脚本用以下命令
./full_ota.sh target-files-ext4.zip ${IMAGE_ROOTFS} ext4
full_ota.sh脚本是用来生成ota包的,用target-files-ext4.zip生成update.zip
#然后把这两个包同时放到目录
W:\8009\poky\build\tmp-glibc\deploy\images\apq8009-robot-robot中

这一步后就在镜像目录下得到了ota升级包,可以用来升级

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页