[HOW-TO] Flash /e/-OS on Fairphone 3 using Debian based GNU/Linux

First, thank you for writing this guide. I’ve been using Ubuntu some 15 years, so I’m somewhat familiar with the command line, but it’s not like I use it regularly, and I’ve never played around with a phone (adb and fastboot completely unknown), so the official instructions seemed a bit sparse for me.

I did however have some minor bumps on the way, so I thought I’d describe my process in case someone else would benefit from it.

(tl;dr: scroll to end)

My computer currently runs Xubuntu 16.04.6 LTS (Xenial Xerus), the 32 bit version (the computer itself is from 2007 or some such, it’s a business version I bought used and still has a sticker on it that says Windows Vista).

Step 1:
Okay, I’ve used apt-get, so that shouldn’t be a problem… Terminal gives error report and says partially installed package. Is it one of these or some old package? More research, but I get it solved thanks to some kind person having posted exactly what to write into the terminal to fix it. That done (which had nothing to do with fairphone or adb), onwards with adb and fastboot, and to step 2.

Step 2:
Now I have to start my FP. I got it a few weeks before /e/ announced beta-testing, but I’ve hardly used it since because of how googled it is. I’ve been thinking of buying a Fairphone since the original one, but I had a pretty new phone then, so I always thought I’d leave it to when I next needed a new one.

Well, I’ve used that phone about 10 years now, and it’s getting pretty outdated (still has Android 2-something…), but calling and texting still works even if other things have become difficult or impossible (I’ve been going crazy with Google Play Services from about when they appeared – because when I started using that phone they didn’t exist even if the Store did – and a lot of apps either don’t work with the old system or they are just too BIG for the phone to handle) so I just haven’t been bothered to upgrade (and I have to say I’m impressed it’s still working, as many times as I’ve dropped it on the floor; the screen is still whole and I haven’t noticed any dead pixels, even if the back is so loose it hardly stays on; and it isn’t even a Nokia…)

Reason I decided to finally buy my FP now is that due to corona I suddenly had to do meetings though video conference, and with a 32 bit system on the computer Skype is pretty much an impossibility (I didn’t get Teams to work either, but I don’t know if it would be possible) and though I did get Zoom to work my poor old computer started lagging the video and sound after 20-30 mins.

So I got my new phone (very speedily and niftily through a local vendor), and I was horrified at the mass of google that greeted me.

Now, I haven’t ungoogled my old phone, and it’s not like it’s that secure either, but google is really unobtrusive there (though Play Services keep popping up at times and hogging space) so it hasn’t felt like a priority.
The FP however was seeped in google, which I hadn’t been prepared for. Oh well, I knew there were alternative OS out there, I had a vague idea I’d try one even before being horrified, so off to search I went. And read a ton of discussions on the fairphone-forum, only to find out that there wasn’t yet an alternative for FP3. What a letdown.

But there were several in the works, so I decided to wait a little to see what would happen, only using my FP when I needed to do video calls. And lo and behold, /e/ came out surprisingly quickly after that, so then I just had to do it… a little scary when diving into something completely new.

Anyway, following this guide I got to “Developer options”, although as I’d set the phone to my own language I didn’t find everything as quite as easily (and thankfully I remembered reading somewhere else it takes seven single taps on “Build number”, a couple of times doesn’t really cut it). I activated “OEM unlocking”, and then couldn’t find an option which seemed to correspond with “Advanced reboot”.

By this point I got fed-up with the language difference, so I set out to change the phone to English. And I found where to set new languages, but then I couldn’t just seem to change to the one I wanted. Took me a while to figure out I had to press down and then drag the new language to the top to activate it.
Not the most intuitive way in my opinion (but maybe that’s just because I’m not used to modern Android; my old phone is in no way comparable, and my Mom is in iLand, so although I’ve used her phone and tablet at times, they’re not really the same either).

So phone now in English, I went back to search for “Advance reboot”. Still couldn’t find it or anything like it. I don’t know if it is because I never updated my phone from how I got it, or what, but it just wasn’t there.
After looking and thinking about it a moment, I decided to just go on. “USB debugging” at least was there.

Step 3: connect the smartphone
I had gotten myself a proper charge cable (which took some searching after reading on fp-forum about the problems people had had with cables, so I didn’t want to just buy the cheep one at the local store, and as I got my FP from a local vendor I couldn’t buy FP charger and cable at the same time) which meant connecting wasn’t a problem. But then I got stuck.

It didn’t offer me a screen to accept the computer, in fact it didn’t offer anything, except inform me phone was now charging.
I finally figured out I had to roll down the notifications, tap on the one about charging, tap again on options and there set allow file transfer (or FTP, though I have no idea what FTP is) to get the “Allow USB debugging”-screen as shown in picture. Felt a bit stupid once I’ve got it, because I have to do something similar when connecting my old phone to the computer too, but the instructions in this guide are otherwise so detailed I got a bit stuck there.

I downloaded the OS-image from /e/ while I was searching for the missing options on my phone, which otherwise went smoothly except there were several options on the download page and no mention which to select or if it matters (I’m aspie, such things makes me confused).
Ubuntu has made extraction very easy, so no problems there either.

Step 3: unlocking
Okay, time to try the bootload, despite not having had the “Advanced reboot” option. I got the right screen on the phone, but I got nothing when typing “fastboot devices” in the terminal (confused again…). I did get something with “adb devices”. After rereading this and other pages and trying different options (including sudo) I decided to try the unlock anyway.

Which of course didn’t work, the only output was “waiting for device”. When nothing seemed to happen I pressed Ctrl+C to stop the process. And tried a couple different variations, then reread the pages (both the fairphone official one and the community forum one) on how to unlock bootloader.
I got my code (I’d managed to overlook the mention about it in the beginning, and it’s not mentioned later at all), and after testing adding it after “fastboot oem unlock” I did one more test, this time adding “sudo fastboot oem unlock code”. Finally success. And time for a short breather.

Step 3: flashing /e/
Now eager to finish, I right clicked on the folder to get a new terminal with the right path, and tried the next command. Of course it didn’t work (I think it said insufficient permission, which made me think about that “Advanced reboot” I was missing), but wise from my previous progress I tried with sudo, and the rest of the installation went smoothly, just adding sudo before each command.

And now I have my relocked phone running /e/ instead of Google. Next project: finding the right (for me) launcher and browser and music player and so on (and hopefully finding a way to port my contacts and messages and such from my old phone to my new one).

That was my experience. Not too bad, despite the hiccups.

tl;dr
at least for me, using Ubuntu (32 bit), I had to preface all commands with sudo to get it to work

2 Likes

Hello,

I just bought a FP3 and am trying to install /e/ from a Linux Mint PC,

I am stuck at the part where the “Allow USB debugging?” should pop on the phone and doesn’t.

I installed adb and tried “adb devices” on the command tool and it says: AXXXX (phone serial) unauthorized.

Can someone help me ?

I must say I am a total newbie to Linux but eager to learn :slight_smile:

Thanks !

Hello.
After being allowed as “déveloper” (7 touch on build number), when you connect your phone via USB it asks you to allows connecting (for debugging) to THAT PC. Then, adb will works.

PS : it needs to enable debug mode in phone’s settings, too… Did you found… and solved ?

Hi All!

Sorry my English knowledge (not the best).
So, I bougth my first Fairphone3 and the phone has Android 10.
I would like to install /e/OS and I use my Ubuntu 20.04 LTS.

I have a problem, I haven’t active OEM unlocking, so I couldn’t go next step.
The “USB debugging” is working fine, the “adb reboot bootloader” is ok, the “fastboot devices” is working fine, but the “fastboot flashing unlock” or “fastboot oem unlock” doesnt work.


Thank you for your helping.
Peace

Is there trouble with any of the steps given here? …

Thanks, it’s woriking, but I think the main problem: the phone didn’t connect to internet. After I connected, it’s working. I unlocked the phone.

And the e/OS/ on my Fairphone, thanks :smiley:

2 Likes

OK, I tried this and it didn’t work. I managed to flash the system.img Ok - though it didn’t give me the “target reported max download size of 534773760 bytes” message, which was a little worrying. it did give the correct output for the others though and flashed all 4 parts on. But when I tried to flash the boot.img, it returned an error of “fastboot: error: Couldn’t parse partition size ‘0x’.”

So, I’m stuck here. Anybody able to help?

Hello, welcome in the forum :slight_smile:

If you encounter an error at the fastboot flash boot boot.img step, the solution is available here.

2 Likes

Hi, thanks, I tried that, and it flashed it, but then booted into Android after I’d finished. Scanning here, I noted that there are two slots and I should really flash the OS onto both of them, like mdoering says above. So, I followed his thing, only after flashing the whole OS onto one slot, i then changed to the other slot, rebooted the bootloader (flashboot reboot bootloader) and then flashed the boot.img onto the previous slot (ie, the one that I wasn’t using). It seems you can’t flash the boot.img onto the active slot.

Anyway, it then booted into /e/. Success!

2 Likes

Hi /e/ team,
as you may know, the FP3 had a recent oopsie that has the potential to destroy my data.
While most of my stuff is backed up, I did the traditional “i’ll set up a back up for that stuff later” on some other important stuff, and I’m just wondering how I would go about flashing the old rom onto my FP3 whilst keeping my data partition intact. I’ve heard of the a/b fix but according to this, that might not go too well.
From what I understand, there’s a total of 6 partitions that the FP3 houses.

fastboot flash system system.img
fastboot flash boot boot.img
fastboot flash vendor vendor.img
fastboot flash dtbo dtbo.img
fastboot flash product product.img
fastboot flash vbmeta vbmeta.img

Which one of these houses my data, and what do I not flash to keep my data? Do I have the wrong picture of android partitions in my head?
Thanks.

The A/B “Fix” doesn’t do anything with any partition or with user data, it just changes the OS slot to boot.

https://forum.fairphone.com/t/warning-latest-e-update-from-oct-3rd-might-break-the-phone/65500/6?u=anotherelk

The case you linked to needs clarification on what exactly the user did.


There are several more.

The data partition which has your data is called userdata, and because it has your data an update doesn’t flash or wipe it. The wiping of it is part of the instructions of an initial manual install, though.

Great! Thanks for the directions. I’ll try the fix now.

Step 3.
fastboot devices
no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html] fastboot

I allowed USB debugging for this computer before shutting off and starting fastboot mode.
From the website provided in the message I tried the instructions but with no luck.

This did nothing:

sudo usermod -aG plugdev $LOGNAME

What next?

This didn’t help:

sudo apt-get install android-sdk-platform-tools-common

IIRC you have to log out and back in after the “usermod” command for it to take effect (if you haven’t done so already).

yep, relogin or newgrp plugdev to change your group to it interactively. But then new files in the terminal session will be created with that group too.

No, it was not as easy! :wink: (Because of fastboot-udev-rules).

But thank you very much for your really good description, now it works on my FP3+ with the now Android 10 beta.

1 Like

There is no

product.img

anymore in newer versions like https://images.ecloud.global/dev/FP3/IMG-e-0.12-q-2020111084008-dev-FP3.zip right? No consequences if I just skip

fastboot flash product product.img

Or would there be some?

https://doc.e.foundation/devices/FP3/install doesn’t list fastboot flash product product.img anymore.

1 Like

In the /e/documentation (https://doc.e.foundation/devices/FP3/install) the last step is the lock of the bootloader.
Is it mandatory or may I leave the bootloader open? In a later case of unlocking, all data will be erased - I would like to avoid erasing…

It isn’t mandatory to lock it, but be aware that it is advised to lock it for reasons.
Make sure to set up a screen lock if you leave the bootloader unlocked.

To leave it open just in case you don’t need to unlock it later for reasons you don’t know yet … I don’t know … I would rather run the risk of having to set up the phone again.
(But then again I choose to not have banking Apps on my phone, oh, the bliss :slight_smile: .)

2 Likes