Fairphone 5 - Bootloop

I tried to put Iodé on the FP5 using the instructions, but it bootloops. Something during installation didn’t go completely right either I think, see the log:

(bootloader) get_unlock_ability: 1
OKAY [  0.007s]
finished. total time: 0.009s
PS E:\iode-4.8-20231220-FP5-fastboot>
PS E:\Iode\iode-4.8-20231220-FP5-fastboot> .\flash-all.bat
Erasing 'avb_custom_key'                           OKAY [  0.008s]
Finished. Total time: 0.016s
Sending 'avb_custom_key' (1 KB)                    OKAY [  0.002s]
Writing 'avb_custom_key'                           OKAY [  0.006s]
Finished. Total time: 0.020s

    F2FS-tools: mkfs.f2fs Ver: 1.14.0 (2020-08-24)

Info: Disable heap-based policy
Info: Debug level = 1
Info: Trim is disabled
Info: Set conf for android
Info: Enable Project quota
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 448795544 (219138 MB)
Info: zone aligned segment0 blkaddr: 512
Info: add quota type = 0 => 4
Info: add quota type = 1 => 5
Info: add quota type = 2 => 6
Info: format version with
  ""
[f2fs_init_sit_area: 626]       Filling sit area at offset 0x00600000
[f2fs_init_nat_area: 660]       Filling nat area at offset 0x01600000
[f2fs_write_root_inode:1274]    Writing root inode (hot node), 2a200 0 200 at offset 0x00172544
[f2fs_write_default_quota:1350]         Writing quota data, at offset 0002a801, 0002a802
[f2fs_write_qf_inode:1407]      Writing quota inode (hot node), 2a200 0 200 at offset 0x00172545
[f2fs_write_default_quota:1350]         Writing quota data, at offset 0002a803, 0002a804
[f2fs_write_qf_inode:1407]      Writing quota inode (hot node), 2a200 0 200 at offset 0x00172546
[f2fs_write_default_quota:1350]         Writing quota data, at offset 0002a805, 0002a806
[f2fs_write_qf_inode:1407]      Writing quota inode (hot node), 2a200 0 200 at offset 0x00172547
[f2fs_update_nat_root:1461]     Writing nat root, at offset 0x00001600
[f2fs_add_default_dentry_root:1658]     Writing default dentry root, at offset 0x0002a800
Info: Overprovision ratio = 0.430%
Info: Overprovision segments = 940 (GC reserved = 473)
[f2fs_write_check_point_pack: 819]      Writing main segments, cp at offset 0x00000200
[f2fs_write_check_point_pack: 975]      Writing Segment summary for HOT/WARM/COLD_DATA, at offset 0x00000201
[f2fs_write_check_point_pack:1002]      Writing Segment summary for HOT_NODE, at offset 0x00000202
[f2fs_write_check_point_pack:1014]      Writing Segment summary for WARM_NODE, at offset 0x00000203
[f2fs_write_check_point_pack:1025]      Writing Segment summary for COLD_NODE, at offset 0x00000204
[f2fs_write_check_point_pack:1033]      Writing cp page2, at offset 0x00000205
[f2fs_write_check_point_pack:1053]      Writing NAT bits pages, at offset 0x000003fe
[f2fs_write_check_point_pack:1074]      Writing cp page 1 of checkpoint pack 2, at offset 0x00000400
[f2fs_write_check_point_pack:1093]      Writing cp page 2 of checkpoint pack 2, at offset 0x00000405
[f2fs_write_super_block:1126]   Writing super block, at offset 0x00000000
Info: format successful
Sending 'userdata' (97 KB)                         OKAY [  0.003s]
Writing 'userdata'                                 OKAY [  0.014s]
Finished. Total time: 0.563s
Sending 'modem_a' (175660 KB)                      OKAY [  3.845s]
Writing 'modem_a'                                  OKAY [  0.618s]
Finished. Total time: 5.585s
--------------------------------------------
Bootloader Version...: FP5.TT40.A.131.20231130
Baseband Version.....: 13
Serial Number........: xl54x925
--------------------------------------------
extracting android-info.txt (0 MB) to RAM...
Setting current slot to 'a'                        OKAY [  0.007s]
extracting boot.img (96 MB) to disk... took 0.323s
archive does not contain 'boot.sig'
Sending 'boot_a' (98304 KB)                        OKAY [  2.097s]
Writing 'boot_a'                                   OKAY [  0.317s]
archive does not contain 'init_boot.img'
extracting dtbo.img (24 MB) to disk... took 0.073s
archive does not contain 'dtbo.sig'
Sending 'dtbo' (24576 KB)                          OKAY [  0.523s]
Writing 'dtbo'                                     OKAY [  0.040s]
archive does not contain 'dt.img'
archive does not contain 'pvmfw.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.001s
archive does not contain 'vbmeta.sig'
Sending 'vbmeta' (8 KB)                            OKAY [  0.001s]
Writing 'vbmeta'                                   OKAY [  0.001s]
extracting vbmeta_system.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta_system.sig'
Sending 'vbmeta_system' (4 KB)                     OKAY [  0.001s]
Writing 'vbmeta_system'                            OKAY [  0.000s]
archive does not contain 'vbmeta_vendor.img'
extracting vendor_boot.img (96 MB) to disk... took 0.317s
archive does not contain 'vendor_boot.sig'
Sending 'vendor_boot' (98304 KB)                   OKAY [  2.090s]
Writing 'vendor_boot'                              OKAY [  0.446s]
archive does not contain 'vendor_kernel_boot.img'
extracting super_empty.img (0 MB) to disk... took 0.001s
Rebooting into fastboot                            OKAY [  0.002s]
< waiting for any device >
Sending 'super' (4 KB)                             OKAY [  0.000s]
Updating super partition                           OKAY [  0.017s]
Resizing 'odm_a'                                   OKAY [  0.004s]
Resizing 'product_a'                               OKAY [  0.004s]
Resizing 'system_a'                                OKAY [  0.004s]
Resizing 'system_ext_a'                            OKAY [  0.004s]
Resizing 'system_b'                                OKAY [  0.004s]
Resizing 'vendor_a'                                OKAY [  0.004s]
Resizing 'vendor_b'                                OKAY [  0.005s]
archive does not contain 'boot_other.img'
extracting odm.img (4 MB) to disk... took 0.015s
archive does not contain 'odm.sig'
Resizing 'odm_a'                                   OKAY [  0.005s]
Sending 'odm_a' (4808 KB)                          OKAY [  0.018s]
Writing 'odm_a'                                    OKAY [  0.104s]
archive does not contain 'odm_dlkm.img'
extracting product.img (1068 MB) to disk...ziparchive W 12-31 04:13:00  9704 13000] Zip: unable to truncate file to 1120821600: File too large
fastboot: error:
failed to extract 'product.img': I/O error
is-userspace: yes
Sending 'abl_a' (152 KB)                           OKAY [  0.001s]
Writing 'abl_a'                                    OKAY [  0.004s]
Finished. Total time: 0.018s
Sending 'aop_a' (203 KB)                           OKAY [  0.001s]
Writing 'aop_a'                                    OKAY [  0.005s]
Finished. Total time: 0.016s
Sending 'bluetooth_a' (508 KB)                     OKAY [  0.002s]
Writing 'bluetooth_a'                              OKAY [  0.006s]
Finished. Total time: 0.141s
Sending 'cpucp_a' (182 KB)                         OKAY [  0.003s]
Writing 'cpucp_a'                                  OKAY [  0.006s]
Finished. Total time: 0.034s
Sending 'devcfg_a' (51 KB)                         OKAY [  0.000s]
Writing 'devcfg_a'                                 OKAY [  0.004s]
Finished. Total time: 0.021s
Sending 'dsp_a' (65536 KB)                         OKAY [  0.224s]
Writing 'dsp_a'                                    OKAY [  0.169s]
Finished. Total time: 0.407s
Sending 'featenabler_a' (84 KB)                    OKAY [  0.000s]
Writing 'featenabler_a'                            OKAY [  0.004s]
Finished. Total time: 0.020s
Sending 'hyp_a' (3597 KB)                          OKAY [  0.014s]
Writing 'hyp_a'                                    OKAY [  0.023s]
Finished. Total time: 0.051s
Sending 'imagefv_a' (76 KB)                        OKAY [  0.001s]
Writing 'imagefv_a'                                OKAY [  0.004s]
Finished. Total time: 0.014s
Sending 'keymaster_a' (261 KB)                     OKAY [  0.001s]
Writing 'keymaster_a'                              OKAY [  0.006s]
Finished. Total time: 0.020s
Sending 'multiimgoem_a' (13 KB)                    OKAY [  0.001s]
Writing 'multiimgoem_a'                            OKAY [  0.003s]
Finished. Total time: 0.015s
Sending 'qupfw_a' (55 KB)                          OKAY [  0.001s]
Writing 'qupfw_a'                                  OKAY [  0.004s]
Finished. Total time: 0.014s
Sending 'shrm_a' (44 KB)                           OKAY [  0.000s]
Writing 'shrm_a'                                   OKAY [  0.004s]
Finished. Total time: 0.014s
Sending 'tz_a' (3585 KB)                           OKAY [  0.013s]
Writing 'tz_a'                                     OKAY [  0.023s]
Finished. Total time: 0.045s
Sending 'uefisecapp_a' (121 KB)                    OKAY [  0.001s]
Writing 'uefisecapp_a'                             OKAY [  0.005s]
Finished. Total time: 0.020s
Sending 'xbl_config_a' (220 KB)                    OKAY [  0.002s]
Writing 'xbl_config_a'                             OKAY [  0.008s]
Finished. Total time: 0.026s
Sending 'xbl_a' (3601 KB)                          OKAY [  0.013s]
Writing 'xbl_a'                                    OKAY [  0.030s]
Finished. Total time: 0.054s
Rebooting into bootloader                          OKAY [  0.000s]
Finished. Total time: 0.019s
< waiting for any device >
OKAY [  0.025s]
Finished. Total time: 0.026s
Press any key to exit...

Any idea what’s going on?

Could you please add the Fairphone5 tag to this post? It does not exist yet.

Yes, it hasn’t extracted the product.img and therefore it hasn’t been flashed. I don’t know what’s going on but it’s like there is not enough space somewhere for the process to succeed.

I seem to recall issues with installations on another forum where it was a problem that the user did not have enough space in the location they were flashing from.

I fixed it, but I don’t know exactly what was the problem because I tried different things. It can be either one of:

  • Used different version of fastboot.exe;
  • Used different PC;
  • Used elevated PowerShell terminal (admin privileges).

Three more questions:

  1. I see now that I have bootloader version FP5.TT3M.A.109.20230928. It looks like an official (stock) bootloader. Bootloaders for the stock Fairphone OS correspond to the release version numbers, but this version (TT3M.A.109) does not correspond to any previous official version, as listed here: Fairphone 5 OS Release Notes – Support. What version is this?

  2. I had the newest FP5.TT40.A.131.20231130 bootloader installed. I presume the bootloader is in the abl.img flash file (for the abl partition). Why not just keep that newest one but some odd old version?

  3. Where can I find which partitions remain locked without the flashing unlock-critical command? At Locking/Unlocking the Bootloader | Android Open Source Project it just says “Such sections might include fuses, virtual partitions for a sensor hub, first-stage bootloader, and more”, but where can I find which one these are specifically for this phone?

Anyway, Iodé OS runs now. By the way, the script still complained (as before) about all kinds of images not being available (“archive does not contain …”). But that’s just because it enumerates all partitions available on the device. It would be more neat if it would check first if an image file for a partition is indeed available for flashing. :wink:

Hi All. I’m having the same issue. I used the Iode installer to try and install it on my FP5. However, I can’t go past the first boot menu. The very first time that it booted, it asked me if I wanted to lock the bootloader, and I clicked yes, not thinking about, if something went wrong.

In the menu, at the top it only cycles through START/RESTART BOOTLOADER/RECOVERY MODE/POWER OFF. However, all of the options just restart and bring it right back to that menu.

It also displays the following info:
Fastboot Mode
PRODUCT_NAME - FP5
VARIANT - QMC UFS
BOOTLOADER VERSION - (exact same as OP)
BASEBAND VERSION - 13
SERIAL NO -
SECURE BOOT - YES
IMEI -
MEMORY MODEL - SAMSUNG
MEMORY SIZE - 8GB
DEVICE STATE - LOCKED.

Am I just borked, or is there some way around this? I think that I still have the ABD stuff on my computer, but I didn’t get anything to do this one, because I was just going to use the Iode tool.Any help would be greatly appreciated.

You first must unlock the bootloader with fastboot : fastboot flashing unlock

If you had the same problem as above, you need some more free space on your hard drive. It may be something else though. You can manually retry the installation, and look at the trace if everything seems ok. In all cases, flashing the device should take between 5/10 minutes : if it’s a lot faster, something probably went wrong.

The next version of the installer, which will be available very soon (probably tomorrow), will be able to work if the device is stuck in bootloader mode. The actual version requires a running system only.

Thanks for the advice. So far, the phone is still stuck in the same mode. I can’t get “adb devices” to show anything. But in the Device Manager, I see it as LeMobile Android Device with > Android Bootloader Interface.
The original flash with the Iode tool only took like 2 minutes, and when the device restarted, it’s in its current state. I don’t know what went wrong, because I would usually trust the cable.

Any suggestions? The only thing that I’ve seen online that I can think might help was that someone else booted from an Ubuntu device, and was able to get adb working with the device through that. I have an older Ubuntu computer that I will probably try after I get home from work later.

The new version of the updater (0.2.0) is out: it should allow you to unlock the bootloader and flash the system.

You are a beautiful person. The new tool seems to have already started solving the problem by unlocking the bootloader and is now downloading iode. A thousand thanks.

Great :slight_smile:

I’m leaving this here, in case anyone else needs this. So, the new version of the installer did work for me. It immediately detected the device and then allowed me to unlock the bootloader. It started working on its thing, but then stopped at a point. The phone screen was completely blank, and it kept restarting. You could tell, though, because of the Windows sound of the phone being recognized and then shortly being ‘unplugged’. I honestly let that go for at least half an hour, but there was no other change, and the iode installer in the details said “Waiting for any device” the entire time without going further. After about 30 minutes of no progress, I waited until Windows made the sound that the phone had been unplugged, then I actually unplugged the phone. It quickly booted into the same menu that I had at the beginning of my posts here. I killed the iode installer as well. Then, I started the installer again, plugged the phone in, and iode did its beautiful magic. Now that the phone appears to be all in order, I’m going to lock the bootloader now.
Such a great OS, and a fantastic installer tool as well. As soon as the phone booted, I also donated to the iode project. Thank you so much!