[HOW TO] Flash a custom ROM on FP3 with GSI

,

OK download the full stock 0105 dump :
TWRP for Fairphone 3 (remove dsp.img)
And the non-corrupted dsp : https://forum.fairphone.com/uploads/short-url/tajRvRzKZ3dWL8zwk9BMFfhXOVU.pdf (rename it dsp.zip and unzip it)

Then do :

fastboot --set-active=a
fastboot reboot bootloader
fastboot getvar current-slot 2>&1 | grep "current-slot: a" >/dev/null || exit 2
fastboot flash product product.img -S 522239K || exit 1
fastboot flash keymaster keymaster.img -S 522239K || exit 1
fastboot flash cmnlib64 cmnlib64.img -S 522239K || exit 1
fastboot flash cmnlib cmnlib.img -S 522239K || exit 1
fastboot flash lksecapp lksecapp.img -S 522239K || exit 1
fastboot flash mdtp mdtp.img -S 522239K || exit 1
fastboot flash vendor vendor.img -S 522239K || exit 1
fastboot flash system system.img -S 522239K || exit 1
fastboot flash boot boot.img -S 522239K || exit 1
fastboot flash vbmeta vbmeta.img -S 522239K || exit 1
fastboot flash dtbo dtbo.img -S 522239K || exit 1
fastboot flash dsp dsp.img -S 522239K || exit 1
fastboot flash devcfg devcfg.img -S 522239K || exit 1
fastboot flash tz tz.img -S 522239K || exit 1
fastboot flash rpm rpm.img -S 522239K || exit 1
fastboot flash sbl1 sbl1.img -S 522239K || exit 1
fastboot flash modem modem.img -S 522239K || exit 1
fastboot flash aboot aboot.img -S 522239K || exit 1
fastboot reboot bootloader
fastboot getvar current-slot 2>&1 | grep "current-slot: a"  || exit 2
echo "Ok worked."

You absolutely need to see current-slot:a (and “Ok worked” if you do it in a script). If not, do :

fastboot flash product_a product.img -S 522239K || exit 1
fastboot flash keymaster_a keymaster.img -S 522239K || exit 1
fastboot flash cmnlib64_a cmnlib64.img -S 522239K || exit 1
fastboot flash cmnlib_a cmnlib.img -S 522239K || exit 1
fastboot flash lksecapp_a lksecapp.img -S 522239K || exit 1
fastboot flash mdtp_a mdtp.img -S 522239K || exit 1
fastboot flash vendor_a vendor.img -S 522239K || exit 1
fastboot flash system_a system.img -S 522239K || exit 1
fastboot flash boot_a boot.img -S 522239K || exit 1
fastboot flash vbmeta_a vbmeta.img -S 522239K || exit 1
fastboot flash dtbo_a dtbo.img -S 522239K || exit 1
fastboot flash dsp_a dsp.img -S 522239K || exit 1
fastboot flash devcfg_a devcfg.img -S 522239K || exit 1
fastboot flash tz_a tz.img -S 522239K || exit 1
fastboot flash rpm_a rpm.img -S 522239K || exit 1
fastboot flash sbl1_a sbl1.img -S 522239K || exit 1
fastboot flash modem_a modem.img -S 522239K || exit 1
fastboot flash aboot_a aboot.img -S 522239K || exit 1
fastboot reboot bootloader
fastboot getvar current-slot 2>&1 | grep "current-slot: a"  || exit 2
echo "Ok worked."

If still not, please tell before doing anything

If the first one worked, change --set-active=a to --set-active=b and the two grep "current-slot: a" to grep "current-slot: b"

Then you’ll have stock 0105 on both slots and you’ll be able to boot TWRP

2 Likes