TWRP for Fairphone 3

Hmmm, this might be related …

"System update improvements

Your Fairphone will be better at managing storage partitions in the background, making system updates better-prepared for years to come.

  • We retrofitted a new way of managing the system storage (dynamic partitions). This affects system partition and images only, it does not affect user data."

Assuming your bootloader is unlocked since you wanted to install TWRP:

According to the instructions there should be a prompt whether to erase or keep user data.
(Which is only meaningful when not unlocking or locking the bootloader which both force a factory reset for security reasons.)

Does this mean you have a backup of your data partition from before the update?
And a separate backup of the “Internal Storage” because TWRP backups don’t include it?

1 Like

Thank you very much @AnotherElk for your prompt support! In the meantime, I reapplied the OS update and was able to revive my phone again. Phew. :sweat_smile: I was already on the brink to do a factory reset…

Maybe. And that way, they maybe also killed a working root mechanism.

No and no. I basically follow the procedure of the OS manual installation above. At the end of that procedure, I reapply TWRP and Magisk:

  1. ADB push TWRP installer zip file + Magisk zip file + TWRP image file onto phone
  2. adb reboot bootloader and then fastboot boot twrp.img
  3. TWRP flash zip files (this step fails now!)

That worked for numerous OS updates without any error or data loss. The 0021.0 update is the very first one that failed there.

1 Like

Hi all,

according to the release notes:

“We retrofitted a new way of managing the system storage (dynamic partitions). This affects system partition and images only, it does not affect user data.”

This seeems to be the issue!

I have found this on AOSP Webpage about dynamic partitions

Dynamic Partitions | Android Open Source Project

The new partition layout looks like this:

Implementing Dynamic Partitions | Android Open Source Project

It seems that the TWRP needs to be aware of the dynamic (or super) partition.

There ist the point we are struggeling and need to investigate.
Maybe there is a workaround or any other way to circumvent this issue.

Hope this lead us to the right direction.


TWRP on the Fairphone 3/3+ is currently on the Android 9 branch of TWRP (the “9_0” in the TWRP image filename).

Dynamic partitions were introduced with Android 10 … TWRP and Android 10.

My guess is that TWRP for the Fairphone 3/3+ would need to be on a branch which can handle dynamic partitions. TWRP in general is prepared to do this, apparently.

Hello there,

I’m afraid that TWRP is only half the battle. As I have described here, there are also ways to root the FP3 that do not require TWRP.
Unfortunately, Magisk (v25.2) also seems to have a problem with the dynamic partitions, because the generated boot.img ends in a boot loop.

Looks like something topjohnwo would want to fix – is there a Magisk bug report for this?

Same for TWRP … just talking about it in the forum isn’t going to help IMHO.

This topic was opened by the maintainer of TWRP on the Fairphone 3/3+, so in theory posts here should not be in vain, but there’s also Issues · TeamWin/android_bootable_recovery · GitHub … there’s an issue already …