命令:



$ cd ${MY_ANDROID} 
$ source build/envsetup.sh
$ lunch evk_8mm-userdebug
$ ./imx-make.sh bootloader kernel -j4
$ make otapackage -j4

#yyds干货盘点#i.MX8 OTA过程记录_linux

然后你会在以下路径找到full ota的包。



${MY_ANDROID}/out/target/product/evk_8mm/evk_8mm-ota-**.zip

#yyds干货盘点#i.MX8 OTA过程记录_android_02

将image烧写进去,不包括full ota的包。

将full ota的包丢进板子的文件系统中,现在开始执行full ota。



adb push payload.bin /data/ota_package

#yyds干货盘点#i.MX8 OTA过程记录_android_03

执行update_engine_client命令


update_engine_client --payload=file:///data/ota_package/payload.bin --update \ 
--headers="FILE_HASH=TT00vk5kiMvwz35A9UqgihgcRCS/UJwvueWiz/QIpbQ=
FILE_SIZE=536752574
METADATA_HASH=3rN/LK38ETwUjreGvkYfTF5Vm9/mg1ue5g3Y82xCEiU=
METADATA_SIZE=53975"

#yyds干货盘点#i.MX8 OTA过程记录_差分_04

制作差分包过程类似,不同的是使用的是使用make target-files-package -j4命令分别构建两次target-files-package,每次构建的target-files-package位于



${MY_ANDROID}/out/target/product/evk_8mm/obj/PACKAGING/target_files_intermediates/evk_8mm-ota-**.zip

#yyds干货盘点#i.MX8 OTA过程记录_linux_05

做差分包:



$ out/host/linux-x86/bin/ota_from_target_files -i PREVIOUS-target_files.zip NEWtarget_files.zip incremental-ota.zip

#yyds干货盘点#i.MX8 OTA过程记录_android_06