How To Guide How to upgrade the OS with another Android "distribution" - ASUS ZenFone 8

While doing my tests and development with the OmniROM OS it's sometimes useful to update an installed original OmniROM to one of my self-compiled OmniROM images without reinstalling the phone from scratch.
Doing this using the local file feature of the SystemUpdate app from the OmniROM will fail with the error message "Updated failed with error 26". This is a not really understandable error message but checking the output of logcat will print some more infos about the error:
Spoiler: update_engine error messages
Code:
ASUS_I006D:/ $ logcat -d | grep update_engine
06-11 17:08:46.906 1356 1356 I update_engine: [INFO:update_attempter_android.cc(567)] Enabling performance mode.
06-11 17:08:46.913 1356 1356 I update_engine: [INFO:update_attempter_android.cc(322)] Using this install plan:
06-11 17:08:46.914 1356 1356 I update_engine: [INFO:install_plan.cc(80)] InstallPlan:
06-11 17:08:46.914 1356 1356 I update_engine: type: new_update
06-11 17:08:46.914 1356 1356 I update_engine: version:
06-11 17:08:46.914 1356 1356 I update_engine: source_slot: A
06-11 17:08:46.914 1356 1356 I update_engine: target_slot: B
06-11 17:08:46.914 1356 1356 I update_engine: initial url: file:///sdcard/Download/omni-13-20230611-zenfone8-MICROG.zip
06-11 17:08:46.914 1356 1356 I update_engine: hash_checks_mandatory: true
06-11 17:08:46.914 1356 1356 I update_engine: powerwash_required: false
06-11 17:08:46.914 1356 1356 I update_engine: switch_slot_on_reboot: true
06-11 17:08:46.914 1356 1356 I update_engine: run_post_install: true
06-11 17:08:46.914 1356 1356 I update_engine: is_rollback: false
06-11 17:08:46.914 1356 1356 I update_engine: rollback_data_save_requested: false
06-11 17:08:46.914 1356 1356 I update_engine: write_verity: true
06-11 17:08:46.914 1356 1356 I update_engine: Payload: 0
06-11 17:08:46.914 1356 1356 I update_engine: urls: ()
06-11 17:08:46.914 1356 1356 I update_engine: size: 1286948403
06-11 17:08:46.914 1356 1356 I update_engine: metadata_size: 94417
06-11 17:08:46.914 1356 1356 I update_engine: metadata_signature:
06-11 17:08:46.914 1356 1356 I update_engine: hash: B4F09617B4E7B8E37799BE83DDBB9CC96F8567A3AA4E2EF7721A9DD473987A3C
06-11 17:08:46.914 1356 1356 I update_engine: type: unknown
06-11 17:08:46.914 1356 1356 I update_engine: fingerprint:
06-11 17:08:46.914 1356 1356 I update_engine: app_id:
06-11 17:08:46.914 1356 1356 I update_engine: already_applied: false
06-11 17:08:46.915 1356 1356 I update_engine: [INFO:postinstall_runner_action.cc(95)] postinstall mount point: /postinstall
06-11 17:08:46.916 1356 1356 I update_engine: [INFO:metrics_utils.cc(318)] Number of Reboots during current update attempt = 0
06-11 17:08:46.917 1356 1356 I update_engine: [INFO:metrics_utils.cc(326)] Payload Attempt Number = 1
06-11 17:08:46.919 1356 1356 I update_engine: [INFO:metrics_utils.cc(343)] Update Monotonic Timestamp Start = 1/1/1970 0:04:33 GMT
06-11 17:08:46.920 1356 1356 I update_engine: [INFO:metrics_utils.cc(352)] Update Boot Timestamp Start = 1/1/1970 0:04:33 GMT
06-11 17:08:46.921 1356 1356 I update_engine: [INFO:update_attempter_android.cc(840)] Clearing update complete marker.
06-11 17:08:46.922 1356 1356 I update_engine: [INFO:update_attempter_android.cc(720)] Scheduling an action processor start.
06-11 17:08:46.923 1356 1356 I update_engine: [INFO:action_processor.cc(51)] ActionProcessor: starting UpdateBootFlagsAction
06-11 17:08:46.924 1356 1356 I update_engine: [INFO:update_boot_flags_action.cc(45)] Marking booted slot as good.
06-11 17:08:46.944 1356 1356 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished UpdateBootFlagsAction with code ErrorCode::kSuccess
06-11 17:08:46.945 1356 1356 I update_engine: [INFO:action_processor.cc(143)] ActionProcessor: starting CleanupPreviousUpdateAction
06-11 17:08:46.946 1356 1356 I update_engine: [INFO:cleanup_previous_update_action.cc(149)] Starting/resuming CleanupPreviousUpdateAction
06-11 17:08:46.947 1356 1356 I update_engine: [INFO:cleanup_previous_update_action.cc(189)] Boot completed, waiting on markBootSuccessful()
06-11 17:08:46.948 1356 1356 I update_engine: EnsureMetadataMounted does nothing in Android mode.
06-11 17:08:46.950 1356 1356 I update_engine: Read merge statistics file failed: No such file or directory
06-11 17:08:46.951 1356 1356 I update_engine: [INFO:cleanup_previous_update_action.cc(261)] Waiting for any previous merge request to complete. This can take up to several minutes.
06-11 17:08:46.952 1356 1356 E update_engine: Read state file failed: No such file or directory
06-11 17:08:46.953 1356 1356 E update_engine: Read state file failed: No such file or directory
06-11 17:08:46.953 1356 1356 E update_engine: Read state file failed: No such file or directory
06-11 17:08:46.954 1356 1356 I update_engine: CheckMergeState for snapshots returned: 0
06-11 17:08:46.955 1356 1356 I update_engine: ProcessUpdateState handling state: 0
06-11 17:08:46.956 1356 1356 I update_engine: [INFO:cleanup_previous_update_action.cc(297)] Can't find any snapshot to merge.
06-11 17:08:46.957 1356 1356 E update_engine: Read state file failed: No such file or directory
06-11 17:08:46.958 1356 1356 I update_engine: [INFO:cleanup_previous_update_action.cc(130)] Stopping/suspending/completing CleanupPreviousUpdateAction
06-11 17:08:46.959 1356 1356 I update_engine: [INFO:cleanup_previous_update_action.cc(479)] Not reporting merge stats because state is None
06-11 17:08:46.960 1356 1356 I update_engine: [INFO:cleanup_previous_update_action.cc(130)] Stopping/suspending/completing CleanupPreviousUpdateAction
06-11 17:08:46.961 1356 1356 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished CleanupPreviousUpdateAction with code ErrorCode::kSuccess
06-11 17:08:46.963 1356 1356 I update_engine: [INFO:action_processor.cc(143)] ActionProcessor: starting InstallPlanAction
06-11 17:08:46.964 1356 1356 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished InstallPlanAction with code ErrorCode::kSuccess
06-11 17:08:46.965 1356 1356 I update_engine: [INFO:action_processor.cc(143)] ActionProcessor: starting DownloadAction
06-11 17:08:46.966 1356 1356 I update_engine: [INFO:install_plan.cc(80)] InstallPlan:
06-11 17:08:46.966 1356 1356 I update_engine: type: new_update
06-11 17:08:46.966 1356 1356 I update_engine: version:
06-11 17:08:46.966 1356 1356 I update_engine: source_slot: A
06-11 17:08:46.966 1356 1356 I update_engine: target_slot: B
06-11 17:08:46.966 1356 1356 I update_engine: initial url: file:///sdcard/Download/omni-13-20230611-zenfone8-MICROG.zip
06-11 17:08:46.966 1356 1356 I update_engine: hash_checks_mandatory: true
06-11 17:08:46.966 1356 1356 I update_engine: powerwash_required: false
06-11 17:08:46.966 1356 1356 I update_engine: switch_slot_on_reboot: true
06-11 17:08:46.966 1356 1356 I update_engine: run_post_install: true
06-11 17:08:46.966 1356 1356 I update_engine: is_rollback: false
06-11 17:08:46.966 1356 1356 I update_engine: rollback_data_save_requested: false
06-11 17:08:46.966 1356 1356 I update_engine: write_verity: true
06-11 17:08:46.966 1356 1356 I update_engine: Payload: 0
06-11 17:08:46.966 1356 1356 I update_engine: urls: ()
06-11 17:08:46.966 1356 1356 I update_engine: size: 1286948403
06-11 17:08:46.966 1356 1356 I update_engine: metadata_size: 94417
06-11 17:08:46.966 1356 1356 I update_engine: metadata_signature:
06-11 17:08:46.966 1356 1356 I update_engine: hash: B4F09617B4E7B8E37799BE83DDBB9CC96F8567A3AA4E2EF7721A9DD473987A3C
06-11 17:08:46.966 1356 1356 I update_engine: type: unknown
06-11 17:08:46.966 1356 1356 I update_engine: fingerprint:
06-11 17:08:46.966 1356 1356 I update_engine: app_id:
06-11 17:08:46.966 1356 1356 I update_engine: already_applied: false
06-11 17:08:46.967 1356 1356 I update_engine: [INFO:download_action.cc(86)] Marking new slot as unbootable
06-11 17:08:46.985 1356 1356 I update_engine: [INFO:multi_range_http_fetcher.cc(45)] starting first transfer
06-11 17:08:46.986 1356 1356 I update_engine: [INFO:multi_range_http_fetcher.cc(74)] starting transfer of range 3920+1286948403
06-11 17:08:46.989 1356 1356 I update_engine: [INFO:delta_performer.cc(113)] Completed 0/? operations, 16384/1286948403 bytes downloaded (0%), overall progress 0%
06-11 17:08:46.991 1356 1356 I update_engine: [INFO:delta_performer.cc(344)] Manifest size in payload matches expected value from Omaha
06-11 17:08:46.992 1356 1356 I update_engine: [INFO:delta_performer.cc(884)] Verifying using certificates: /system/etc/security/otacerts.zip
06-11 17:08:46.995 1356 1356 I update_engine: [INFO:payload_verifier.cc(102)] signature blob size = 267
06-11 17:08:46.996 1356 1356 I update_engine: [INFO:payload_verifier.cc(118)] Truncating the signature to its unpadded size: 256.
06-11 17:08:47.004 1356 1356 I update_engine: [INFO:payload_verifier.cc(191)] Failed to verify the signature with 1 keys.
06-11 17:08:47.006 1356 1356 E update_engine: [ERROR:payload_verifier.cc(137)] None of the 1 signatures is correct. Expected hash before padding:
06-11 17:08:47.006 1356 1356 I update_engine: [INFO:utils.cc(414)] Logging array of length: 32
06-11 17:08:47.007 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000000 : ce ce cc 61 4e 77 30 ae 2e 25 f7 fb 0d 5e 45 45
06-11 17:08:47.008 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000010 : 6d 84 c2 1e d5 65 72 55 45 10 20 10 83 5c 76 ba
06-11 17:08:47.009 1356 1356 E update_engine: [ERROR:payload_verifier.cc(140)] But found RSA decrypted hashes:
06-11 17:08:47.010 1356 1356 I update_engine: [INFO:utils.cc(414)] Logging array of length: 256
06-11 17:08:47.011 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000000 : 0b 52 c0 e7 5a ea 17 45 fa 16 88 24 d1 49 50 1d
06-11 17:08:47.012 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000010 : ac 7b bb 2f ce 3d 6f d5 d1 4d 05 2b 43 20 6b 67
06-11 17:08:47.013 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000020 : a3 11 04 81 11 d1 69 de 34 bc 6a 4e 3c 0d e5 4a
06-11 17:08:47.014 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000030 : d0 6e b3 e5 fc 69 57 24 b5 42 c3 bd f9 91 f5 dc
06-11 17:08:47.015 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000040 : 63 ac 7d 17 65 f7 c9 82 13 a5 7f 49 f7 e4 94 f2
06-11 17:08:47.016 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000050 : 13 aa 91 39 a3 c9 7e 66 f2 7b 93 77 84 72 9c 70
06-11 17:08:47.017 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000060 : 8d c4 4e bf 32 96 2f a2 14 0d 44 c3 f2 37 c3 28
06-11 17:08:47.018 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000070 : 8f 2d fd 46 e1 35 4a 32 ac 6b 41 2f 02 13 ec 30
06-11 17:08:47.019 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000080 : dc 01 9c 40 d8 a5 62 1e d1 e7 f9 07 f0 0a a7 dc
06-11 17:08:47.020 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x00000090 : f0 06 1a 63 d0 5e a3 67 d0 03 33 97 04 c2 f6 ac
06-11 17:08:47.021 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x000000a0 : d2 97 4d 0e 95 98 e9 eb 18 38 34 82 34 5e 3f aa
06-11 17:08:47.022 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x000000b0 : a9 3f f0 7e a0 eb 6e 0b bf 09 03 f6 24 85 e3 5f
06-11 17:08:47.023 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x000000c0 : 11 a2 e4 be c6 4d d3 ff f7 4d f2 63 16 e6 d5 e2
06-11 17:08:47.024 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x000000d0 : 69 23 b2 f7 8a 4d bc 6b f8 22 69 78 59 10 ae 4d
06-11 17:08:47.025 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x000000e0 : 79 1d 34 cc 17 65 ce 9d 1a 75 29 dd 74 78 b3 b9
06-11 17:08:47.026 1356 1356 I update_engine: [INFO:utils.cc(431)] 0x000000f0 : 24 b8 db 5b 15 3b 5a ab 39 e1 c7 3d e2 ad 95 2d
06-11 17:08:47.027 1356 1356 E update_engine: [ERROR:payload_metadata.cc(214)] Manifest hash verification failed.
06-11 17:08:47.028 1356 1356 E update_engine: [ERROR:delta_performer.cc(372)] Mandatory metadata signature validation failed
06-11 17:08:47.028 1356 1356 E update_engine: [ERROR:download_action.cc(227)] Error ErrorCode::kDownloadMetadataSignatureMismatch (26) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
06-11 17:08:47.029 1356 1356 I update_engine: [INFO:delta_performer.cc(215)] Discarding 94684 unused downloaded bytes
06-11 17:08:47.031 1356 1356 I update_engine: [INFO:multi_range_http_fetcher.cc(177)] Received transfer terminated.
06-11 17:08:47.031 1356 1356 I update_engine: [INFO:multi_range_http_fetcher.cc(129)] TransferEnded w/ code 200
06-11 17:08:47.032 1356 1356 I update_engine: [INFO:multi_range_http_fetcher.cc(131)] Terminating.
06-11 17:08:47.033 1356 1356 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished DownloadAction with code ErrorCode::kDownloadMetadataSignatureMismatch
06-11 17:08:47.034 1356 1356 I update_engine: [INFO:action_processor.cc(121)] ActionProcessor: Aborting processing due to failure.
06-11 17:08:47.035 1356 1356 I update_engine: [INFO:update_attempter_android.cc(584)] Processing Done.
06-11 17:08:47.038 1356 1356 E update_engine: Read state file failed: No such file or directory
06-11 17:08:47.039 1356 1356 I update_engine: [INFO:metrics_reporter_android.cc(159)] Current update attempt downloads 0 bytes data
ASUS_I006D:/ $
So the update_engine refuse to update the OS using the image /sdcard/Download/omni-13-20230611-zenfone8-MICROG.zip because there is no matching certificate for the new OS image in the file /system/etc/security/otacerts.zip of the running OS.
This is quite a useful feature, but not really necessary for my development phone, so I would like to disable it.
That can be done like this on phones wit installed Magisk:
Create a Magisk Module to replace the file /system/etc/security/otacerts.zip with a zip file with certificates from the original OmniROM image and the self-compiled OmiROM image.
To create that file do:
First copy the file /system/etc/security/otacerts.zip from the original OmniROM installed to the directory /sdcard/Download and then to your local workstation via adb pull command.
The file otacerts.zip for the self-compiled OmniROM image for the ASUS Zenfone 8 is in the directory ./out/target/product/zenfone8/system/etc/security in the build tree for the OmniROM.
Extract the certificate testkey.x509.pem from the file otacerts.zip in the build tree, rename it, add it to the file otacerts.zip from the original OmniROM image, and upload the changed file otacerts.zip to the phone:
Spoiler: Example instructions to create a new otacerts.zip file
Code:
#
# download the file /system/etc/security/otacerts.zip from the installed OS
#
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ adb pull /system/etc/security/otacerts.zip
/system/etc/security/otacerts.zip: 1 file pulled, 0 skipped. 0.5 MB/s (2116 bytes in 0.004s)
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
#
# list the contents of the file otacerts.zip from the original OmniROM
#
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ unzip -t otacerts.zip
Archive: otacerts.zip
testing: testkey.x509.pem OK
No errors detected in compressed data of otacerts.zip.
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
# extract the certificate from the file otacerts.zip from the local build tree for the OmniROM OS
#
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ unzip ../OmniROM_13.0/out/target/product/zenfone8/system/etc/security/otacerts.zip
Archive: ../OmniROM_13.0/out/target/product/zenfone8/system/etc/security/otacerts.zip
inflating: testkey.x509.pem
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ ls -ltr
total 8
-rw-r--r--. 1 xtrnaw7 xtrnaw7 1675 Jan 1 2008 testkey.x509.pem
-rw-r--r--. 1 xtrnaw7 xtrnaw7 1023 Jun 11 11:17 otacerts.zip
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
# the name of the certificate for both versions of the OmniROM is the same therefor we rename the certificate from the self-compiled OmniROM
#
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ mv testkey.x509.pem my_testkey.x509.pem
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
# add the certificate from the self-compiled OmniROM to the file otacerts.zip from the original OmniROM
#
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ zip -u otacerts.zip my_testkey.x509.pem
adding: my_testkey.x509.pem (deflated 44%)
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
# check the result
#
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ unzip -t otacerts.zip
Archive: otacerts.zip
testing: testkey.x509.pem OK
testing: my_testkey.x509.pem OK
No errors detected in compressed data of otacerts.zip.
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
# copy the changed file otacerts.zip to the phone
#
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ adb push otacerts.zip /sdcard/Download/
otacerts.zip: 1 file pushed, 0 skipped. 21.5 MB/s (2116 bytes in 0.000s)
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
Now open an adb shell on the phone and create a dummy Magisk Module to replace the file /system/etc/security/otacerts.zip with the new zip file:
Spoiler: Instructions to create the dummy Magisk Module to replace the file otacerts.zip
Code:
#
# these commands must be done by the user root
#
ASUS_I006D:/data/develop1 # id
uid=0(root) gid=0(root) groups=0(root) context=u:r:magisk:s0
ASUS_I006D:/data/develop1 #
# create the dummy magisk Module
#
ASUS_I006D:/data/develop1 # mkdir -p /data/adb/modules/add_certificate/system/etc/security
ASUS_I006D:/data/develop1 # cp /sdcard/Download/otacerts.zip /data/adb/modules/add_certificate/system/etc/security
ASUS_I006D:/data/develop1 #
ASUS_I006D:/data/develop1 # chmod 644 /data/adb/modules/add_certificate/system/etc/security/otacerts.zip
ASUS_I006D:/data/develop1 #
ASUS_I006D:/data/develop1 # ls -lZtr /system/etc/security/otacerts.zip
-rw-r--r-- 1 root root u:object_r:system_file:s0 1023 2009-01-01 01:00 /system/etc/security/otacerts.zip
ASUS_I006D:/data/develop1 #
ASUS_I006D:/data/develop1 # ls -ltrZ /data/adb/modules/add_certificate/system/etc/security/otacerts.zip
-rw-r--r-- 1 root root u:object_r:system_file:s0 2116 2023-06-11 11:21 /data/adb/modules/add_certificate/system/etc/security/otacerts.zip
ASUS_I006D:/data/develop1 #
Next reboot the phone to activate the dummy Magisk Module.
Check the result after the reboot:
Code:
ASUS_I006D:/ $ unzip -t /system/etc/security/otacerts.zip
Archive: /system/etc/security/otacerts.zip
testing: testkey.x509.pem OK
testing: my_testkey.x509.pem OK
No errors detected in compressed data of /system/etc/security/otacerts.zip.
ASUS_I006D:/ $
Now you can update the installed original OmniROM image with a self-compiled OmniROM image and vice versa using the local file functionality of the SystemUpdate App from the OmniROM OS as long as the dummy Magisk module is installed.
It's recommended to create a complete Magisk Module for this replacment if used on a regular base.
Notes
The certificate for the OmniROM OS is valid until March 2041:
Code:
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $ keytool -printcert -file testkey.x509.pem 2>/dev/null | grep "Valid from:"
Valid from: Fri Oct 25 04:40:22 CEST 2013 until: Tue Mar 12 03:40:22 CET 2041
[ OmniRom 13 Dev - [email protected] /data/develop/android/otacerts ] $
Therefor the new zip file with the certificates should work for a while.
This method only works with compatible OS images - e.g. you cannot use it to update the OmniROM image with the original Android image from ASUS or an image with the LineageOS.
(well, you can -- but after the update the new OS will not boot ...)
Temporary allow updating another OS image
To only temporary allow the update to another compatible OS via SystemUpdate App you may use a bind mount. bind mounts need root access therefor an installed Magisk or any other tool to get root access is required.
The steps necessary for this temporary solution are:
First copy the file /system/etc/security/otacerts.zip from the OS image to install to the phone, e.g.:
Code:
adb push otacerts.zip /sdcard/Download/my_otacerts.zip
Then create a temporary bind mount on the phone for the file /system/etc/security/otacerts.zip :
Code:
su - -c mount -o bind /sdcard/Download/my_otacerts.zip /system/etc/security/otacerts.zip
Now the update via SystemUpdate app will work.
Note:
bind mounts are only temporary and will not survive the reboot
Trouble Shooting
The error message "Update failed with error 51" is printed by the SystemUpdate App when the new OS image is older then the installed OS image. I did not yet find a method to disable that test.
To get a more detailed error message for the errors of the SystemUpdate app use this command in an adb shell:
Code:
ASUS_I006D:/ # logcat -d | grep update_engine | grep ERROR
06-11 11:30:32.154 1428 1428 E update_engine: [ERROR:delta_performer.cc(1046)] The current OS build timestamp (1686434647) is newer than the maximum timestamp in the manifest (1683475334)
06-11 11:30:32.155 1428 1428 E update_engine: [ERROR:download_action.cc(227)] Error ErrorCode::kPayloadTimestampError (51) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
Disclaimer
This procedure should NOT be performed on phones in productive use. -- the procedure is intended for testing and development only.

Related

why is 52bytes?

I had search lot of thread which write "busybox dd if=/system/framework/xxxx.odex of=/data/local/tmp/odex/xxx.odex bs=1 count=20 skip=52 seek=52 conv=notrunc".according to http://source.android.com document(odex/dex format), signature don't start at 0x34!
why?how to calculate is 52bytes(0x34)?THX
according to dex/odex format( http://source.android.com ),signature should start at 0x0c,not 0x34.so skip=52 seek=52 should skip = 12 seek= 12.But in lots of thread write 52 bytes,so i dont understand.
quywz said:
I had search lot of thread which write "busybox dd if=/system/framework/xxxx.odex of=/data/local/tmp/odex/xxx.odex bs=1 count=20 skip=52 seek=52 conv=notrunc".according to http://source.android.com document(odex/dex format), signature don't start at 0x34!
why?how to calculate is 52bytes(0x34)?THX
Click to expand...
Click to collapse
Did I understand you right that you want to know how 0x34 can be 52? Well, it's a hexadecimal number. Strike the '0x'(not part of the number) out and you have '34'. Hexadecimal is base 16, so it's:
4*16^0=4 and 3*16^1=48, together it makes 52.
dark_knight35 said:
Did I understand you right that you want to know how 0x34 can be 52? Well, it's a hexadecimal number. Strike the '0x'(not part of the number) out and you have '34'. Hexadecimal is base 16, so it's:
4*16^0=4 and 3*16^1=48, together it makes 52.
Click to expand...
Click to collapse
NO,according to dex/odex format( http://source.android.com ),signature should start at 0x0c,not 0x34.so skip=52 seek=52 should skip = 12 seek= 12.But in lots of thread write 52 bytes,so i dont understand.
quywz said:
I had search lot of thread which write "busybox dd if=/system/framework/xxxx.odex of=/data/local/tmp/odex/xxx.odex bs=1 count=20 skip=52 seek=52 conv=notrunc".according to http://source.android.com document(odex/dex format), signature don't start at 0x34!
why?how to calculate is 52bytes(0x34)?THX
according to dex/odex format( http://source.android.com ),signature should start at 0x0c,not 0x34.so skip=52 seek=52 should skip = 12 seek= 12.But in lots of thread write 52 bytes,so i dont understand.
Click to expand...
Click to collapse
Indeed, this is an interesting question. With the 8 "magic" bytes and the 4 bytes of the checksum, the signature should begin at 12 (0x0c), not 52.
Maybe this is related to the .odex format. I was only able to find documentation for the .dex format, and maybe the optimization process adds 40 bytes at the beginning of the file. I'll try to look into the source code, but if someone has the answer, I'll be glad to hear it as well.
EDIT : Found in libdex/DexFile.h
Code:
/*
* Header added by DEX optimization pass. Values are always written in
* local byte and structure padding. The first field (magic + version)
* is guaranteed to be present and directly readable for all expected
* compiler configurations; the rest is version-dependent.
*
* Try to keep this simple and fixed-size.
*/
struct DexOptHeader {
u1 magic[8]; /* includes version number */
u4 dexOffset; /* file offset of DEX header */
u4 dexLength;
u4 depsOffset; /* offset of optimized DEX dependency table */
u4 depsLength;
u4 optOffset; /* file offset of optimized data tables */
u4 optLength;
u4 flags; /* some info flags */
u4 checksum; /* adler32 checksum covering deps/opt */
/* pad for 64-bit alignment if necessary */
};
This additional header for optimized .dex files (.odex) is indeed 40 bytes-long.
Einril said:
Indeed, this is an interesting question. With the 8 "magic" bytes and the 4 bytes of the checksum, the signature should begin at 12 (0x0c), not 52.
Maybe this is related to the .odex format. I was only able to find documentation for the .dex format, and maybe the optimization process adds 40 bytes at the beginning of the file. I'll try to look into the source code, but if someone has the answer, I'll be glad to hear it as well.
EDIT : Found in libdex/DexFile.h
Code:
/*
* Header added by DEX optimization pass. Values are always written in
* local byte and structure padding. The first field (magic + version)
* is guaranteed to be present and directly readable for all expected
* compiler configurations; the rest is version-dependent.
*
* Try to keep this simple and fixed-size.
*/
struct DexOptHeader {
u1 magic[8]; /* includes version number */
u4 dexOffset; /* file offset of DEX header */
u4 dexLength;
u4 depsOffset; /* offset of optimized DEX dependency table */
u4 depsLength;
u4 optOffset; /* file offset of optimized data tables */
u4 optLength;
u4 flags; /* some info flags */
u4 checksum; /* adler32 checksum covering deps/opt */
/* pad for 64-bit alignment if necessary */
};
This additional header for optimized .dex files (.odex) is indeed 40 bytes-long.
Click to expand...
Click to collapse
struct DexOptHeader is 40 bytes-long,but already include magic + checksum.pls look at dexOffset which is file offset of DEX header and depsOffset which is offset of optimized DEX dependency table.so, maybe the pos of signature is magic + checksum +dexOffset +depsOffset.right?
maybe the dexOffset and depsOffset are according to device models have different value.
I copy aheader 40 bytes from classes.dex(836KB).
Code:
64 65 78 0a 30 33 35 00 a1 f6 7a 1b e6 a3 fb 35
5b d5 66 72 b8 33 36 3a 40 a1 4b ea 40 2f d3 fc
58 0e 0d 00 70 00 00 00
but In Dalvik Executable Format document,dex header is 112 bytes.
according to struct DexOptHeader, checksum = 0x70.dexOffset is so large!depsOffset is large too!
DexOptHeader seem unused.
I copy aheader 40 bytes from classes.dex(836KB).
Code:
64 65 78 0a 30 33 35 00 a1 f6 7a 1b e6 a3 fb 35
5b d5 66 72 b8 33 36 3a 40 a1 4b ea 40 2f d3 fc
58 0e 0d 00 70 00 00 00
but In Dalvik Executable Format document,dex header is 112 bytes.
according to struct DexOptHeader, checksum = 0x70.dexOffset is so large!depsOffset is large too!
DexOptHeader seem unused.
quywz said:
I copy aheader 40 bytes from classes.dex(836KB).
Code:
64 65 78 0a 30 33 35 00 a1 f6 7a 1b e6 a3 fb 35
5b d5 66 72 b8 33 36 3a 40 a1 4b ea 40 2f d3 fc
58 0e 0d 00 70 00 00 00
but In Dalvik Executable Format document,dex header is 112 bytes.
according to struct DexOptHeader, checksum = 0x70.dexOffset is so large!depsOffset is large too!
DexOptHeader seem unused.
Click to expand...
Click to collapse
Actually, you're looking at a .dex file header, not a .odex file header, so I'm not sure what you're looking for. Here there is no dexOffset, nor depsOffset, and the checksum is "a1 f6 7a 1b".
For the magic bytes + checksum, maybe these are redundant, and the optimization process only add a 40 bytes header without altering the old one.
To be sure, we would need to look into a .odex file header.
EDIT : Here are the 0x40 first bytes of systemUI.odex
Code:
000000 [B][COLOR="Red"]64 65 79 0A 30 33 36 00[/COLOR][/B] [B][COLOR="YellowGreen"]28[/COLOR][/B] 00 00 00 58 57 09 00
000010 80 57 09 00 C0 02 00 00 40 5A 09 00 38 16 01 00
000020 00 00 00 00 A2 E1 D9 FA [B][COLOR="Red"]64 65 78 0A 30 33 35 00[/COLOR][/B]
000030 E9 5F F1 ED B3 06 98 D7 80 5D 7D EF 63 7B D7 23
000040 5D 79 05 67 EF 1B 35 E7 58 57 09 00 70 00 00 00
We can see that there are indeed two sets of magic bytes, one beginning at 0 (the .odex magic bytes), and one beginning at 40 bytes (the .dex magic bytes).
As a side note, dexOffset is indeed 0x28 (40).
Einril said:
Actually, you're looking at a .dex file header, not a .odex file header, so I'm not sure what you're looking for. Here there is no dexOffset, nor depsOffset, and the checksum is "a1 f6 7a 1b".
For the magic bytes + checksum, maybe these are redundant, and the optimization process only add a 40 bytes header without altering the old one.
To be sure, we would need to look into a .odex file header.
EDIT : Here are the 0x40 first bytes of systemUI.odex
Code:
000000 [B][COLOR="Red"]64 65 79 0A 30 33 36 00[/COLOR][/B] [B][COLOR="YellowGreen"]28[/COLOR][/B] 00 00 00 58 57 09 00
000010 80 57 09 00 C0 02 00 00 40 5A 09 00 38 16 01 00
000020 00 00 00 00 A2 E1 D9 FA [B][COLOR="Red"]64 65 78 0A 30 33 35 00[/COLOR][/B]
000030 E9 5F F1 ED B3 06 98 D7 80 5D 7D EF 63 7B D7 23
000040 5D 79 05 67 EF 1B 35 E7 58 57 09 00 70 00 00 00
We can see that there are indeed two sets of magic bytes, one beginning at 0 (the .odex magic bytes), and one beginning at 40 bytes (the .dex magic bytes).
As a side note, dexOffset is indeed 0x28 (40).
Click to expand...
Click to collapse
right.
thank for your libdex/DexFile.h.
Pls take note of dexOffset is file offset of DEX header.Refer original android.policy.odex,I guess odex header format is DexOptHeader + dex's Header.now,the signature pos is dexOffset + magic(dex's magic) + checksum(dex's checksum).view original android.policy.odex,we will find dexOffset value is 0x28.so signature = 0x28 +0x8 + 0x4=0x34
quywz said:
right.
thank for your libdex/DexFile.h.
Pls take note of dexOffset is file offset of DEX header.Refer original android.policy.odex,I guess odex header format is DexOptHeader + dex's Header.now,the signature pos is dexOffset + magic(dex's magic) + checksum(dex's checksum).view original android.policy.odex,we will find dexOffset value is 0x28.so signature = 0x28 +0x8 + 0x4=0x34
Click to expand...
Click to collapse
Exactly. When optimizing an .dex file, the process adds the DexOptHeader at the beginning of the file. Thus, the resulting header is DexOptHeader + DexHeader (DexHeader beginning at 0x28), and the new position of the signature is 0x34 = 52 bytes
Einril said:
Exactly. When optimizing an .dex file, the process adds the DexOptHeader at the beginning of the file. Thus, the resulting header is DexOptHeader + DexHeader (DexHeader beginning at 0x28), and the new position of the signature is 0x34 = 52 bytes
Click to expand...
Click to collapse
THX.
Next topic.If you have time,pls help http://forum.xda-developers.com/showthread.php?p=41254960#post41254960:)
dark_knight35 said:
Did I understand you right that you want to know how 0x34 can be 52? Well, it's a hexadecimal number. Strike the '0x'(not part of the number) out and you have '34'. Hexadecimal is base 16, so it's:
4*16^0=4 and 3*16^1=48, together it makes 52.
Click to expand...
Click to collapse
If you have time,pls help http://forum.xda-developers.com/show...#post41254960:)
thx.

Moto x4 Magisk OTA updates

Has anyone gotten OTA updates to work using the magisk a/b tutorial? I've never gotten it to take an OTA, I usually have to find a recent firmware download and reflash, then go through all the OTAs until I'm done, then reroot with magisk. There's got to be a better way to do it.
I'm wondering if the problem is that I'm installing magisk via TWRP (not flashing twrp, just booting to it). Anyone have any advice?
I do not get OTAs because of unlocked bootloader. But at least I just installed an update to slot B, rebooted to A and rooted B with the Magisk app successfully.
As long as I find updates here, that's ok, I think. Updates do not come often. It's not a Xiaomi in beta test mode.
You can get OTA with an unlocked bootloader. My bootloader has been unlocked since shortly after I got my phone. I might end up doing what you suggest; I know how to get the OTA package from the logs on the phone, so I could just download the OTA and install myself. I was just hoping to get the super snazzy method that magisk allows working.
This latest update was weird. I tried my usual technique (reflash everything without wiping userdata to the last stock ROM, which removes magisk, then update with OTA), but it failed. The new version's ROM was uploaded though, so I could just use that one.
I tried something different this time in that I used the "patch boot image" method instead of installing through TWRP. I'll see if that makes a difference or not next time the updates occur.
And you're right, at least I only have to fiddle with it once a month or so.
This is from/for Lineage 15.1: https://forum.xda-developers.com/showpost.php?p=78722460&postcount=830
Sounds like you need to reflash TWRP after every update but magisk sticks.
I have gotten exactly one OTA with unlocked BL, a security patch for 8.1.
Since then, installation of every downloaded OTA failed.
I once had pulled the OTA file to my PC, but I failed to turn it into a flashable image. I have posted a question about it in the X4 forums.
EDIT: it was 8.0. => click
dougo007 said:
This is from/for Lineage 15.1: https://forum.xda-developers.com/showpost.php?p=78722460&postcount=830
Sounds like you need to reflash TWRP after every update but magisk sticks.
Click to expand...
Click to collapse
I don't have TWRP flashed anymore (I wasn't using it for anything). The problem is that it's not taking the OTA update at all. It says update failed due to unspecified error. When I look through the logs, I see that it's failing because the system partition hash isn't matching what's expected, despite me not modifying the system partiton at all (as far as I know). All I use magisk for is root for adblocking (adguard) and call recording (call recorder), and I used the vanced module from the repo. I don't think any of that should make my /system not match, but I'm not really sure.
oz42 said:
I have gotten exactly one OTA with unlocked BL, a security patch for 8.1.
Since then, installation of every downloaded OTA failed.
I once had pulled the OTA file to my PC, but I failed to turn it into a flashable image. I have posted a question about it in the X4 forums.
Click to expand...
Click to collapse
As far as I know, you can't just directly flash OTAs. You have to go into TWRP and do the sideload thing, though I could be mistaken. It's been a long time since I've tried doing it that way.
tjololo12 said:
As far as I know, you can't just directly flash OTAs. You have to go into TWRP and do the sideload thing, though I could be mistaken. It's been a long time since I've tried doing it that way.
Click to expand...
Click to collapse
I am ~90% sure that OEM OTAs (it sounds like that is what you are discussing) are installed via ADB sideload.
tjololo12 said:
When I look through the logs, I see that it's failing because the system partition hash isn't matching what's expected
Click to expand...
Click to collapse
I wonder if there's a way we can bake in the updated hash value of the system partition to trick the OTA into loading. which log file did you find this in?
trevorcobb said:
I wonder if there's a way we can bake in the updated hash value of the system partition to trick the OTA into loading. which log file did you find this in?
Click to expand...
Click to collapse
I'm not sure honestly, I just did "adb logcat" and watched it while I ran the update. I'm perfectly willing to help you or anyone troubleshoot this. I have a version of Android I can flash before the last update, if you want me to look into something. Otherwise, we can wait until the next one.
Good thread so far. Anyone find a solid work around for this last OTA?
Sent from my moto x4 using Tapatalk
trevorcobb said:
I wonder if there's a way we can bake in the updated hash value of the system partition to trick the OTA into loading. which log file did you find this in?
Click to expand...
Click to collapse
Here's the section from adb logcat
Code:
04-02 07:39:11.716 1447 1447 I update_engine: [0402/073911.715938:INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/boot_a partition without O_DSYNC
04-02 07:39:11.716 1447 1447 I update_engine: [0402/073911.716773:INFO:delta_performer.cc(129)] Caching writes.
04-02 07:39:11.716 1447 1447 I update_engine: [0402/073911.716954:INFO:delta_performer.cc(397)] Applying 2 operations to partition "boot"
<unrelated things here>
04-02 07:39:13.065 1447 1447 E update_engine: [0402/073913.065604:ERROR:fec_file_descriptor.cc(30)] No ECC data in the passed file
04-02 07:39:13.065 1447 1447 E update_engine: [0402/073913.065821:ERROR:delta_performer.cc(432)] Unable to open ECC source partition boot on slot B, file /dev/block/bootdevice/by-name/boot_b: Invalid argum
ent
04-02 07:39:13.065 1447 1447 E update_engine: [0402/073913.065902:ERROR:delta_performer.cc(1042)] The hash of the source data on disk for this operation doesn't match the expected value. This could mean th
at 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.
04-02 07:39:13.065 1447 1447 E update_engine: [0402/073913.065954:ERROR:delta_performer.cc(1047)] Expected: sha256|hex = AD67C3189DCBFF888499FF8E6D9CCF77D162421ABBB684AD93CD4D74B29D742D
04-02 07:39:13.066 1447 1447 E update_engine: [0402/073913.066004:ERROR:delta_performer.cc(1050)] Calculated: sha256|hex = CF6389937B1AD2F683C710FDA74CA518851F8DF71372C5E4A1349092E3CE25DE
04-02 07:39:13.066 1447 1447 E update_engine: [0402/073913.066057:ERROR:delta_performer.cc(1061)] Operation source (offset:size) in blocks: 0:3336,3576:1985
04-02 07:39:13.066 1447 1447 E update_engine: [0402/073913.066130:ERROR:delta_performer.cc(1345)] source_fd != nullptr failed.
04-02 07:39:13.066 1447 1447 E update_engine: [0402/073913.066183:ERROR:delta_performer.cc(301)] Failed to perform BROTLI_BSDIFF operation 244, which is the operation 0 in partition "boot"
04-02 07:39:13.066 1447 1447 E update_engine: [0402/073913.066238:ERROR:download_action.cc(337)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the
received payload -- Terminating processing
04-02 07:39:13.075 1447 1447 I update_engine: [0402/073913.075061:INFO:delta_performer.cc(317)] Discarding 18435331 unused downloaded bytes
04-02 07:39:13.077 1447 1447 I update_engine: [0402/073913.077715:INFO:multi_range_http_fetcher.cc(172)] Received transfer terminated.
04-02 07:39:13.077 1447 1447 I update_engine: [0402/073913.077897:INFO:multi_range_http_fetcher.cc(124)] TransferEnded w/ code 206
04-02 07:39:13.077 1447 1447 I update_engine: [0402/073913.077950:INFO:multi_range_http_fetcher.cc(126)] Terminating.
04-02 07:39:13.078 1447 1447 I update_engine: [0402/073913.078002:INFO:action_processor.cc(116)] ActionProcessor: finished DownloadAction with code ErrorCode::kDownloadStateInitializationError
04-02 07:39:13.078 1447 1447 I update_engine: [0402/073913.078056:INFO:action_processor.cc(121)] ActionProcessor: Aborting processing due to failure.
04-02 07:39:13.078 1447 1447 I update_engine: [0402/073913.078106:INFO:update_attempter_android.cc(470)] Processing Done.
04-02 07:39:13.079 1447 1447 I update_engine: [0402/073913.079041:INFO:update_attempter_android.cc(495)] Resetting update progress.
04-02 07:39:13.079 1447 1447 D NetdClient: setNetworkForTarget(0)
04-02 07:39:13.079 8128 17008 D OtaApp : UpdateEngineCallbackImplementation: StatusUpdate 0 percentage 0.0
04-02 07:39:13.080 1447 1447 I update_engine: [0402/073913.080598:INFO:update_attempter_android.cc(655)] metrics:({
04-02 07:39:13.080 1447 1447 I update_engine: "downloadPercentageAdminApn": 0.0,
04-02 07:39:13.080 1447 1447 I update_engine: "downloadPercentageCellular": 0.0,
04-02 07:39:13.080 1447 1447 I update_engine: "downloadPercentageWifi": 5.0,
04-02 07:39:13.080 1447 1447 I update_engine: "downloadTotalSize": 20279759,
04-02 07:39:13.080 1447 1447 I update_engine: "downloadTotalTime": 4435.0,
04-02 07:39:13.080 1447 1447 I update_engine: "errorCode": 20,
04-02 07:39:13.080 1447 1447 I update_engine: "networkId": 634765889549.0,
04-02 07:39:13.080 1447 1447 I update_engine: "networkType": "WIFI",
04-02 07:39:13.080 1447 1447 I update_engine: "sessionAttemptNumber": 1.0,
04-02 07:39:13.080 1447 1447 I update_engine: "sessionAttemptResult": 1,
04-02 07:39:13.080 1447 1447 I update_engine: "sessionDownloadDuration": 121005476.0
04-02 07:39:13.080 1447 1447 I update_engine: })
Does that help track things down? Any other way I can help look into things?
There's already a method explained in the FAQs thread for installing official OTAs on rooted stock. TWRP has to be reinstalled after though.
Are you just trying to search for a more efficient solution?
Neffy27 said:
There's already a method explained in the FAQs thread for installing official OTAs on rooted stock. TWRP has to be reinstalled after though.
Are you just trying to search for a more efficient solution?
Click to expand...
Click to collapse
Exactly what post in the FAQ are you referring to??
Sent from my moto x4 using Tapatalk
SR3TLAW said:
Exactly what post in the FAQ are you referring to??
Click to expand...
Click to collapse
Here...
Neffy27 said:
...
12. I am rooted and now Official OTAs don't install
This is a known issue with no fix. Your only option is to wait for copy of latest firmware to be available and manually flash it without the erase userdata to keep your data. Another option is if you are receiving the OTA notification, manually re-flash current firmware build without the erase userdata to keep your data and proceed to accept the OTA (You will have to re-install TWRP/re-root.)
...
Click to expand...
Click to collapse

Need Belutooth partition backup of Moto one power device having January 1st Patch

Hi all,
Can anybody please share the twrp backup of bluetooth partition of Moto One Power device having the Pie January 1st Patch? My bluetooth partition got formatted while restoring the twrp backup and restore got failed. Now I'm not able to use the bluetooth. I have got the OTA with face unlock, But thile installing the OTA I started getting bluetooth partition block verification failed saying partition got mounted rw. And while restoring the earlier backup it got formatted :crying:
Got it fixed after a hell lot of research
Hi all,
Finally after searching a lot in net, flashed the bluetooth partition with the img file available in the following site ( Phenotypically ) -> mirrors[dot]lolinet[dot]com[slash]firmware[slash]moto[slash]chef[slash]official[slash]RETIN
The root cause for getting the partition formatted is gettiing the following error, to solve it I tried to restore bluetooth partition and it resulted currupt. Hope it may help somebody who will be get the same issue and stumble upon this page.
I was getting "Update Failed" error in Moto updator. While checking for the logs via adb observed the following error :
Code:
update_engine: [0306/081413.872062:INFO:delta_performer.cc(397)] Applying 8 operations to partition "bluetooth"
update_engine: [0306/081413.885946:ERROR:fec_file_descriptor.cc(30)] No ECC data in the passed file
update_engine: [0306/081413.886903:ERROR:delta_performer.cc(432)] Unable to open ECC source partition bluetooth on slot A, file /dev/block/bootdevice/by-name/bluetooth_a: Success
update_engine: [0306/081413.887044:ERROR:delta_performer.cc(1042)] 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.
update_engine: [0306/081413.887251:ERROR:delta_performer.cc(1047)] Expected: sha256|hex = 9F69430D4BED82B26E49AAA81E0F1E823687605099AD61F45A361A96E7BE6FEE
update_engine: [0306/081413.887321:ERROR:delta_performer.cc(1050)] Calculated: sha256|hex = 734059C0A03A2B2E61CBF3302F2982F3811FD243064D434A6CFC0FAEBDBC0E85
update_engine: [0306/081413.887393:ERROR:delta_performer.cc(1061)] Operation source (offset:size) in blocks: 0:1,6:2,34:1,101:30
update_engine: [0306/081413.887487:WARNING:mount_history.cc(66)] Device was remounted R/W 1 times. Last remount happened on 2019-03-05 03:36:34.000 UTC.
update_engine: [0306/081413.887573:ERROR:delta_performer.cc(1340)] source_fd != nullptr failed.
update_engine: [0306/081413.887652:ERROR:delta_performer.cc(301)] Failed to perform BROTLI_BSDIFF operation 4604, which is the operation 0 in partition "bluetooth"
update_engine: [0306/081413.887721:ERROR:download_action.cc(337)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
update_engine: [0306/081413.888372:INFO:delta_performer.cc(317)] Discarding 301 unused downloaded bytes
update_engine: [0306/081413.894845:INFO:multi_range_http_fetcher.cc(172)] Received transfer terminated.
update_engine: [0306/081413.895113:INFO:multi_range_http_fetcher.cc(124)] TransferEnded w/ code 206
update_engine: [0306/081413.895166:INFO:multi_range_http_fetcher.cc(126)] Terminating.
update_engine: [0306/081413.895224:INFO:action_processor.cc(116)] ActionProcessor: finished DownloadAction with code ErrorCode::kDownloadStateInitializationError
update_engine: [0306/081413.895278:INFO:action_processor.cc(121)] ActionProcessor: Aborting processing due to failure.
Since Moto One Power is having A/B Partition and seemless update support, It looks like the incremental security update was checking for the checksum of the corresponding partition before applying the incremental update. To fix this I flashed the bluetooth and other failing partitions with the apropriate images available in the above shared link.
Hi there, i'm facing the same issue. Can u please tell me which img to flash from stock firmware?

Help Couldnt install any custom rom whatsoever

heres a log
Installing zip file '/sdcard/Havoc-OS-v2.6-20190611-jasmine_sprout-Official.zip'
Checking for Digest file...
Skipping Digest check: no Digest file found
I:AB zip
I:has_legacy_properties: Could not open /tmp/updater: No such file or directory!
I:Legacy property environment not used in updater.
Failed to parse build number in post-build-incremental=eng.rcstar.20190611.020532.
__bionic_open_tzdata: couldn't find any tzdata when looking for PAKST-5:30!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
[0617/224002:INFO:sideload_main.cc(207)] Update Engine Sideloading starting
[0617/224002:INFO:boot_control_recovery.cc(77)] Loaded boot_control HAL 'Boot control HAL' version 0.1 authored by 'Code Aurora Forum'.
[0617/224002:INFO:update_attempter_android.cc(207)] Using this install plan:
[0617/224002:INFO:install_plan.cc(77)] InstallPlan: new_update, source_slot: B, target_slot: A, url: file:///sdcard/Havoc-OS-v2.6-20190611-jasmine_sprout-Official.zip, payload: (size: 730303102, metadata_size: 143458, metadata signature: , hash: B3621E6FF72FDADC09D057ABA4C33A710920E6009EC948044D95B047F1C524B3, payload type: unknown), hash_checks_mandatory: false, powerwash_required: false
[0617/224002:INFO:update_attempter_android.cc(391)] Marking booted slot as good.
[0617/224002:ERROR:boot_control_recovery.cc(175)] Unable to mark boot successful: Operation not permitted
[0617/224002:INFO:update_attempter_android.cc(406)] Scheduling an action processor start.
[0617/224002:INFO:action_processor.cc(46)] ActionProcessor: starting InstallPlanAction
[0617/224002:INFO:action_processor.cc(116)] ActionProcessor: finished InstallPlanAction with code ErrorCode::kSuccess
[0617/224002:INFO:action_processor.cc(143)] ActionProcessor: starting DownloadAction
[0617/224002:INFO:install_plan.cc(77)] InstallPlan: new_update, source_slot: B, target_slot: A, url: file:///sdcard/Havoc-OS-v2.6-20190611-jasmine_sprout-Official.zip, payload: (size: 730303102, metadata_size: 143458, metadata signature: , hash: B3621E6FF72FDADC09D057ABA4C33A710920E6009EC948044D95B047F1C524B3, payload type: unknown), hash_checks_mandatory: false, powerwash_required: false
[0617/224002:INFO:download_action.cc(195)] Marking new slot as unbootable
[0617/224002:ERROR:boot_control_recovery.cc(155)] Unable to mark slot A as bootable: Operation not permitted
[0617/224002:WARNING:download_action.cc(197)] Unable to mark new slot A. Proceeding with the update anyway.
[0617/224002:INFO:multi_range_http_fetcher.cc(45)] starting first transfer
[0617/224002:INFO:multi_range_http_fetcher.cc(74)] starting transfer of range 1106+730303102
Step 1/2[0617/224002:INFO:delta_performer.cc(201)] Completed 0/? operations, 16384/730303102 bytes downloaded (0%), overall progress 0%
[0617/224002:INFO:delta_performer.cc(544)] Manifest size in payload matches expected value from Omaha
[0617/224002:INFO:delta_performer.cc(1369)] Verifying metadata hash signature using public key: /etc/update_engine/update-payload-key.pub.pem
[0617/224002:INFO:delta_performer.cc(1411)] Metadata hash signature matches value in Omaha response.
[0617/224002:INFO:delta_performer.cc(1431)] Detected a 'full' payload.
[0617/224002:INFO:delta_performer.cc(382)] PartitionInfo old boot sha256: size: 0
[0617/224002:INFO:delta_performer.cc(382)] PartitionInfo new boot sha256: 7sseQdNxPzpof5gw06pO3kxbGAgrRWt0fLhFTqW1di4= size: 39817216
[0617/224002:INFO:delta_performer.cc(382)] PartitionInfo old system sha256: size: 0
[0617/224002:INFO:delta_performer.cc(382)] PartitionInfo new system sha256: oLanZrAGfJ7MqFRrqbwKe4Z1mCaK46v/ezPPJSp1Fi8= size: 3221225472
[0617/224002:INFO:delta_performer.cc(382)] PartitionInfo old vendor sha256: size: 0
[0617/224002:INFO:delta_performer.cc(382)] PartitionInfo new vendor sha256: gS4RsefgJ3Qh1ZSLK5t0ctCDRdVZHLSynExBqW/Iq7g= size: 2147483648
[0617/224002:INFO:delta_performer.cc(368)] Applying 19 operations to partition "boot"
[0617/224002:INFO:delta_performer.cc(661)] Starting to apply update payload operations
[0617/224004:INFO:delta_performer.cc(368)] Applying 1536 operations to partition "system"
[0617/224017:INFO:delta_performer.cc(201)] Completed 136/2579 operations (5%), 116850688/730303102 bytes downloaded (16%), overall progress 10%
[0617/224030:INFO:delta_performer.cc(201)] Completed 289/2579 operations (11%), 219103232/730303102 bytes downloaded (30%), overall progress 20%
[0617/224043:INFO:delta_performer.cc(201)] Completed 421/2579 operations (16%), 321339392/730303102 bytes downloaded (44%), overall progress 30%
[0617/224046:ERROR:xz_extent_writer.cc(89)] xz_dec_run returned XZ_DATA_ERROR
[0617/224046:ERROR:delta_performer.cc(937)] writer->Write(buffer_.data(), operation.data_length()) failed.
[0617/224046:ERROR:extent_writer.h(38)] End() not called on ExtentWriter.
[0617/224046:ERROR:extent_writer.h(38)] End() not called on ExtentWriter.
[0617/224046:ERROR:extent_writer.h(38)] End() not called on ExtentWriter.
[0617/224046:ERROR:delta_performer.cc(288)] Failed to perform REPLACE_XZ operation 452, which is the operation 433 in partition "system"
[0617/224046:ERROR:download_action.cc(325)] Error ErrorCode::kDownloadOperationExecutionError (28) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
[0617/224046:INFO:delta_performer.cc(304)] Discarding 832792 unused downloaded bytes
[0617/224046:INFO:multi_range_http_fetcher.cc(172)] Received transfer terminated.
[0617/224046:INFO:multi_range_http_fetcher.cc(124)] TransferEnded w/ code 200
[0617/224046:INFO:multi_range_http_fetcher.cc(126)] Terminating.
[0617/224046:INFO:action_processor.cc(116)] ActionProcessor: finished DownloadAction with code ErrorCode::kDownloadOperationExecutionError
[0617/224046:INFO:action_processor.cc(121)] ActionProcessor: Aborting processing due to failure.
[0617/224046:INFO:update_attempter_android.cc(294)] Processing Done.
Error applying update: 28 (ErrorCode::kDownloadOperationExecutionError)Updater process ended with ERROR: 1
I:Install took 44 second(s).
Error installing zip file '/sdcard/Havoc-OS-v2.6-20190611-jasmine_sprout-Official.zip'
Updating partition details...
Iata backup size is 0MB, free: 46234MB.
I:Unable to mount '/usb-otg'
I:Actual block device: '', current file system: 'auto'
...done
always shows me this error
"Error applying update: 28 (ErrorCode::kDownloadOperationExecutionError)Updater process ended with ERROR: 1"
ive tried installing this on stock pie as well as stock oreo always get this error
ps i can install stock rom via xiaomi flash
i have tried installing rom from different versions of twrp as well

Is s.o. using adoptabe storage sd card formatted as internal storage) with Omnirom?

a simple yes or no would be helpful. At least on my 3 different Moto Z phones its not possible!
Maybe I will answer here myself:
Looks like I am not the only one having that problem with the "formatting sd as internal memory"
https://github.com/omnirom/android_d...thene/issues/3
So why is no one confirming this issue here. I asked for a while....
I think, that it is a very important thing, that is not working and s..o. should already have discovered it right? Its not s. th. like Emojis are not working
here is what the guy posted:
"Formatting micro sd cards fails #3
Open
odomiel opened this issue on Jan 3 · 0 comments
Comments
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
1 participant @odomiel @odomiel
odomiel commented on Jan 3
If you try to format a micro sd card as an internal memory, the memory app crashes with the following error message:
attempt to invoke virtual
method 'java.lang.String
android.os.storage.VolumeInfo.getID()' on a
null object reference"
This is exactly the same problem I have......
ischninet said:
Maybe I will answer here myself:
Looks like I am not the only one having that problem with the "formatting sd as internal memory"
https://github.com/omnirom/android_d...thene/issues/3
So why is no one confirming this issue here. I asked for a while....
I think, that it is a very important thing, that is not working and s..o. should already have discovered it right? Its not s. th. like Emojis are not working
here is what the guy posted:
"Formatting micro sd cards fails #3
Open
odomiel opened this issue on Jan 3 · 0 comments
Comments
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
1 participant @odomiel @odomiel
odomiel commented on Jan 3
If you try to format a micro sd card as an internal memory, the memory app crashes with the following error message:
attempt to invoke virtual
method 'java.lang.String
android.os.storage.VolumeInfo.getID()' on a
null object reference"
This is exactly the same problem I have......
Click to expand...
Click to collapse
Same problem here. I have the error:
Code:
java.lang.String
android.os.storage.VolumeInfo.getID()
This is on a Moto G4+. I think these are the relevant lines from logcat:
Code:
07-22 08:47:08.039 909 922 I ActivityManager: Displayed com.android.settings/.deviceinfo.StorageWizardInit: +211ms
07-22 08:47:09.358 909 2583 D MotoSensors: ALS 28
07-22 08:47:09.485 534 534 I cnss-daemon: RTM_NEWNEIGH message received: 28
07-22 08:47:09.485 534 534 I cnss-daemon: NDA_DST received: 192.168.0.177 ul: 2969610432
07-22 08:47:09.485 534 534 I cnss-daemon: NDA_LLADDR received
07-22 08:47:10.319 909 2958 E QCOM PowerHAL: Failed to acquire lock.
07-22 08:47:10.511 431 937 D SurfaceFlinger: duplicate layer name: changing com.android.settings/com.android.settings.deviceinfo.StorageWizardInit to com.android.settings/com.android.settings.deviceinfo.StorageWizardInit#1
07-22 08:47:12.398 909 2958 E QCOM PowerHAL: Failed to acquire lock.
07-22 08:47:12.481 909 3230 I ActivityManager: START u0 {cmp=com.android.settings/.deviceinfo.StorageWizardFormatProgress (has extras)} from uid 1000
07-22 08:47:12.484 909 3230 E QCOM PowerHAL: Failed to acquire lock.
07-22 08:47:12.534 431 630 W SurfaceFlinger: Attempting to set client state on removed layer: Dim Layer for - Task=649#0
07-22 08:47:12.534 431 630 W SurfaceFlinger: Attempting to destroy on removed layer: Dim Layer for - Task=649#0
07-22 08:47:12.537 7896 7896 W ActivityThread: handleWindowVisibility: no activity for token [email protected]
07-22 08:47:12.538 431 10391 W SurfaceFlinger: Attempting to set client state on removed layer: com.android.settings/com.android.settings.deviceinfo.StorageWizardInit#1
07-22 08:47:12.538 431 10391 W SurfaceFlinger: Attempting to destroy on removed layer: com.android.settings/com.android.settings.deviceinfo.StorageWizardInit#1
07-22 08:47:12.571 355 367 V vold : /system/bin/sgdisk
07-22 08:47:12.571 355 367 V vold : --zap-all
07-22 08:47:12.571 355 367 V vold : /dev/block/vold/disk:179,64
07-22 08:47:12.572 3187 3187 D StorageNotification: Notifying about private volume: VolumeInfo{private:179,66}:
07-22 08:47:12.572 3187 3187 D StorageNotification: type=PRIVATE diskId=disk:179,64
07-22 08:47:12.572 3187 3187 D StorageNotification: partGuid=E1B03B53-818E-4ECB-A0B4-2A40A42E6829 mountFlags=0 mountUserId=-1
07-22 08:47:12.572 3187 3187 D StorageNotification: state=REMOVED
07-22 08:47:12.572 3187 3187 D StorageNotification: fsType= fsUuid= fsLabel=
07-22 08:47:12.572 3187 3187 D StorageNotification: path=null internalPath=null
07-22 08:47:12.690 909 3499 E QCOM PowerHAL: Failed to acquire lock.
07-22 08:47:13.796 355 367 I sgdisk : GPT data structures destroyed! You may now partition the disk using fdisk or
07-22 08:47:13.797 355 367 I sgdisk : other utilities.
07-22 08:47:13.806 355 367 D vold : Persisted key for GUID 58909d9abe6a4fb98cae092dc0b968b8
07-22 08:47:13.806 355 367 V vold : /system/bin/sgdisk
07-22 08:47:13.806 355 367 V vold : --new=0:0:+16M
07-22 08:47:13.806 355 367 V vold : --typecode=0:19A710A2-B3CA-11E4-B026-10604B889DCF
07-22 08:47:13.806 355 367 V vold : --change-name=0:android_meta
07-22 08:47:13.806 355 367 V vold : --new=0:0:-0
07-22 08:47:13.806 355 367 V vold : --typecode=0:193D1EA4-B3CA-11E4-B075-10604B889DCF
07-22 08:47:13.806 355 367 V vold : --partition-guid=0:58909d9abe6a4fb98cae092dc0b968b8
07-22 08:47:13.807 355 367 V vold : --change-name=0:android_expand
07-22 08:47:13.807 355 367 V vold : /dev/block/vold/disk:179,64
07-22 08:47:13.838 355 367 I sgdisk : Creating new GPT entries.
07-22 08:47:13.845 355 367 I sgdisk : Setting name!
07-22 08:47:13.845 355 367 I sgdisk : partNum is 0
07-22 08:47:13.845 355 367 I sgdisk : REALLY setting name!
07-22 08:47:13.846 355 367 I sgdisk : Setting name!
07-22 08:47:13.846 355 367 I sgdisk : partNum is 1
07-22 08:47:13.846 355 367 I sgdisk : REALLY setting name!
07-22 08:47:14.309 909 2583 D MotoSensors: ALS 33
07-22 08:47:14.715 909 3001 D BatteryService: Processing new values: info={.chargerAcOnline = false, .chargerUsbOnline = true, .chargerWirelessOnline = false, .maxChargingCurrent = 286863, .maxChargingVoltage = 4240240, .batteryStatus = CHARGING, .batteryHealth = GOOD, .batteryPresent = true, .batteryLevel = 84, .batteryVoltage = 4240, .batteryTemperature = 292, .batteryCurrent = -286, .batteryCycleCount = 0, .batteryFullCharge = 2630000, .batteryChargeCounter = 2531920, .batteryTechnology = Li-ion}, mBatteryLevelCritical=false, mPlugType=2
07-22 08:47:14.716 909 3001 D BatteryService: Sending ACTION_BATTERY_CHANGED. scale:100, info:{.chargerAcOnline = false, .chargerUsbOnline = true, .chargerWirelessOnline = false, .maxChargingCurrent = 286863, .maxChargingVoltage = 4240240, .batteryStatus = CHARGING, .batteryHealth = GOOD, .batteryPresent = true, .batteryLevel = 84, .batteryVoltage = 4240, .batteryTemperature = 292, .batteryCurrent = -286, .batteryCycleCount = 0, .batteryFullCharge = 2630000, .batteryChargeCounter = 2531920, .batteryTechnology = Li-ion}
07-22 08:47:14.716 909 3001 D BatteryService: mLastMaxChargingCurrent = 286863 mLastMaxChargingVoltage = 4240240 maxChargingMicroWatt = 1212640
07-22 08:47:14.721 4174 4252 W QCNEJ : |CORE| CNE received unexpected action: android.intent.action.BATTERY_CHANGED
07-22 08:47:14.915 355 367 I sgdisk : The operation has completed successfully.
07-22 08:47:14.917 355 363 D vold : Disk at 179:64 changed
07-22 08:47:14.919 355 363 V vold : /system/bin/sgdisk
07-22 08:47:14.919 355 363 V vold : --android-dump
07-22 08:47:14.920 355 363 V vold : /dev/block/vold/disk:179,64
07-22 08:47:14.981 355 363 V vold : DISK gpt A3459EC3-4B21-4E26-9EB7-55499980E9D4
07-22 08:47:14.981 355 363 V vold :
07-22 08:47:14.981 355 363 V vold : PART 1 19A710A2-B3CA-11E4-B026-10604B889DCF D86DEB87-8EFB-4DBF-9760-789BA2BFDA29 android_meta
07-22 08:47:14.981 355 363 V vold :
07-22 08:47:14.981 355 363 V vold : PART 2 193D1EA4-B3CA-11E4-B075-10604B889DCF 58909D9A-BE6A-4FB9-8CAE-092DC0B968B8 android_expand
07-22 08:47:14.981 355 363 V vold :
07-22 08:47:14.982 355 363 D vold : Found key for GUID 58909d9abe6a4fb98cae092dc0b968b8
07-22 08:47:14.982 355 363 D vold : Device just partitioned; silently formatting
07-22 08:47:14.983 355 363 E Cryptfs : Cannot remove dm-crypt device
07-22 08:47:14.985 355 363 I Cryptfs : Extra parameters for dm_crypt: (null)
07-22 08:47:14.985 355 363 I Cryptfs : target_type = crypt
07-22 08:47:14.985 355 363 I Cryptfs : real_blk_name = /dev/block/vold/private:179,66, extra_params = (null)
07-22 08:47:16.572 909 2583 E MotoSensors: Proximity covered 1
07-22 08:47:16.877 909 2583 D MotoSensors: ALS 23
07-22 08:47:17.484 534 534 I cnss-daemon: RTM_NEWNEIGH message received: 28
07-22 08:47:17.484 534 534 E cnss-daemon: Stale or unreachable neighbors, ndm state: 4
07-22 08:47:19.917 909 5295 W StorageManagerService: Thread Binder:909_E still waiting for partitionPrivate...
07-22 08:47:20.016 355 363 E Cryptfs : Cannot load dm-crypt mapping table.
07-22 08:47:20.016 355 363 E vold : private:179,66 failed to setup cryptfs: Invalid argument
07-22 08:47:20.017 355 363 D vold : Resolved auto to f2fs
07-22 08:47:20.017 355 363 V vold : /system/bin/make_f2fs
07-22 08:47:20.017 355 363 V vold : -f
07-22 08:47:20.018 355 363 V vold : -d1
07-22 08:47:20.018 355 363 V vold : -O
07-22 08:47:20.018 355 363 V vold : verity
07-22 08:47:20.018 355 363 V vold : /dev/block/dm-0
07-22 08:47:20.075 355 363 I make_f2fs:
07-22 08:47:20.076 355 363 I make_f2fs: F2FS-tools: mkfs.f2fs Ver: 1.10.0 (2018-01-30)
07-22 08:47:20.076 355 363 I make_f2fs:
07-22 08:47:20.076 355 363 I make_f2fs: Info: Disable heap-based policy
07-22 08:47:20.076 355 363 I make_f2fs: Info: Debug level = 1
07-22 08:47:20.076 355 363 I make_f2fs: Info: Label =
07-22 08:47:20.076 355 363 I make_f2fs: Info: Trim is enabled
07-22 08:47:20.077 355 363 I make_f2fs: Info: No support kernel version!
07-22 08:47:20.077 355 363 I make_f2fs: Info: Segments per section = 1
07-22 08:47:20.078 355 363 I make_f2fs: Info: Sections per zone = 1
07-22 08:47:20.078 355 363 I make_f2fs: Info: sector size = 512
07-22 08:47:20.079 355 363 I make_f2fs: Info: total sectors = 0 (0 MB)
07-22 08:47:20.079 355 363 I make_f2fs: Info: zone aligned segment0 blkaddr: 512
07-22 08:47:20.079 355 363 I make_f2fs: Error: Device size is not sufficient for F2FS volume
07-22 08:47:20.079 355 363 I make_f2fs: Error: Failed to prepare a super block!!!
07-22 08:47:20.079 355 363 I make_f2fs: Error: Could not format the device!!!
07-22 08:47:20.079 355 363 I make_f2fs: make_f2fs terminated by exit(255)
07-22 08:47:20.080 355 363 E vold : private:179,66 failed to format: Invalid argument
07-22 08:47:20.084 355 363 E Cryptfs : Cannot remove dm-crypt device
07-22 08:47:20.086 355 363 I Cryptfs : Extra parameters for dm_crypt: (null)
07-22 08:47:20.087 355 363 I Cryptfs : target_type = crypt
07-22 08:47:20.087 355 363 I Cryptfs : real_blk_name = /dev/block/vold/private:179,66, extra_params = (null)
07-22 08:47:20.645 534 534 I cnss-daemon: RTM_NEWNEIGH message received: 28
07-22 08:47:20.645 534 534 E cnss-daemon: Stale or unreachable neighbors, ndm state: 16
07-22 08:47:21.165 534 534 I cnss-daemon: RTM_NEWNEIGH message received: 28
07-22 08:47:21.165 534 534 E cnss-daemon: Stale or unreachable neighbors, ndm state: 16
07-22 08:47:24.918 909 5295 W StorageManagerService: Thread Binder:909_E still waiting for partitionPrivate...
07-22 08:47:25.119 355 363 E Cryptfs : Cannot load dm-crypt mapping table.
07-22 08:47:25.119 355 363 E vold : private:179,66 failed to setup cryptfs: Invalid argument
07-22 08:47:25.124 3187 3187 D StorageNotification: Notifying about private volume: VolumeInfo{private:179,66}:
07-22 08:47:25.124 3187 3187 D StorageNotification: type=PRIVATE diskId=disk:179,64
07-22 08:47:25.124 3187 3187 D StorageNotification: partGuid=58909D9A-BE6A-4FB9-8CAE-092DC0B968B8 mountFlags=0 mountUserId=-1
07-22 08:47:25.124 3187 3187 D StorageNotification: state=UNMOUNTED
07-22 08:47:25.124 3187 3187 D StorageNotification: fsType=null fsUuid=null fsLabel=null
07-22 08:47:25.124 3187 3187 D StorageNotification: path=null internalPath=null
07-22 08:47:25.124 7896 10833 W StorageSettings: Missing mounted volume of type 1 hosted by disk disk:179,64; trying again
07-22 08:47:25.127 355 362 V vold : /system/bin/blkid
07-22 08:47:25.128 355 362 V vold : -c
07-22 08:47:25.128 355 362 V vold : /dev/null
07-22 08:47:25.128 355 362 V vold : -s
07-22 08:47:25.128 355 362 V vold : TYPE
07-22 08:47:25.128 355 362 V vold : -s
07-22 08:47:25.128 355 362 V vold : UUID
07-22 08:47:25.128 355 362 V vold : -s
07-22 08:47:25.128 355 362 V vold : LABEL
07-22 08:47:25.128 355 362 V vold : /dev/block/dm-0
07-22 08:47:25.130 3187 3187 D StorageNotification: Notifying about private volume: VolumeInfo{private:179,66}:
07-22 08:47:25.130 3187 3187 D StorageNotification: type=PRIVATE diskId=disk:179,64
07-22 08:47:25.130 3187 3187 D StorageNotification: partGuid=58909D9A-BE6A-4FB9-8CAE-092DC0B968B8 mountFlags=0 mountUserId=-1
07-22 08:47:25.130 3187 3187 D StorageNotification: state=CHECKING
07-22 08:47:25.130 3187 3187 D StorageNotification: fsType=null fsUuid=null fsLabel=null
07-22 08:47:25.130 3187 3187 D StorageNotification: path=null internalPath=null
07-22 08:47:25.172 909 2583 D MotoSensors: ALS 18
07-22 08:47:25.193 355 362 E vold : Failed to pclose /system/bin/blkid -c /dev/null -s TYPE -s UUID -s LABEL /dev/block/dm-0 : No such file or directory
07-22 08:47:25.193 355 362 W vold : blkid failed to identify /dev/block/dm-0
07-22 08:47:25.194 355 362 E vold : private:179,66 failed to read metadata
07-22 08:47:25.196 909 2963 E StorageManagerService:
07-22 08:47:25.196 909 2963 E StorageManagerService: android.os.ServiceSpecificException: (code -5)
07-22 08:47:25.196 909 2963 E StorageManagerService: at android.os.Parcel.createException(Parcel.java:1964)
07-22 08:47:25.196 909 2963 E StorageManagerService: at android.os.Parcel.readException(Parcel.java:1918)
07-22 08:47:25.196 909 2963 E StorageManagerService: at android.os.Parcel.readException(Parcel.java:1868)
07-22 08:47:25.196 909 2963 E StorageManagerService: at android.os.IVold$Stub$Proxy.mount(IVold.java:773)
07-22 08:47:25.196 909 2963 E StorageManagerService: at com.android.server.StorageManagerService$StorageManagerServiceHandler.handleMessage(StorageManagerService.java:622)
07-22 08:47:25.196 909 2963 E StorageManagerService: at android.os.Handler.dispatchMessage(Handler.java:106)
07-22 08:47:25.196 909 2963 E StorageManagerService: at android.os.Looper.loop(Looper.java:193)
07-22 08:47:25.196 909 2963 E StorageManagerService: at android.os.HandlerThread.run(HandlerThread.java:65)
07-22 08:47:25.197 3187 3187 D StorageNotification: Notifying about private volume: VolumeInfo{private:179,66}:
07-22 08:47:25.197 3187 3187 D StorageNotification: type=PRIVATE diskId=disk:179,64
07-22 08:47:25.197 3187 3187 D StorageNotification: partGuid=58909D9A-BE6A-4FB9-8CAE-092DC0B968B8 mountFlags=0 mountUserId=-1
07-22 08:47:25.197 3187 3187 D StorageNotification: state=UNMOUNTABLE
07-22 08:47:25.197 3187 3187 D StorageNotification: fsType= fsUuid= fsLabel=
07-22 08:47:25.197 3187 3187 D StorageNotification: path=null internalPath=null
07-22 08:47:25.233 909 925 I ActivityManager: Start proc 10871:com.android.externalstorage/u0a58 for broadcast com.android.externalstorage/.MountReceiver
07-22 08:47:25.254 10871 10871 E externalstorag: Not starting debugger since process cannot load the jdwp agent.
07-22 08:47:25.331 10871 10871 D ExternalStorage: After updating volumes, found 2 active roots
07-22 08:47:25.348 909 4267 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.stats.service.DropBoxEntryAddedReceiver
07-22 08:47:25.350 909 4267 I ActivityManager: Killing 10254:com.google.android.gms.ui/u0a50 (adj 906): empty #17
07-22 08:47:25.339 10871 10871 I chatty : uid=10058(com.android.externalstorage) identical 1 line
07-22 08:47:25.346 10871 10871 D ExternalStorage: After updating volumes, found 2 active roots
07-22 08:47:25.351 909 926 W libprocessgroup: kill(-10254, 9) failed: No such process
07-22 08:47:25.351 909 923 W BroadcastQueue: Background execution not allowed: receiving Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$PersistentTrustedReceiver
07-22 08:47:25.390 390 390 I Zygote : Process 10254 exited due to signal (9)
07-22 08:47:25.397 909 926 W libprocessgroup: kill(-10254, 9) failed: No such process
07-22 08:47:25.397 909 926 I libprocessgroup: Successfully killed process cgroup uid 10050 pid 10254 in 46ms
07-22 08:47:25.418 7896 10833 W StorageSettings: Missing mounted volume of type 1 hosted by disk disk:179,64; trying again
07-22 08:47:28.709 493 493 W wificond: Failed to get NL80211_ATTR_EXT_FEATURES
07-22 08:47:28.292 7896 10833 I chatty : uid=1000(system) com.android.settings identical 10 lines
07-22 08:47:28.585 7896 10833 W StorageSettings: Missing mounted volume of type 1 hosted by disk disk:179,64; trying again
07-22 08:47:28.713 4078 10880 I Authzen : [DeviceStateSyncManager] The server is in sync with current state. Nothing to do
07-22 08:47:28.719 493 493 W wificond: Failed to get NL80211_ATTR_EXT_FEATURES
07-22 08:47:28.720 909 925 I ActivityManager: Start proc 10890:com.sonelli.juicessh/u0a151 for broadcast com.sonelli.juicessh/.services.CloudSync$Receiver
Thank you very much! So it is not only a Moto Z issue. All others using their sd card as external storage?
i use my card as external storage, aswell as my microusb flash drives, they are also external storage
It is working now since the the build from 28.07.2019! Problem solved, thank you!
will there be new weekly updates of this great rom?

Categories

Resources