So, I received my Fairphone 3 yesterday. Sure, I could have bought a Fairphone 3 Plus, but I decided I’ll grab the camera and audio upgrades a bit later and install them myself. Why? Well - to get into the spirit of Fairphone! Open hardware! Imagine that! Fuck Samsung.
The first thing I did was unlock its bootloader. This essential part of removing stock Android and placing a Google-less system on the phone is detailed here^a. However, once I enabled developer tools, entered into developer tools, selected USB debugging and OEM unlocking, and navigated to the page^b describing how to get a so-called unlock code, I encountered a problem. You may have already guessed what he problem was. The unlock code I received after inputting my IMEI1 and Serial Number did not work. The next three I tried also did not work. I was not deterred. Well, I would have been deterred had not I rooted around a bit on the web and discovered that the unlock codes were generated by an algorithm that can be downloaded (a PERL script!). Additionally, a kind soul put a webified version here^c. The unlock code it generated worked.
I followed this^d up until the last instruction of step 2 in the section Installing /e/ from the bootloader. I did not re-lock the bootloader. The reason will become clear soon. Anyone who is reading this and wants to go ahead and install Magisk (and TWRP) to root the phone will have to go through the whole ordeal of unlocking the bootloader once again IF said human bought a phone with /e/os pre-installed or used the Easy Installer provided by the e Foundation. Unlocking the bootloader will erase the accumulated narrative of said human’s existence, or possibly only the data on said human’s phone. Be warned! But - unfortunately, to continue, it is mandatory.
So, I performed everything up to the command that should not be entered:
fastboot flashing lock
(prosím, do not execute this command because it will re-lock the bootloader)
In continuation - I booted into /e/os. No problem!
I grabbed the newest Magisk^e, which actually isn’t the absolute newest, but peasants can’t be philosophers, can they? I also grabbed TWRP^f for Fairphone 3. Whilst in normal /e/os operation, I plugged the phone via usb (implying that I did not use a DB-25 over RS-232, for example) into my PC (Arch Linux). I pulled down the overlay menu from the top of the screen and at the bottom of the notifications, I was notified Android System - Charging this device via USB. Tapping on the notification, I was told Tap for more options, which I did. To be able to transfer the Magisk zip and the TWRP img to the phone using adb, I changed the USB preferences to File Transfer.
At this point, I assume that whichever human is reading this is already aware of adb and fastboot. Of course, this is most likely a faulty assumption. So, depending on platform, download and install these two tools. They are part of the Android SDK. On Arch Linux and its derivatives, they can be obtained with the
android-tools package. The commands I used to transfer the two files to my phone were:
adb push twrp-3.5.0_9-0-FP3.img /storage/emulated/0/Download adb push Magisk-v21.1.zip /storage/emulated/0/Download
The steps for getting TWRP^g onto the phone were clear, but I read them through twice before starting because of problems I’d had in the past with bootloops. Ironically, the only part that seemed to go awry was when I got to the paragraphs that read:
Once booted, navigate to the Advanced > Install Recovery Ramdisk option. This will ask you to select the image you want to install TWRP from. Select the TWRP image you just downloaded and copied into device storage. Proceed to install this image.
You also need to use the “Fix Recovery Bootloop” option present in the same Advanced Tab. Use that option after you have installed the recovery ramdisk successfully to avoid boot loops happening from installing TWRP Permanently.
I did both after performing a temporary boot into TWRP, but the second one - specifically about bootloops - gave me an error. But that did not matter. Everything worked. So don’t worry!
I backed out until I saw the Install option in the upper left corner and pressed it. I then found the Magisk zip and installed it.
Rebooting the phone, I was back in normal /e/os operation. Magisk Manager was installed, rather magically, so I opened it, updated the manager, but NOT Magisk itself. At this point, I installed all my banking apps. I have two, specificaly - Revolut and CaixaBankNow. Neither would get past an opening screen without the following steps:
Bliss was achieved.