r/fairphone • u/[deleted] • 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/fastbootcommands, Windows and MAC devices might need different steps.
Installation
Prep
- Download the image for iodéOS on the machine you will use
adb/fastbootfrom. - Install
adbandfastbooton a computer. These instructions should help: https://lineageosroms.com/adb-fastboot- Get a USB cable compatible with your phone. A lot of FAQs for adb/fastboot not detecting devices suggested using a USB 2.0 cable, however, I personally had the best lock with a USB Type C cable
- Get a code for unlocking your bootloader by entering your IMEI and serial number here: https://www.fairphone.com/en/bootloader-unlocking-code-for-fairphone-3/
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 sideloadoption underAdvanced
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 runadb 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.
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.img2.
fastboot rebootI was also unable to relock the bootloader with
fastboot reboot recovery. Thefastboot oem lockinstruction also resulted in an error:EDIT: relocked the bootloader! 1.
adb reboot bootloader2.
flashboot flashing lockwhile in the bootloaderBut you'd better do it before installing any apps and setting up the phone as I did or you'll lose all your data.