FP4 - very privacy-friendly custom ROM iodéOS

I got another question about the updates.
How you get updates for modem or baseband?

My custom rom experience mostly based on Samsung hardware. On this devices, it is not easy update the vendor hardware parts with custom rom’s.

don’t exactly know.
in the last two iodé versions (220405 and 220407) they installed the whole firmware, that’s why the images are so big.
But i don’t know how it will be handled in the future.

And I’m not an expert regarding fimwares and how it is done in Custom ROMs and their basis LineageOS, or whatever.

Maybe @hirnsushi can explain more (would interest me also) about the process of manufactorer firmwares in Custom ROMs…

If it will get easy updates, I’ll change and donate iodé.tech.
The last 2 day’s FP4 stock rom experience was not good!
Google stock rom’s are an insatiable data mining collection and I think about what I should do with my 650€ piece of amazing repairable Hardware!
The first what I saw, after I connect to wifi was a short notification from Gboard that my "input experience " would be synced! What a …!

Sorry, I am also not so firm on the topic of firmwares :smirk:

Since all the custom ROMs pull the blobs out off the factory images and subsequent OTA updates (or from a updated running stock OS), my guess would be that stuff simply changed between releases and that warranted shipping the firmware again.
But I haven’t taken a detailed look at the images iode has released in quite some time :man_shrugging:

1 Like

Afaik LOS or other derived ROMs do not include firmware partitions. Best thing that can be done at the moment it to manually update them or go back to stock once in a while.

It should be possible to use the Stock ROM installer and modify the install script to just flash the firmware partitions.


That’s not entirely correct, at least for FP3/FP3+:

But only with LineageOS. With LineageOS4microG these firmware blobs are missing.

A few weeks ago I asked iodéOS developers if they plan to include firmware files in their updates for FP3/FP3+, and it seems they already do:

So there is hope for FP4, too :slight_smile:


Yes it should technically be possible. Just read that that it’s usually not done do to regional variants or carrier branded devices which could have different firmware.

But since Fairphone offers a complete set of stock images themselves it’s probably not an issue.

Could you specify which of the partitions are considered firmware partitions, are we talking abl.img, aop.img, bluetooth.img, core_nhlos.img, dsp.img, dtb.img, modem.img, qupfw.img, tz.img, uefisecapp.img, xbl.img and so on? :thinking:

If that’s the case, here’s the situation for the available custom ROMs at the moment

Firmware ROM
:white_check_mark: CalyxOS (version 3.3.2)
:white_check_mark: /e/ (version 0.23)
:white_check_mark: iodé (version 2.4) Edit: Firmware only missing in 3.0 beta
:man_shrugging: LeOS-S (Firmware folders empty, no idea how GSIs work :see_no_evil:)
1 Like

with iodéOS 2.4 (iode-2.4-20220407-FP4.zip) the partitions abl.img, aop.img, bluetooth.img, core_nhlos.img, dsp.img, dtbo.img, modem.img, qupfw.img, tz.img, uefisecapp.img, xbl.img are included.

complete payload.bin content
1 Like

You are right, that’s the only release I didn’t have already on disk, 2.3 and 3.0 don’t include them :see_no_evil:

So why are they not in the newest release anymore? :thinking:

1 Like

I could fix the bluetooth audio problem on iodé 3.0 now. Not me for maself, but with a hint of vincent, dev of iodé…

Everything is working now and FP4 with iodé 3.0 (A12) is usable now.

At least for me.

Remember what @citroniais already mentioned:

1 Like

The newest release is iodé 2.4 - 20220407

iodé 3.0 is not official! not a Beta yet!
It’s just a developer snapshot. and only for FP4
very early state
Build in userdebug mode not user mode

1 Like

Yeah, that’s what I figured from your last post :+1:
My mistake, I have Release v1 · vincentvidal/iode_ota · GitHub bookmarked and just scroll to the bottom to the newest one whenever I need a iode release…

I’ve edited my comparison table.


Do you think it could be a good idea to make a wiki to show the current state of iodé for FP4 ? (and maybe other ROMs, if they want to add it)
EDIT : found it

I added the last line of the screenshot to show the iodéOS 3.0 release :wink:


Has anyone successfully sideloaded 3.0 from 2.4, with a relocked bootloader? Might test this version if possible.

Yes, did it exactly that way, without wiping data.
Just sideload image in recovery and reboot.

You’re also welcome to meet the iodè Matrix room:

1 Like

For unlock the bootloader I found another command here:

Is this step 7. necessary?
In a Command Prompt or a terminal, type: fastboot flashing unlock_critical and press the “Enter :leftwards_arrow_with_hook:” key
And do I understand that correct, for build’s after 20220405 I need to flash the new avb_custom_key-FP4.bin?

It’s all dexcribed here: Unlocking criticals is not necessary

===================== WARNING : LOCKED BOOTLOADER =====================
Starting from 20220405 build, Android verified boot is activated on FP4.
A new version of avb_custom_key has been generated, required for builds starting from 20220405.
If you want to relock your bootloader or already relocked it: flashing the updated avb_custom_key is required (so a locked bootloader must be unlocked again, and data will be wiped).
If you don’t or badly flash avb_custom_key and relock your bootloader, or if you install builds starting from 20220405 with a locked bootloader without flashing the updated avb_custom_key, you will brick your device.
If you didn’t, or don’t intend to lock your bootloader, you’re not concerned and can flash all builds without wiping your device.

You can flash it with original instruction:

Or in more detail with mine:

  1. remove SIM card and check that akku has at least 50%
  2. eneable USB Debugging and “Allow unlock OEM” in Developer Options
  3. check if adb is working and device is recognized correctly =>adb devices => ACK USB debugging on phone-screen. check box: always trust
  4. adb reboot bootloader
  5. check if fastboot is working and device is recognized correctly =>fastboot devices
  6. fastboot flashing unlock => Acknowledge unlocking on phone (VOLUME UP + POWER) Device is doing a factory reset and reboots to system
  7. start again in bootloader => switch phone off. pull out USB cable. press Volume (-) and put in USB cable in. Keep Volume (-) pressed. Phone should start in bootloader. (¹)
  8. check if fastboot is working and device is recognized correctly =>fastboot devices
  9. fastboot flash recovery_a iode-2.4-20220405-FP4-recovery.img
  10. fastboot flash recovery_b iode-2.4-20220405-FP4-recovery.img
  11. fastboot erase avb_custom_key
  12. fastboot flash avb_custom_key avb_custom_key-FP4.bin
  13. press VOLUME UP until see message reboot in recovery. Then POWER
  14. From recovery => Factory reset => Format Data/factory reset
  15. From recovery => Apply update => Apply from ADB =>adb sideload iode-2.4-20220405-FP4.zip
  16. back to bootloader mode. From recovery => Advanced => reboot to bootloader
  17. check if bootloader unlock ability is possible =>fastboot flashing get_unlock_ability → (bootloader) get_unlock_ability: 1 ==> if you get 1 then follow with step 18) otherwise do not lock bootloader (can brick your phone) and follow with step 19)
  18. fastboot flashing lock
  19. reboot system. First should see a Lineage screen doing a wipe. After a second (automatic) boot you should see the yellow boot screen and then the iode bootscreen.
  20. start setup wizard

(¹) From FP Support Page:
Alternatively, you can disconnect the USB cable, turn off your Fairphone, then connect the cable and hold the volume down button. After a few seconds, you’ll see the fastboot mode


I flashed like discribed, but it fails! Everything look good during the flash.
Now I can see the boot screen, can hear a short vibration and then the device reboots.
In recovery the device shows “It’ corrupt”.