SC20 - Upgrading with OTA Package

Dear all,

I’m trying to apply updates to my image.

I followed instructions from “SC20 OTA Firmware Upgrade Guide” document.

  • Exported variable BUILD_NUMBER with value 200217
  • Initial Release creation (removing some Apps from PRODUCT_PACKAGES list) : OK
  • Exported variable BUILD_NUMBER with value 200218
  • Created new release adding back apps into PRODUCT_PACKAGES list

I used the command described on document to create the Incremental Update file:

./build/tools/releasetools/ota_from_target_files -v --block \
    -p out/host/linux-x86 -k build/target/product/security/testkey \
    -i ~/work/projects/wellpay/android/dist_output.200217/msm8909-target_files-200217.zip \
     ~/work/projects/wellpay/android/dist_output.200218/msm8909-target_files-200218.zip \
     ~/dist_output.200218/update_200217_to_200218.zip

But downloading the ZIP file and requesting Android to install it, the terminal reboots and stay on Recovery:

adb devices
List of devices attached
(no serial number)      recovery

The terminal stays in this state until I run an adb reboot command.

After reboot, I check the /cache/recovery logs. In last_log I see:

[    3.668211] Update package verification took 1.0 s (result 0).
[    3.685756] Installing update...
[    3.763162] sysutil: mmapped 1 ranges
[    3.787476] Source: qcom/msm8909/msm8909:7.1.2/WPBRv1.0/200217:userdebug/test-keys
[    3.787628] Target: qcom/msm8909/msm8909:7.1.2/WPBRv1.0/200218:userdebug/test-keys
[    3.787728] Verifying current system...
[    4.430583] partition read matched size 16979240 sha d72afbcf01f011ca65dfb0d2725d670067c8ecd1
[    4.458989] 253632512 bytes free on /cache (56713216 needed)
[   29.495295] performing verification
[   29.515865] blockimg version is 4
[   29.515995] maximum stash entries 99
[   29.521228] creating stash /cache/recovery/2bdde8504898ccfcd2c59f20bb8c9c25f73bb524/
[   29.522996] 253628416 bytes free on /cache (56713216 needed)
[   29.533880] failed to verify blocks (expected 5168c322a906ed8d87fd05d783cd1b4d4e4f4466, read c392cecc31e0a921af57fe3bbdd16f8c14cd19d7)
[   29.534009] partition has unexpected contents
[   29.534098] failed to read blocks for move
[   29.534178] failed to execute command [move 5168c322a906ed8d87fd05d783cd1b4d4e4f4466 2,87915,87943 28 2,262111,262139]
[   29.534914] deleting stash 2bdde8504898ccfcd2c59f20bb8c9c25f73bb524
[   29.541692] Device was remounted R/W 1 times
[   29.542055] __bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
[   29.542276] Last remount happened on Thu Jan  1 01:02:58 1970
[   29.542670] /dev/block/bootdevice/by-name/system image corrupted, attempting to recover...
[   29.545087] script aborted: E1004: system partition fails to recover
[   29.751095] E:Error in @/cache/recovery/block.map
[   29.751138] (Status 7)
[   29.769828]
[   29.926499] I:@/cache/recovery/block.map
[   29.926534] 0
[   29.926550] time_total: 27
[   29.926564] retry: 0
[   29.926578] target_build: 200218
[   29.926591] source_build: 200217
[   29.926605] error: 1004
[   29.926619] cause: 107
[   29.926632] uncrypt_time: 0
[   29.926729] Installation aborted.
[   30.000807] I:Saving locale "en_US"

The error above is generated when I create the Incremental Update with –block parameter, trying without it, I have:

[    3.446815] I:whole-file signature verified against RSA key 0
[    3.446926] Update package verification took 1.0 s (result 0).
[    3.478209] Installing update...
[    3.542455] sysutil: mmapped 4 ranges
[    3.577465] Source: qcom/msm8909/msm8909:7.1.2/WPBRv1.0/200217:userdebug/test-keys
[    3.577627] Target: qcom/msm8909/msm8909:7.1.2/WPBRv1.0/200218:userdebug/test-keys
[    3.577734] Verifying current system...
[    3.926947] failed to stat "/system/bin/install-recovery.sh": No such file or directory
[    3.927064] file "/system/bin/install-recovery.sh" doesn't have any of expected sha1 sums; checking cache
[    3.927179] failed to stat "/cache/saved.file": No such file or directory
[    3.927292] failed to load cache file
[    3.927386] script aborted: E3005: "/system/bin/install-recovery.sh" has unexpected contents.
[    3.961435] E:Error in @/cache/recovery/block.map
[    3.961479] (Status 7)
[    3.994531]
[    4.139704] I:@/cache/recovery/block.map
[    4.139738] 0
[    4.139754] time_total: 1
[    4.139767] retry: 0
[    4.139781] target_build: 200218
[    4.139795] source_build: 200217
[    4.139808] error: 3005
[   4.139822] uncrypt_time: 0
[    4.139920] Installation aborted.
[    4.211293] I:Saving locale "en_US"

When I apply a Full Update I have success.

I don’t know if I’m making something wrong, if to apply an Incremental Update I cannot add more Apps, for example, it is designed only for changes on source code, but it is not possible to add an App in an Incremental Update.

Kind Regards

Issue solved, I believe…

After generate the first distribution version, I was flashing the IMG from AOSP environment, not the IMGs from Target Files zip…

This week I made the test flashing the IMG from target files zip and the process completed with success.

Kind Regards

Hi @Alexandre_Estanislau
Hope you are doing well.
you flashed the IMG from target files zip by fastboot or QFIL?

Hi Alexandre_Estanislau,

I am working on SC20, I want to update images through OTA. Can you please share me the related documents.

Can i get a response from the support team?

So what I need to take from the IMG target files zip? all IMG files? I guess userdata.IMG is straight from out dir no?

Managed to fix the issue.
Don’t remount via adb when doing OTA since it’s changing the system hash and as a result the OTA will fail due to system hash mismatch