[HOW TO] Flash a custom ROM on FP3 with GSI


Hi - I’ve tried flashing Lineage OS 16 (two versions) and /e/ and haven’t had any success with any of them. TWRP went in OK, but I couldn’t boot into system. After the “It was not possible to check your phone for corruption - please lock the bootloader” load screen with /e/ I then got the logo and bouncing ball. With LOS I just get the FAIRPHONE logo. Waited about 20 minutes with each, nothing happened.

Tried it first by booting into TWRP from the image, then I tried installing TWRP and Magisk to see if that helped, it didn’t.

So next I tried a tutorial I found on HowToGeek:

Result is that I can no longer boot into TWRP, nor can I get slot:success Yes on either slot. I can get into fastboot and I’ve managed to boot into the TWRP image a few times but most of the time the boot command fails (“unknown reason”).

Seems like I bricked it, huh? Anyone got any advice?

Did you really follow the steps mentioned at the beginning of this topic? Did you use a GSI version mentioned there?
There’s no /e/ versión for FP3 yet! So what image did you flash??
You may try to unbrick your device following the topic

Please first read and only act after reading!


Hi - thanks for replying. Yes, I followed the steps at the start of this topic, with the results I described. I didn’t follow that unbricking tutorial because I can get into fastboot, just not recovery / TWRP. I’ll try flashing the stock ROM back.

The /e/ version is one of the GSIs listed on the link at the start of this thread, where it says “here is a list”.

Hey, i tried the flash.sh script step by step:
everything is okay until i get

xxx@xxx /cygdrive/c/adb
$ fastboot flash vendor_a vendor.img
Segmentation fault

$ fastboot flash system_a system.img
error: cannot load ‘system.img’

I test the rest of it, it’s okay. Could you help me :slight_smile: ? @pigpig

I wonder one thing: is that true thaht we can’t install/flash a custom rom without having the stock rom ? Due to success state of both slots ? Good evening :)))

Please add the -S argument for system and vendor -S 522239K.
A segfault is really weird. Do you use the last version of fastboot? Maybe you should try with a linux live usb

1 Like

It works! following your advice i’ve done it with a linux live usb, flash both slots, erase data, and then it finally work :slight_smile: thank you very much !

1 Like

I would like to test LOS 16 GIS on Fairphone 3 for daily and stable use. My FP3 arrived almost 2 months ago and still has not been turned on, using the Android stock version is not acceptable for me for privacy reasons.
Reading this post it seems to me that the most stable version is lineage-16.0-20191017-UNOFFICIAL-treble_arm64_bvN.img.xz from sourceforge.net/projects/andyyan-gsi/files/lineage-16.x/
I would like to know if hash files (md5 sums or sha256 or other) are available for these LOS16 GIS versions. No info about on sourceforge.

Sorry, if too off-topic and I know it’s not answering your question. But as you write;;

Are you aware that /e/ OS for FP3 is currently very close to beta testing?


Have you seen the ‘i’ logo in sourceforge? There are sha1 and md5 hashes

1 Like

Thank you, I didn’t see /e/! I’ll think about what to install.

1 Like

Thank you pigpig for sharing your work and for helping me look better!

1 Like

Hello autra - can you explain exactly how you got around this problem? I got the same thing, tried using Format Data in TWRP, (it didn’t work first time but after I did a Repair on data and a Factory Reset I could then do ‘Format Data’). However in fastboot I still can’t do fastboot -w and it won’t boot into Lineage, it just goes back into recovery.

@richplane after the “format data” I rebooted and everything was working. If it goes back into recovery, it means system is not bootable (probably). I’d try to reflash lineage again.

Btw, if you want me to get notified, don’t forget the @ before my pseudo :wink:

I went through the whole process again, got exactly the same results. I wonder if the problem is with the encryption of the userdata partition - when I booted into TWRP the first few times it asked me to unlock the encryption (using the password I set when I booted up the stock OS), but after I flashed the system image (and ran fastboot erase userdata ) it no longer did. Does the FP3 use metadata encryption? That might explain our invalid block sizes wouldn’t it?

Just one short question: Will there be any chance to use a customrom on the FP3 and pass the safetynet-check? (or will it always be that way that -> if custom -> sefetynet-check fail -> some apps won’t work?)

At least it will be the case that even if you somewhen somehow can get this to work, Google can break it at any time again, and most probably will.

If you consider trying this, think about your dependencies on affected Apps beforehand carefully.
This would be in the “Nice to have” category, not in “Reliable solution”.

Hm, I thought that it will be that way. Unfortunantly I am using some apps, which rely on a passed SafetyNet check. So no custom rom for me. But:

I had got LinageOS on my FP3 worked like a charm, but the SafetyNet check ruined it. So I went back to stock.

Keep up the good work.

Hi! Does this means, that ones i got root on my FP3 i can’t unroot that and bring backt to Stock ROM and should Be never able to Update Stock ROM OTA?
Or is it possible to do that?
Thanks towards your answer

For anyone else getting the error along these lines:

Invalid erase-block-size 512: must be a power of 2 and at least 4096.
Invalid logical-block-size 512: must be a power of 2 and at least 4096.
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for userdata

I found that this was not a problem with the phone but with the fastboot program - I switched from Ubuntu (18.04) to Windows 10 and I found I could run fastboot -w with no problem. The problem seems to have been that I installed the Android SDK platform tools through apt-get rather than downloading them from developer.android.com. Hope that helps someone.