I tried to install the latest official build for Fairphone 5:
IMG-e-3.0.4-a14-20250708507308-official-FP5.zip
The flashing process using the flash_FP5_factory.sh script works fine.
Flashing completes successfully, and I can boot and use the system without issues as long as the bootloader is left unlocked.
However, once I run fastboot flashing lock_critical (which always works) and then fastboot flashing lock, the device shows a “your device is corrupt” message on boot and drops into fastboot mode again. It will not boot into the system anymore.
I always locked the bootloader before the first boot (as recommended) and never booted the system once before locking. I also tried wiping userdata and even using a custom vbmeta.img with flags to disable verification (--disable-verity and --disable-verification) as an alternative approach, but it didn’t help.
I also manually flashed all relevant images (boot, vendor_boot, dtbo, super, vbmeta, etc.) using fastboot flash, and wiped partitions like userdata, system, cache – but the result is the same: locking the bootloader prevents the system from booting.
Locking only the critical partition works, but locking the full bootloader breaks the boot process.
The previous stock manufacturer build had a Security Patch Level of 2025-05-05, and the eOS version I flashed has 2025-06-01.
So anti-rollback should not be the issue here.
Does anyone else have this issue with the current build? Or has someone successfully locked the bootloader after flashing eOS 3.0.4 on the Fairphone 5?
Any suggestions or insights are very welcome.
Best regards,
Niklas
I wanted to share an important update regarding the bootloop issue I previously reported when flashing the latest /e/OS build on my Fairphone 5.
After many attempts with the current official /e/OS Android 14 build (IMG-e-3.0.4-a14-20250708507308-official-FP5.zip), I consistently encountered a “Your device is corrupt” warning or was returned to the bootloader immediately after locking the bootloader — even when I avoided booting the OS before locking. I tried flashing all images manually, wiping relevant partitions (including userdata, product, super, vbmeta, etc.), and also tested vbmeta.img flashing with --disable-verity and --disable-verification — but the issue persisted.
The breakthrough came from a conversation with someone who bought a Fairphone 5 with /e/OS preinstalled directly from Murena. I noticed that although they had the same build number (3.0.4), their phone showed Android 13 as the base system, not 14.
That gave me the idea to test the Android 13 version of the same release:
IMG-e-3.0.4-t-20250709507786-official-FP5.zip`
I flashed it using the official script and verified all partitions were properly flashed beforehand.
Result Successful boot, no corruption error after locking the bootloader, full system access, and stable operation.
Important context:
The phone originally shipped with Google’s Android 14.
/e/OS was never installed on this device before.
The Android security patch level from the original OS was May 5, 2025**.
The /e/OS build (both A13 and A14) is dated June 1, 2025, so anti-rollback should not be triggered.
Locking the critical partition works reliably.
Full bootloader lock on the A14 build leads to immediate failure, even when done quickly before first boot.
So it seems that the current Android 14-based build may not be fully compatible with devices that originally shipped with Android 14 (at least when /e/OS wasn’t preinstalled).
I hope this information helps and may contribute to further improvements or clarifications in the installation process.
I am experiencing the same problem you’ve encountered.
I previously had an Android 13 version of /e/OS flashed on a Android-based Fairphone 5 with a sucessfully locked bootloader. Now coming from this (fully updated) version to the official A14 3.0.4 - I cannot lock the bootloader without the device being flagged as corrupted (while the unlock ability is returned as possible (1)).
The device is still flashable and not really bricked so I managed to test various thing. Finally I decided to re-flash the Android 13 version… and it worked xD The device is still re-lockable with this version !! About Android Security Patch and Security Vendor Patch, here is what I have :
Android 13 Security patch : 5 June 2025
Android 13 Vendor patch : 5 June 2024
(the lockable version)
Android 14 Security Patch : 1 June 2025
Android 14 Vendor patch : 5 May 2025
(the one flagged as corrupted)
Now I get it - I wasn’t sure about how the two references interacted, thank you very much for the info, because I naively believed it was something engraved when the device was shipped and not user-related. I will wait for an official A14 build to match/outpass my device SPL now :o)
And finally one month later I’ve installed the fresh offficial 3.1.1 build and locked everything without any hassle Now my FP5 is on A14 (that I missed essentially for passkeys). Thanks to the Murena community for the work (and for all these gentle advices in place of “RTFM!!!”).
Congratulations! Similar to you, I was waiting on the update and was very happy this morning when I read /e/OS build: A14 official (Security patch: 2025-08-01) on https://doc.e.foundation/devices/FP5/install
However, when I access https://images.ecloud.global/official/FP5/, I don’t see the latest release of 3.1.1. While I do see 3.1.1 when I look at community releases, I don’t when I look at official releases. The most current official build I see with the above link is still IMG-e-3.0.4-a14-20250708507308-official-FP5.zip (of the 2025-06-01 security patch)
What link did you use to download the 3.1.1 build?
Actually I’ve downloaded a version right on this page but it had been removed since, altough the release page (and sources) are still up. It’s a beefy patch so maybe there was a late bug with that build (I’ve encountered something weird with so it’spossibly related).IMO it won’t be long until it’s up again.
Just be aware that some Fairphone users may have a faulty fingerprint sensor that can cause the boot to fail, but their are working on it and there is already a replacement program :