I’m having the strangest issue with this install. I followed it to the letter (using 3.7.2 instead of OP’s original version) without problems until steps 8/9 (when you flash the extracted FP4 update.)
Prior to starting the installation, I downloaded 3.7.2, extracted it, and changed directory via Powershell to the folder with the extracted files.
The FP4 files flashed successfully, but the device then rebooted into FPOS as if nothing had happened!
Just to confirm, I have :
USB debugging enabled
OEM unlocked
ADB & Fastboot installed
Bootloader unlocked
I initially flashed without using fastboot flashing unlock_critical and received those same error messages as OP on some of the files. But after the phone rebooted to FPOS the first time, I enabled unlock_critical and reflashed. Same result.
I also tried flashing the files with both Windows Powershell and Cmd Prompt. Same result.
What am I doing wrong? Like most of us installing CalyxOs, I was a little worried that I might brick the phone. I never would have imagined this outcome.
Hopefully I’ve just made a silly mistake. But I need a gut check here.
There’s your error, apparently flash-all.bat doesn’t include a version check, I just checked (pun intended ).
What’s the output of fastboot --version? You need at least 31.0.3.
BTW, please put the output of the script between code tags like this…
```
Your output
```
… or push the </> button, makes it way easier to read.
Figured it out! Turns out I had two fastboots on my C drive. One was updated, but the other was pre 31.0.3, which was causing the issue. Had to remove the old install and rearrange the folders, but then the rest of the install went smoothly. CalyxOS on FP4 is fantastic. Thanks @hirnsushi
Unfortunately, I got a boot loop using the instructions here and in the comments. I spent quite a bit of time trying to fix and speaking with the CalyxOS folks in the matrix channel. But finally figured it out. I can’t edit the original post, but here are the instructions edited to be more up to date and fixed all issues for me:
Prerequisites:
Make sure you have the latest version of adb and fastboot, which is 33.0.3-8952118 as of the time of this writing. Not having the latest versions is what caused a boot loop for me.
Connect phone to PC via USB and run adb reboot bootloader. From now on, just keep it connected until we are finished. Phone reboots into fastboot mode. If adb cannot find your device, try different USB cables and ports. Also make sure that your phone’s USB usage is set to “Transfer Data”. Try adb kill-server; adb start-server, reconnect and try again. Allow access on the phone from your computer.
When the phone has rebooted into fastboot mode run fastboot flashing unlock. Confirm with Vol Down + Power. This will wipe your data. You might need sudo if udev rules are missing. If fastboot cannot find your device, again try different cables and ports, it seems to be very picky. The phone erases all data and reboots into FPOS. Skip through setup and again enable Developer Options and USB Debugging. Make sure OEM unlock is still enabled.
Again run adb reboot bootloader.
Run fastboot flashing unlock_critical to fix any potential errors. I know earlier comments say not to do this. But I’ve been advised by experts in the CalyxOS matrix channel that this should be done
Now from the extracted FP4-sq3a.220705.003.a1 directory run ./flash-all.sh.
This is the scary part, this will wipe your OS! The device will reboot a couple of times.
When the script finishes start bootloader and go to recovery mode. If you get the screen with Android lying on its back, press Volume Up button while holding Power button down.
With Vol Down select Factory Data Reset and confirm with Power. System will again erase all data and finally reboot into CalyxOS.
If boot was successful, skip through setup and again enabled Developer Options and USB Debugging. We will wipe data one last time.
adb reboot bootloader
Relock the bootloader: fastboot flashing lock. This is strictly not required but highly recommended. Also if you want to have SafetyNet Attestation, you must relock your bootloader. Again, this will erase all user data. Beware: there have been reports of unrecoverable bootloader loops after relocking, this can brick your phone. Before relocking, make absolutely sure, that your phone can boot into Calyx and that OEM Unlock is enabled in Developer Options. Double check if unsure!
Watch reboot into CalyxOS and enjoy your new degoogled privacy OS!
The only thing I would add: If you want to lock your bootloader, make absolutely sure you are installing a version with a matching or newer patch level than the one you have installed.
Once Fairphone releases a new OTA, following these instructions without a new Calyx release available can brick the device.
When you receive your phone, you should check the current patch level under Settings → About phone → Android version → Android security update (or run adb shell getprop ro.build.version.security_patch).
In the case of the latest stock FPOS A.163 you would have a security patch level of 2022-08-05.
Now you can, for example, check if BoardConfig.mk in the CalyxOS sources has been updated recently, as you can see the default branch is at 2022-07-05 at the moment, so you are definitely not getting the latest version.
You should check the patch level of the Calyx images you download as well, or just ask in the forum, someone is probably already running the latest version
Hi @hirnsushi
Thanks, but this does mean thet if I get one with stock patch level later than latest CalyxOS patch level it could brick (or create other issues) when flashing Calyx?
But don’t you need to to all the updates on FPOS to get the bootlader unlocking code from Fairphone?
I remember that I was wondering why I should do all the updates as explained in the first message of this thread as I don’t want a more recent patch level, but then when I followed Fariphone’s guidelines to get the unlocking code, I was asked to update the phone. Did someone try to get the code without updating? Does it work?
I don’t think you do, sometimes updates for specific carriers get delayed for weeks or even months, you wouldn’t be able to unlock the bootloader during that time.
But I don’t have a outdated device to test this, so
Update: Well, seems you were right and I was wrong…
…you actually do need to update to the latest version
So whoever is planning on installing CalyxOS, if you’ve been on the latest FPOS (A.163), don’t lock the bootloader before the next Calyx release that ups the patch level!
Hello, so I have followed this very helpful updated guide from @mek63. There were a lot of errors while installing flash-all.sh (e.g. “fastboot: error: Cannot load ‘abl.img’: No such file or directory”). I have tried this with several Fairphone 4’s and the result is always the same: After starting into recovery mode and doing a factory reset, the device boots a couple of times and ends up booting the original FPOS. I have then used fastboot getvar current-slot and fastboot --set-active=a/b to make sure this wasn`t the problem (installed into both) - but no change. So it seems to me that the installation failed entirely - not sure why. At least the bootloader is still unlocked, so no problems there.
When I enter fastboot --version and mke2fs -V (as suggested by @hirnsushihere I receive 33.0.3-android tools and 1.46.5 (not sure whether this is up to date and how to update it if not?).
Does anybody have an idea on how to move forward from here? Thank you!
That shouldn’t be happening, is the abl.img in the directory you are running flash-all.sh from?
Does your user have the necessary permissions, have you tried running the script with sudo?
Which version of the Calyx factory images are you trying to install? 22308020 / 3.8.0?
Interesting, which distro are you on?
Your fastboot version should be sufficient, the requirements haven’t been bumped up, according to the script.
This seems weird, could you try with the latest 4.1.9-2 release (Android 13 testing)?
Just FYI, depending on when you unlocked your bootloader, don’t lock it once you get it running, Calyx doesn’t ship the latest patch level (A.170) yet.
Weird
So I’m assuming you have android-tools and android-udev installed. Works for me on vanilla Arch, I don’t think there should be a difference on Manjaro.