***: First of all, make sure the current sw version in the machine is V2.
Need two codebases to build V2_4 differential OTA package for example:
1. Change directory to root of V2 codebase
2. ./makeMtk <project> bm_new
3. ./makeMtk <product> otapackage
4. Copy intermediate package into V4 root directory and rename it as V2_org.zip
ex)
Intermediate package path: V2_codebase\alps\out\target\product\<project>\obj\PACKAGING\target_files_intermediates\<product>-target_files-<user>.zip
5. Change directory to root of V4 codebase
6. ./makeMtk <project> bm_new
7. ./makeMtk <product> otapackage
8. Copy intermediate package into V4 root directory and rename it as V4_new.zip
ex)
Intermediate package path: V4_codebase\alps\out\target\product\<project>\obj\PACKAGING\target_files_intermediates\<product>-target_files-<user>.zip
9. Build logo.bin into differential OTA package and rename V2_4.zip as update.zip
./build/tools/releasetools/ota_from_target_files -l <file> -i V2_org.zip V4_new.zip V2_4.zip
ex)
<file> = logo.bin path = "V4_codebase\alps\out\target\product\<product>\logo.bin"
10. Sign otapackage:
java -Xmx2048m -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/common/releasekey.x509.pem build/target/product/security/common/releasekey.pk8 <input file path> <output file path>
ex)
<input file path> = "update.zip"
<output file path> = "update_signed.zip"
11. Push the final otapackage "update_signed.zip" to sdcard and perform the usual update
Note: Firstly, logo.bin should be prepared. For logo.bin, there is no differential OTA or full OTA. It's all about full OTA.
|