[SOLVED] Installing /e/ on Fairphone 3 fails

Hey there! I wanted to install /e/ on my Fairphone 3 but it didn’t work. Here is what I did:

I unlocked the bootloader following Fairphone’s instructions (https://support.fairphone.com/hc/en-us/articles/360041655711-Unlock-the-bootloader-of-your-Fairphone-3). No error messages.

Then I installed /e/ following e’s instructions (https://doc.e.foundation/devices/FP3/install). Again: No error messages. This my console:

D:\Downloads\platform-tools>fastboot -w
Erasing 'userdata'                                 OKAY [  0.418s]
mke2fs 1.45.4 (23-Sep-2019)
Creating filesystem with 12777209 4k blocks and 3194880 inodes
Filesystem UUID: [censored]
Superblock backups stored on blocks:
        [censored]

Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done

Sending 'userdata' (316 KB)                        OKAY [  0.040s]
Writing 'userdata'                                 OKAY [  0.020s]
Finished. Total time: 0.864s

D:\Downloads\platform-tools>fastboot flash boot boot.img
Sending 'boot' (65536 KB)                          OKAY [  1.744s]
Writing 'boot'                                     OKAY [  0.309s]
Finished. Total time: 2.113s

D:\Downloads\platform-tools>fastboot flash vendor vendor.img
Sending 'vendor' (368004 KB)                       OKAY [  8.334s]
Writing 'vendor'                                   OKAY [  1.673s]
Finished. Total time: 12.697s

D:\Downloads\platform-tools>fastboot flash dtbo dtbo.img
Sending 'dtbo' (8192 KB)                           OKAY [  1.854s]
Writing 'dtbo'                                     OKAY [  0.051s]
Finished. Total time: 1.963s

D:\Downloads\platform-tools>fastboot flash product product.img
Sending 'product' (2148 KB)                        OKAY [  0.075s]
Writing 'product'                                  OKAY [  0.030s]
Finished. Total time: 0.245s

D:\Downloads\platform-tools>fastboot flash vbmeta vbmeta.img
Sending 'vbmeta' (4 KB)                            OKAY [  0.035s]
Writing 'vbmeta'                                   OKAY [  0.015s]
Finished. Total time: 0.111s

D:\Downloads\platform-tools>fastboot flashing lock
                                                   OKAY [  0.080s]
Finished. Total time: 0.080s

My Fairphone 3 rebooted as expected but didn’t show something like an /e/ welcome page but the old Fairphone ‘powered by Android’ initial setup guide. It was the same as the one I’ve got right after buying the FP3.

I tried installing /e/ a second time in the same way but again without success.

I haven’t tried to install a custom ROM nor unlocked the bootloader before. Everything I’ve done before was simple standard smartphone usage, nothing special or “dangerous”.

What have I done wrong? Are the instructions wrong? What should I do now? I’m really disappointed :confused:

Thank you!

When your FP3 is in fastboot mode, what is the output of fastboot getvar all? Do you see lines like this?

[...]
(bootloader) slot-success:b:Yes
[...]
(bootloader) slot-success:a:Yes
[...]
3 Likes

If I unzip IMG-e-0.9-p-2020042851613-dev-FP3.zip, I get the following 10 files:

boot.img
dtbo.img
dtbo-pre.img
product.img
ramdisk.img
ramdisk-recovery.img
system.img
userdata.img
vbmeta.img
vendor.img

The /e/ documentation specifies: Installing /e/ from the bootloader

1 . Unzip the archive

 unzip <zip>

2 . Install /e/ using the following commands (from fastboot mode)

 fastboot -w
 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

 fastboot flashing lock

What happens to the remaining files?

dtbo-pre.img
ramdisk.img
ramdisk-recovery.img
userdata.img

Are these files called and executed by the others?

1 Like

Try again, this time don’t forget fastboot flash system system.img :wink: .

3 Likes

No, these files apparently just aren’t being used for the installation.
It could be those files are being automatically built in the OS build process but then not needed for the installation, but I can just speculate here, I have no real insight.

1 Like

Try again, this time don’t forget fastboot flash system system.img :wink: .

I really missed that. Thanks for the tip. But I’m 100% sure that I flashed system.img on the first try, the console is from the second try.

I don’t want to do the whole procedure again until I’m sure that it really works (backing up and restoring the data is very time intensive). Have you (or anyone else here) ever tried to install /e/ on a Fairphone 3 in general? If yes: Which exact steps were followed? Did everything work?

(I am writing here via my second account, because my first account (with which I asked the question) got lost.)

When your FP3 is in fastboot mode, what is the output of fastboot getvar all? Do you see lines like this?

What would it mean if something like that was displayed? Unfortunately I have already locked the bootloader again and “re-set up” the device.

fastboot getvar all also works with the bootloader locked because it simply reads low-level information about the phone and does not alter anything.

I’ve seen other guides to install other images and those said to first check the slot success state before flashing something.

1 Like

fastboot getvar all also works with the bootloader locked because it simply reads low-level information about the phone and does not alter anything.

I’ve executed the command now and this is what I’ve got. Is that good or bad?

(bootloader) version:0.5
(bootloader) hw-chip:SDM632
(bootloader) battery-soc-ok:yes
(bootloader) battery-voltage:4203575
(bootloader) variant:MTP eMMC
(bootloader) unlocked:no
(bootloader) secure:no
(bootloader) version-baseband:
(bootloader) version-bootloader:
(bootloader) logical-block-size:0x200
(bootloader) erase-block-size:0x200
(bootloader) display-panel:
(bootloader) off-mode-charge:1
(bootloader) adb-enabled:0
(bootloader) charger-screen-enabled:1
(bootloader) max-download-size: 0x1fe00000
(bootloader) slot-count:2
(bootloader) current-slot:a
(bootloader) slot-retry-count:b:6
(bootloader) slot-success:b:Yes
(bootloader) slot-active:b:No
(bootloader) slot-unbootable:b:No
(bootloader) slot-retry-count:a:5
(bootloader) slot-success:a:Yes
(bootloader) slot-active:a:Yes
(bootloader) slot-unbootable:a:No
(bootloader) has-slot:userdata: No
(bootloader) has-slot:product: Yes
(bootloader) has-slot:frp: No
(bootloader) has-slot:logdump: No
(bootloader) has-slot:dpo: No
(bootloader) has-slot:msadp: No
(bootloader) has-slot:apdp: No
(bootloader) has-slot:keymaster: Yes
(bootloader) has-slot:cmnlib64: Yes
(bootloader) has-slot:cmnlib: Yes
(bootloader) has-slot:lksecapp: Yes
(bootloader) has-slot:mcfg: No
(bootloader) has-slot:syscfg: No
(bootloader) has-slot:mdtp: Yes
(bootloader) has-slot:dip: No
(bootloader) has-slot:mota: No
(bootloader) has-slot:limits: No
(bootloader) has-slot:oem: No
(bootloader) has-slot:config: No
(bootloader) has-slot:prodinfo: No
(bootloader) has-slot:keystore: No
(bootloader) has-slot:misc: No
(bootloader) has-slot:persist: No
(bootloader) has-slot:vendor: Yes
(bootloader) has-slot:system: Yes
(bootloader) has-slot:devinfo: No
(bootloader) has-slot:boot: Yes
(bootloader) has-slot:vbmeta: Yes
(bootloader) has-slot:dtbo: Yes
(bootloader) has-slot:aboot: Yes
(bootloader) has-slot:splash: No
(bootloader) has-slot:sec: No
(bootloader) has-slot:fsg: No
(bootloader) has-slot:DDR: No
(bootloader) has-slot:modemst2: No
(bootloader) has-slot:modemst1: No
(bootloader) has-slot:dsp: Yes
(bootloader) has-slot:devcfg: Yes
(bootloader) has-slot:tz: Yes
(bootloader) has-slot:rpm: Yes
(bootloader) has-slot:sbl1: Yes
(bootloader) has-slot:ssd: No
(bootloader) has-slot:fsc: No
(bootloader) has-slot:modem: Yes
(bootloader) partition-type:userdata:ext4
(bootloader) partition-size:userdata:    0xc2f6f9e00
(bootloader) partition-type:product_b:raw
(bootloader) partition-size:product_b:   0x8000000
(bootloader) partition-type:product_a:raw
(bootloader) partition-size:product_a:   0x8000000
(bootloader) partition-type:frp:raw
(bootloader) partition-size:frp:         0x80000
(bootloader) partition-type:logdump:raw
(bootloader) partition-size:logdump:     0x4000000
(bootloader) partition-type:dpo:raw
(bootloader) partition-size:dpo:         0x2000
(bootloader) partition-type:msadp:raw
(bootloader) partition-size:msadp:       0x40000
(bootloader) partition-type:apdp:raw
(bootloader) partition-size:apdp:        0x40000
(bootloader) partition-type:keymaster_b:raw
(bootloader) partition-size:keymaster_b:         0x100000
(bootloader) partition-type:keymaster_a:raw
(bootloader) partition-size:keymaster_a:         0x100000
(bootloader) partition-type:cmnlib64_b:raw
(bootloader) partition-size:cmnlib64_b:  0x100000
(bootloader) partition-type:cmnlib64_a:raw
(bootloader) partition-size:cmnlib64_a:  0x100000
(bootloader) partition-type:cmnlib_b:raw
(bootloader) partition-size:cmnlib_b:    0x100000
(bootloader) partition-type:cmnlib_a:raw
(bootloader) partition-size:cmnlib_a:    0x100000
(bootloader) partition-type:lksecapp_b:raw
(bootloader) partition-size:lksecapp_b:  0x20000
(bootloader) partition-type:lksecapp_a:raw
(bootloader) partition-size:lksecapp_a:  0x20000
(bootloader) partition-type:mcfg:raw
(bootloader) partition-size:mcfg:        0x400000
(bootloader) partition-type:syscfg:raw
(bootloader) partition-size:syscfg:      0x80000
(bootloader) partition-type:mdtp_b:raw
(bootloader) partition-size:mdtp_b:      0x2000000
(bootloader) partition-type:mdtp_a:raw
(bootloader) partition-size:mdtp_a:      0x2000000
(bootloader) partition-type:dip:raw
(bootloader) partition-size:dip:         0x100000
(bootloader) partition-type:mota:raw
(bootloader) partition-size:mota:        0x80000
(bootloader) partition-type:limits:raw
(bootloader) partition-size:limits:      0x8000
(bootloader) partition-type:oem:raw
(bootloader) partition-size:oem:         0x10000000
(bootloader) partition-type:config:raw
(bootloader) partition-size:config:      0x8000
(bootloader) partition-type:prodinfo:raw
(bootloader) partition-size:prodinfo:    0x200000
(bootloader) partition-type:keystore:raw
(bootloader) partition-size:keystore:    0x80000
(bootloader) partition-type:misc:raw
(bootloader) partition-size:misc:        0x100000
(bootloader) partition-type:persist:raw
(bootloader) partition-size:persist:     0x2000000
(bootloader) partition-type:vendor_b:raw
(bootloader) partition-size:vendor_b:    0x40000000
(bootloader) partition-type:vendor_a:raw
(bootloader) partition-size:vendor_a:    0x40000000
(bootloader) partition-type:system_b:raw
(bootloader) partition-size:system_b:    0xc0000000
(bootloader) partition-type:system_a:raw
(bootloader) partition-size:system_a:    0xc0000000
(bootloader) partition-type:devinfo:raw
(bootloader) partition-size:devinfo:     0x100000
(bootloader) partition-type:boot_b:raw
(bootloader) partition-size:boot_b:      0x4000000
(bootloader) partition-type:boot_a:raw
(bootloader) partition-size:boot_a:      0x4000000
(bootloader) partition-type:vbmeta_b:raw
(bootloader) partition-size:vbmeta_b:    0x10000
(bootloader) partition-type:vbmeta_a:raw
(bootloader) partition-size:vbmeta_a:    0x10000
(bootloader) partition-type:dtbo_b:raw
(bootloader) partition-size:dtbo_b:      0x800000
(bootloader) partition-type:dtbo_a:raw
(bootloader) partition-size:dtbo_a:      0x800000
(bootloader) partition-type:aboot_b:raw
(bootloader) partition-size:aboot_b:     0x300000
(bootloader) partition-type:aboot_a:raw
(bootloader) partition-size:aboot_a:     0x300000
(bootloader) partition-type:splash:raw
(bootloader) partition-size:splash:      0xb00000
(bootloader) partition-type:sec:raw
(bootloader) partition-size:sec:         0x4000
(bootloader) partition-type:fsg:raw
(bootloader) partition-size:fsg:         0x180000
(bootloader) partition-type:DDR:raw
(bootloader) partition-size:DDR:         0x8000
(bootloader) partition-type:modemst2:raw
(bootloader) partition-size:modemst2:    0x180000
(bootloader) partition-type:modemst1:raw
(bootloader) partition-size:modemst1:    0x180000
(bootloader) partition-type:dsp_b:raw
(bootloader) partition-size:dsp_b:       0x1000000
(bootloader) partition-type:dsp_a:raw
(bootloader) partition-size:dsp_a:       0x1000000
(bootloader) partition-type:devcfg_b:raw
(bootloader) partition-size:devcfg_b:    0x40000
(bootloader) partition-type:devcfg_a:raw
(bootloader) partition-size:devcfg_a:    0x40000
(bootloader) partition-type:tz_b:raw
(bootloader) partition-size:tz_b:        0x200000
(bootloader) partition-type:tz_a:raw
(bootloader) partition-size:tz_a:        0x200000
(bootloader) partition-type:rpm_b:raw
(bootloader) partition-size:rpm_b:       0x80000
(bootloader) partition-type:rpm_a:raw
(bootloader) partition-size:rpm_a:       0x80000
(bootloader) partition-type:sbl1_b:raw
(bootloader) partition-size:sbl1_b:      0x80000
(bootloader) partition-type:sbl1_a:raw
(bootloader) partition-size:sbl1_a:      0x80000
(bootloader) partition-type:ssd:raw
(bootloader) partition-size:ssd:         0x2000
(bootloader) partition-type:fsc:raw
(bootloader) partition-size:fsc:         0x400
(bootloader) partition-type:modem_b:raw
(bootloader) partition-size:modem_b:     0x5800000
(bootloader) partition-type:modem_a:raw
(bootloader) partition-size:modem_a:     0x5800000
(bootloader) hw-revision:10000
(bootloader) serialno:A209G7GD0202
(bootloader) kernel:lk
(bootloader) product:FP3
all:
Finished. Total time: 1.984s

Hm, both slots are in success state. Which is good.

But then, I don’t see why it’s not working for you. My best idea at the moment is to simply try again.

3 Likes

Yes. I’m running it currently for checking it out.

I did exactly what the install guide told me to do.

The install worked without a problem.

2 Likes

Yeah, same here. Followed the guide, no problems.

3 Likes

Yeah, same here. Followed the guide, no problems.

All right, I will give it one more try. Do I need a new bootloader code or will the old one work? Which ADB program did you use? Is this one okay? https://developer.android.com/studio/releases/platform-tools

I have no idea. Several people were able to unlock their FP3 without any code.

You will have to try that, I guess.
(I can’t say, I have the bootloader unlocked since I have the phone.)

The install guide covers this.
Please carefully follow each step in the install guide from the start.

1 Like

The code thing wasn’t needed to unlock initially when the phone got released. Fairphone introduced that later, perhaps they had to (to stay Google compliant).

1 Like

I tried it again in complete calm and it worked! I obviously just made some typos. I would like to thank everyone who helped me, thank you very much!

3 Likes

Finally I tried with mine…

In Fastboot mode on screen, Device State - Unlocked, when I send command “fastboot -w” here is the answer :

wiping userdata…
Invalid erase-block-size 512: must be a power of 2 and at least 4096.
Invalid logical-block-size 512: must be a power of 2 and at least 4096.
mke2fs 1.45.5 (07-Jan-2020)
/tmp/TemporaryFile-yMeWXj: Function de bibliothèque ext2 non implémentée lors de l’initialisation du superbloc
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for userdata

Any idea ? I am afraid to send newt command… :sweat_smile:

Make sure you are using current Android Platform Tools.

If you are on macOS, you could try this solution here … https://forum.xda-developers.com/showpost.php?p=75497859&postcount=4.

If you are on Linux or macOS, try with a Windows computer if you can.

2 Likes

You are right !
I have installed fastboot & adb using apt install.
I have seen in the beginning of the tuto that Android Platform Tools were to be used.
I have downloaded it and fastboot -w is ok now !
Thanks a lot you are great !

2 Likes