[Recovery]如何编译差分升级包
[DESCRIPTION]
Two types of OTA update image can be selected. One is full OTA update image and the other is differential OTA update image.
The only advantage of differential OTA is the package size of it is smaller than the one of full OTA.
[SOLUTION]
Need two code bases (V1codebase and V2codebase) to build V1_2 differential
OTA update image as following steps:
1. Change directory to root of V1 codebase
2. ./makeMTK $(project) bm_new
3. ./makeMtk $(project) otapackage
4. Copy
out/target/product/$(project)/obj/PACKAGING/target_files_intermediates/<pr
oject>_target_files-<user>.zip to the root directory of V2 as V1_org.zip
5. Change directory to root of V2 codebase
6. ./ makeMtk $(project) bm_new
7. ./makeMtk $(project) otapackage
8. Copy
out/target/product/$(project)/obj/PACKAGING/target_files_intermediates/<pr
oject>_target_files-<user>.zip to the root directory of V2 as V2_org.zip
9. ./build/tools/releasetools/ota_from_target_files –k <key_path>-i
V1_org.zip V2_org.zip V1_2.zip
关于key_path的取值。查看projectcongfig.mk.
如果MTK_SIGNATURE_CUSTOMIZATION=yes并且MTK_INTERNAL=no,
<key_path>的值为:build/target/product/security/[Project]/releasekey
如果MTK_SIGNATURE_CUSTOMIZATION=yes并且MTK_INTERNAL=yes,
<key_path>的值为:build/target/product/security/common/releasekey
如果MTK_SIGNATURE_CUSTOMIZATION=no,<key_path>的值为:build/target/product/security/testkey
另外,可以直接查看make -j24 otapackage的最后部分的打印出来的log,里面包含了签名的路径。
Two types of OTA update image can be selected. One is full OTA update image and the other is differential OTA update image.
The only advantage of differential OTA is the package size of it is smaller than the one of full OTA.
[SOLUTION]
Need two code bases (V1codebase and V2codebase) to build V1_2 differential
OTA update image as following steps:
1. Change directory to root of V1 codebase
2. ./makeMTK $(project) bm_new
3. ./makeMtk $(project) otapackage
4. Copy
out/target/product/$(project)/obj/PACKAGING/target_files_intermediates/<pr
oject>_target_files-<user>.zip to the root directory of V2 as V1_org.zip
5. Change directory to root of V2 codebase
6. ./ makeMtk $(project) bm_new
7. ./makeMtk $(project) otapackage
8. Copy
out/target/product/$(project)/obj/PACKAGING/target_files_intermediates/<pr
oject>_target_files-<user>.zip to the root directory of V2 as V2_org.zip
9. ./build/tools/releasetools/ota_from_target_files –k <key_path>-i
V1_org.zip V2_org.zip V1_2.zip
关于key_path的取值。查看projectcongfig.mk.
如果MTK_SIGNATURE_CUSTOMIZATION=yes并且MTK_INTERNAL=no,
<key_path>的值为:build/target/product/security/[Project]/releasekey
如果MTK_SIGNATURE_CUSTOMIZATION=yes并且MTK_INTERNAL=yes,
<key_path>的值为:build/target/product/security/common/releasekey
如果MTK_SIGNATURE_CUSTOMIZATION=no,<key_path>的值为:build/target/product/security/testkey
另外,可以直接查看make -j24 otapackage的最后部分的打印出来的log,里面包含了签名的路径。
本文介绍如何从两个不同版本的代码库中构建差分OTA更新包,相较于全量OTA,差分OTA的主要优势在于文件体积更小。文中详细说明了所需步骤,并解释了签名密钥的获取方式。
1196

被折叠的 条评论
为什么被折叠?



