I have been unable to apply software update 3.A.0136 on my Fairphone running the stock OS for quite a while now. The progress bar goes until about half, then the update screen displays “Installation problem” in red letters. I tried restarting the phone, or trying at a different time, fully charged, but it did not help. (It might be relevant that my phone is rooted and the bootloader is unlocked.)
I could not find a similar topic, nor anything useful on Google, anyone experienced something similar maybe? What could I try? If nothing else, is there a way to at least read the logs of the update so I can understand the error better?
I do not own a FP3, so this is just an educated guess. Before an OTA updated the checksums of the partitions that will be updated are verified and the update will fail if they do not match. Using magisk rooting changes those checksums.
The solution is to uninstall magisk from within the app, which fixes the checksums, apply the OTA update, verify that everything works, and finally root again.
There might be a more elegant solution for this phone, but this should work on most phones.
Hmm, good suggestion! I uninstalled Magisk from the app (“restore images”), restarted my phone, tried applying the update, but it still failed.
Magisk shows the status as “Installed: N/A, Zygisk: No, Ramdisk: Yes”. Now my phone is completely un-rooted, right?
What’s also weird that I was able to do OTA updates before without any problems, when my phone was already rooted. Though IIRC Magisk changed a bit a while back, so that might have been a different situation.
Yes, restoring images and rebooting unroots your phone. Restoring images should fix the block verification, did you do any manual modifications to system partitions? Even remounting /system as rw could screw up block verification.
If that’s the case you will most likely have to fix it manually, better wait for someone with FP3 experience
After that, I rooted my phone again. This time (instead of TWRP) I used Magisk’s instructions for patching the boot.img and flashing, (and re-flashing the vbmeta image), will see whether that allows for proper OTA behaviour. Anyway, everything works properly now, and I have the latest security update as well.