imx8 android 9.0 支持A/B OTA升级
make otapackage -j32
./build/tools/releasetools/ota_from_target_files -i ota/old-target_files.zip ota/new-target_files.zip ota/incremental_ota_update.zip
一、adb 本地测试升级错误
06-21 14:43:53.419 2051 2051 I update_engine: [0621/144353.419563:INFO:delta_performer.cc(1549)] Verifying payload using public key: /etc/update_engine/update-payload-key.pub.pem
06-21 13:23:36.146 2051 2051 E update_engine: [0621/132336.146782:ERROR:delta_performer.cc(1563)] VerifyPayload failure: payload_hash_calculator_.raw_hash() == update_check_response_hash
06-21 13:23:36.146 2051 2051 E update_engine: [0621/132336.146851:ERROR:download_action.cc(397)] Download of file:///sdcard/payload.bin failed due to payload verification error.
解决:注意命令格式
update_engine_client --payload=file:///sdcard/payload.bin --update --headers="FILE_HASH=QlyQnyZ6LOC9gjyXTvWxOLC/kO9xuL/+h6tXzF6zHD8=
FILE_SIZE=24549898
METADATA_HASH=j+I7TEKTuAsIqhryaBxWkQlVw/NoHWxT7uMTTpuUMSE=
METADATA_SIZE=55990"
二、差分升级错误
I update_engine: [0624/170116.563768:INFO:delta_performer.cc(387)] Applying 5 operations to partition "dtbo"
06-24 17:01:16.563 2046 2046 I update_engine: [0624/170116.563851:INFO:delta_performer.cc(602)] Starting to apply update payload operations
06-24 17:01:16.587 2046 2046 E update_engine: [0624/170116.587156:ERROR:delta_performer.cc(991)] The hash of the source data on disk for this operation doesn't match the expected value. This could mean that the delta update payload was targeted for another version, or that the source partition was modified after it was installed, for example, by mounting a filesystem.
06-24 17:01:16.587 2046 2046 E update_engine: [0624/170116.587415:ERROR:delta_performer.cc(996)] Expected: sha256|hex = FD3E7A46EA0173AAD17FEF9EDD0F358C2BCE24D29C3050F73076FC6470D62D98
06-24 17:01:16.587 2046 2046 E update_engine: [0624/170116.587488:ERROR:delta_performer.cc(999)] Calculated: sha256|hex = 40E44E9E6380BC32D02ED6F4EE3841B9CE755ADECF8883B1AE5A93B4ECCBCF47
06-24 17:01:16.587 2046 2046 E update_engine: [0624/170116.587567:ERROR:delta_performer.cc(1010)] Operation source (offset:size) in blocks: 20:1
06-24 17:01:16.587 2046 2046 E update_engine: [0624/170116.587655:ERROR:delta_performer.cc(1192)] ValidateSourceHash(source_hash, operation, source_fd_, error) failed.
06-24 17:01:16.587 2046 2046 E update_engine: [0624/170116.587780:ERROR:delta_performer.cc(299)] Failed to perform BROTLI_BSDIFF operation 1, which is the operation 1 in partition "dtbo"
06-24 17:01:16.587 2046 2046 E update_engine: [0624/170116.587858:ERROR:download_action.cc(337)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
解决:out 下img不做发布版本
刷机不刷out下,而是刷out/target/product/xxx_8q/obj/PACKAGING/target_files_intermediates/xxx_8q_car2-target_files-eng.win/IMAGES/下镜像