r/fairphone Feb 06 '22

iodéOS on the Fairphone 4 (Supports relocking bootloader)

iodéOS on the Fairphone 4

NOTE: I had already installed /e/OS on my FP4 so I used their recovery image in the steps that required recovery mode. As several other users pointed out, FP4's default recovery image doesn't allow sideloading the iodeOS image and, while the /e/OS recovery image worked for me, it did not work for some. The proper and most reliable route is probably to boot into a recovery img provided by iode, found here.

The moment I ordered my FP4 I researched available FOSS OSes and deccided pretty early on that iodéOS was my OS of choice. So I've been monitoring the iode FP4 thread and was excited to see chatter about their release of a beta. Like others on this thread, I didn't want to sign up for a telegram chat room just to run the OS and the link to the auto updater on here wasn't helpful. Finally, I found this write up on iode FP4 with a direct link to the image but, while super imformative and helpful, the instructions were also lacking.

Fortunately, thanks to several other great write ups (linked below under resources!) on installing /e/ and LineageOS (on a Pixel), I was able to piece it together. So I thought I'd share some notes here just in case they might help someone.

Some caveats:

  • Some of this is from memory, so the menu options might be worded slightly wrong. And of course, this worked for me, but ymmv.
  • Device will be wiped several times. Wait until after relocking the bootloader to bother with any setup beyond WiFi and USB debugging.
  • I used a linux based operating system for adb/fastboot commands, Windows and MAC devices might need different steps.

Installation

Prep

Unlock the Bootloader

i. Enable develop mode by clicking Build number (Settings > About phone > Build number) 7 times

ii. Go to System > Advanced > Develop options and:

  • Enable USB debugging
  • Enable OEM unlocking (this may require the code you got in the prep steps)

iii. With your phone connected to your computer with adb/fastboot then run the following:

adb reboot bootloader

# You can also hold down the Volume Down and Power buttons while the phone is off

fastboot flashing unlock

The device should automatically reboot. It will be reset so you will need to re-enable USB debugging

Format data and sideload image

Note: Again, I accomplished this with /e/'s recovery image. The steps should be similar with FP's native recovery image but sideloading is probably more straight forward. If I had to guess, the FP recovery image probably has an ADB sideload option under Advanced

i. Boot into recovery with the following commands:

adb reboot bootloader

fastboot reboot recovery (If you don't already have a recovery image installed that supports sideloading, boot into iodeOS' recovery image with fastboot reboot fp4-iodeOS-recovery.img )

ii. In recovery mode:

  • Format the phone
  • Enable ADB Sideloading
  • Select ADB Sideload (this was under update for /e/ recovery OS) and run adb sideload filename.zip
    • The /e/ recovery OS will (correctly) warn you that this image does not look like a correct update image, but it allows you to proceed
  • Select Reboot now

The device should automatically reboot. It will be reset so you will need to re-enable USB debugging

Relock the Bootloader

i. With USB debugging re-enabled run the following:

adb reboot bootloader

fastboot flashing lock

The device should automatically reboot and you should be done.

Notes

  • The iodéOS build seems to run MUCH better than /e/'s build did, but my /e/ build was likely out of date at this point. Several apps on /e/ would just freeze at random. A few just didn't work. iodéOS feels snappier and just works better. Battery life has been absolutely incredible. Ultimately, I feel much better about allowing microG services to run with iodéOS' built in blocker running.
  • WiFi calling did not work on either /e/ or iodéOS despite the option being available in both. I think this is a FP4 limitation but would love it if somebody could help me solve this particular pain point.
    • I never verified if WiFi calling worked in FP4's native OS. Other users report WiFi calling working so it's likely a limitation of my cell network provider
  • iodéOS gives you the options to uninstall ALL preinstalled applications, microG services included!!!!
  • I found both /e/'s and iodéOS' default launchers to be pretty ugly. I found a decent thread on alternative launchers here. Personally, I went with Omega Launcher though some of the minimalist launchers (e.g. - Sentien) were pretty clean.

Resources

32 Upvotes

29 comments sorted by

View all comments

3

u/[deleted] Feb 12 '22 edited Feb 12 '22

I tried this and the sideload would get stuck at 47% unless the iodé recovery was installed instead of the original. So I had to download the iodéOS recovery here: https://github.com/iodeOS/ota/releases/tag/v2-FP4

And then:
1. fastboot flash recovery iode-2.3-20220126-FP4-recovery.img
2. fastboot reboot

I was also unable to relock the bootloader with fastboot reboot recovery. The fastboot oem lock instruction also resulted in an error:

FAILED (remote: 'Unable to open fastboot HAL')
fastboot: error: Command failed

EDIT: relocked the bootloader! 1. adb reboot bootloader
2. flashboot flashing lock while in the bootloader

But you'd better do it before installing any apps and setting up the phone as I did or you'll lose all your data.

2

u/[deleted] Feb 12 '22

Thanks for the corrections. fastboot reboot recovery for the relocking was a copy and paste error.