FP4 update to FP44.A.0149 (Rooted with Magisk)

Trying to update an FP4 to FP44.A.0149 (patch level 5h of July, 2022) but getting an error “Couldn’t update Installation problem”.

System log is inconclusive, I’m seeing a lot of “SystemUpdate… Update engine status updated to 0x003.” and some “SELinux : avc: denied { find } …” messages (perhaps unrelated).

More than happy to provide more information as required.

Could you please upload a logcat somewhere :pray:

From what I’ve seen, most update problems usually are related to a partition no longer having the expected hash, maybe that’s the case here as well.
Did you by any chance install Magisk or have you modified your system partitions in any way? :thinking:

2 Likes

Logcat is at logcat.dmp · GitHub

Magisk has been installed on the device by unlocking the bootloader and then flashing the Magisk img via fastboot.

And hiding com.android.settings.intelligence via Magisk DenyList didn’t fix the problem either :slight_smile:

The problem isn’t directly that Magisk is detected. The problem is that Magisk changes some partitions and they cannot be validated anymore. Follow this guide for OTA updates (A/B devices):

2 Likes

Just for completeness’ sake, here is the error in the log, so you’ll find it, should you run into a similar problem again…

08-23 15:08:21.217  1414  1414 E update_engine: [ERROR:delta_performer.cc(431)] Unable to open ECC source partition boot on slot B, file /dev/block/bootdevice/by-name/boot_b: Success (0)
08-23 15:08:21.218  1414  1414 E update_engine: [ERROR:delta_performer.cc(1155)] 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.
08-23 15:08:21.220  1414  1414 E update_engine: [ERROR:delta_performer.cc(1160)] Expected:   sha256|hex = 07CB5ECA15039C64FB247EBBFDCB17E7BE0B86F456955DD7962CC9B8F24544C0
08-23 15:08:21.221  1414  1414 E update_engine: [ERROR:delta_performer.cc(1163)] Calculated: sha256|hex = 7F8311E40717231C2395C5ADCC945C36A0FE0821FF61CB600EC6473CFDFDEB24
08-23 15:08:21.222  1414  1414 E update_engine: [ERROR:delta_performer.cc(1174)] Operation source (offset:size) in blocks: 0:1,9954:2
08-23 15:08:21.224  1414  1414 E update_engine: [ERROR:delta_performer.cc(1495)] source_fd != nullptr failed.
08-23 15:08:21.225  1414  1414 E update_engine: [ERROR:delta_performer.cc(297)] Failed to perform BROTLI_BSDIFF operation 3405, which is the operation 0 in partition "boot"
08-23 15:08:21.226  1414  1414 E update_engine: [ERROR:download_action.cc(336)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing

…which you shouldn’t, if you remove Magisk before OTA updates as @max_o said (and don’t mess with the system partitions directly).

I’ve added a note how to perform OTA updates to the Magisk instructions as well.

3 Likes

@monochromec were you able to successfully install the OTA update? :thinking:

Yes I was using the A/B method - thanks for the link. But as a result, I had to struggle with a boot loop where the phone wouldn’t boot the OS until I used fastboot to reboot the device. I suspect a partitioning issue - is the FP4 an A/B type of device?

The FP4 is using A/B partitioning, yes.

So your current state is a phone that doesn’t boot properly? And the boot loop started when you installed the OTA update? :thinking:

The boot loop started after the OTA update. I was only able to break this loop by entering Fastboot and reboot from there. I suppose one successful boot into userland sorted out the partitioning issue. Also the soft reboot issue seems to be gone (cf. Soft reboot after initial screen unlocking - #9 by donthomaso ). I haven’t reinstalled Magisk though.

Did you loop at the bootanimation (blue dots) or did your phone constantly restart with the Fairphone logo?
Either way this doesn’t sound great.

Why did you uninstall Magisk? The instructions explicitly mention not to reboot after the OTA update.
With all the modules / modifications mentioned in the other thread, you shouldn’t start your phone without Magisk unless you absolutely have to, that can seriously screw up your OS.

At least you now know that your other problems were related to one of the modules / modifications you had enabled before, but I honestly would make really sure your backups are up-to-date, this install might break on you at some point.

I just updated the title to indicate that the phone is/was rooted with Magisk when the update was done…

1 Like

Magisk was gone after the reboot although I followed the instructions to the letter. Not sure that soft reboot issue was linked to Magisk / its modules in the first though as logs proved to be inconclusive.

Did you reinstall Magisk after performing the OTA update and before rebooting…

Wait for the installation to be fully done (both step 1 and step 2 of the OTA), do not press the “Restart now” or “Reboot” button! Instead, go to (Magisk app → Install → Install to Inactive Slot) to install Magisk to the updated slot.

…like mentioned in the instructions? :thinking:
If there was a problem installing Magisk, did you save the Magisk install log?
Have you checked if you are actually on the A.149 release, it’s possible something went wrong during the OTA update and you are still in the slot you were before (which isn’t rooted anymore).

Depending on what fails, it might not be obvious in the logs or don’t show up at all. The issue has stopped without modules enabled, that feels very much Magisk related.
If you want to use your mods again, I’d start enabling them one by one (as much as that’s possible with modules depending on others), to look for the culprit.

…like mentioned in the instructions? :thinking:

Yes (as implied by “down to the letter”).

If there was a problem installing Magisk, did you save the Magisk install log?

Unfortunately not.

Have you checked if you are actually on the A.149 release, it’s possible something went wrong during the OTA update and you are still in the slot you were before (which isn’t rooted anymore).

Confirmed that this is PL the phone is currently running on.

My suspicion is that the fastboot-based reboot sorted out / restored the boot partition. If I install Magisk again (which I haven’t done yet), I’ll take a closer at the modules / config and try to capture the log info.

Thanks for your help!

fastboot doesn’t restore the boot partition, there is no such functionality, the only thing it does is change the slot back to the original partition if the phone doesn’t boot after an OTA update.
If you are on A.149, your phone booted correctly. The only logical explanation is that something went wrong and Magisk wasn’t installed to the other slot.

Personally I wouldn’t trust the system at this point and reflash from factory images as soon as possible.