TWRP for Fairphone 3

I did the OTA with bootloader unlocked, so that alone definitely doesn’t have any effect. Any modifications to any of the following partitions (it’s enough to briefly mount one of them read/write, even without changes) will break the OTA update:

aboot
boot
cmnlib64
cmnlib
devcfg
dsp
dtbo
keymaster
lksecapp
mdtp
modem
product
rpm
sbl1
system
tz
vbmeta
vendor

The FP OTA so far are always differential updates, which means it contains binary diffs along with checksums of “before” and “after” - applying the diffs (patching) would fail if anything is different or worse - lead to a corrupted filesystem, so the update engine compares the checksums for each of those partitions first, and aborts the update if there is a mismatch to avoid bricking the phone (so this check isn’t just to make our lives difficult, the check actually makes sense :wink: )

This means, if you have installed magisk, TWRP, or both, rooted the phone, did any changes to system, or even just mounted it within TWRP once, you need to first go back to the original one OR apply the update yourself.
You can “simulate” an OTA by flashing the new image to the currently inactive slot, then attempt to boot from it. (possibly after also installing TWRP/magick/etc… in the freshly flashed slot as well) If that booting fails, the phone will do what it does in OTA’s, too, it will automatically revert back to the old slot, and you can try again, but you still have a working phone and access to all your data.

2 Likes