FP4 - very privacy-friendly custom ROM iodéOS

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:

2 Likes

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
iode-2.4-20220407-FP4\abl.img
iode-2.4-20220407-FP4\aop.img
iode-2.4-20220407-FP4\bluetooth.img
iode-2.4-20220407-FP4\boot.img
iode-2.4-20220407-FP4\core_nhlos.img
iode-2.4-20220407-FP4\devcfg.img
iode-2.4-20220407-FP4\dsp.img
iode-2.4-20220407-FP4\dtbo.img
iode-2.4-20220407-FP4\featenabler.img
iode-2.4-20220407-FP4\hyp.img
iode-2.4-20220407-FP4\imagefv.img
iode-2.4-20220407-FP4\keymaster.img
iode-2.4-20220407-FP4\modem.img
iode-2.4-20220407-FP4\multiimgoem.img
iode-2.4-20220407-FP4\odm.img
iode-2.4-20220407-FP4\product.img
iode-2.4-20220407-FP4\qupfw.img
iode-2.4-20220407-FP4\recovery.img
iode-2.4-20220407-FP4\system.img
iode-2.4-20220407-FP4\system_ext.img
iode-2.4-20220407-FP4\tz.img
iode-2.4-20220407-FP4\uefisecapp.img
iode-2.4-20220407-FP4\vbmeta.img
iode-2.4-20220407-FP4\vbmeta_system.img
iode-2.4-20220407-FP4\vendor.img
iode-2.4-20220407-FP4\xbl.img
iode-2.4-20220407-FP4\xbl_config.img
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.

2 Likes

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:

2 Likes

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:
#iodeOS:matrix.org

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

2 Likes

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”.

via my instruction or via official instruction? Have you entered all steps exactly?
what did you flashed? 220405?
Have you installed avb_custom key? the right one, not the old?
Can you boot in bootloader? via Volume and Power buttons?
If yes, what do you get if enter command: fastboot flashing get_unlock_ability

With your instructions, but I used the new version 20220407.
Here’s my flash log:
[ iode]$ fastboot flash recovery_a iode-2.4-20220407-FP4-recovery.img
Sending ‘recovery_a’ (98304 KB) OKAY [ 2.553s]
Writing ‘recovery_a’ OKAY [ 0.259s]
Finished. Total time: 2.832s
[ iode]$ fastboot flash recovery_b iode-2.4-20220407-FP4-recovery.img
Sending ‘recovery_b’ (98304 KB) OKAY [ 2.424s]
Writing ‘recovery_b’ OKAY [ 0.211s]
Finished. Total time: 2.643s
[ iode]$ fastboot erase avb_custom_key
Erasing ‘avb_custom_key’ OKAY [ 0.012s]
Finished. Total time: 0.017s
[ iode]$ fastboot flash avb_custom_key avb_custom_key-FP4.bin
Sending ‘avb_custom_key’ (1 KB) OKAY [ 0.007s]
Writing ‘avb_custom_key’ OKAY [ 0.009s]
Finished. Total time: 0.040s
[ iode]$ adb device
adb: unknown command device
[ iode]$ adb devices
List of devices attached
removed sideload

[ iode]$ adb sideload iode-2.4-20220407-FP4.zip
serving: ‘iode-2.4-20220407-FP4.zip’ (~94%) Success
[ iode]$ fastboot devices
removed fastboot

[ iode]$ fastboot flashing get_unlock_ability
(bootloader) get_unlock_ability: 1
OKAY [ 0.000s]
Finished. Total time: 0.000s
[ iode]$ fastboot flashing lock
OKAY [ 0.026s]
Finished. Total time: 0.026s

Bootloader was unlocked successful shown in bootloader screen.
File were downloaded from this side:

I see:
(bootloader) get_unlock_ability: 1
OKAY [ 0.001s]
Finished. Total time: 0.001s

And “DEVICE STATE - locked”.
This is my first corrupt device, after flashing about 20 Samsung phones successfully.
All files have been checked via sha256sum correctly.

Did your phone successfully wipe after relocking the bootloader?

If not, I would boot into recovery and do a wipe (called factory reset) from there.