I know it’s not mentioned in their instructions and they weren’t clear about it when people asked them on Matrix in the past, but they are shipping critical partitions and there is code in
flash-all.sh to flash those. What would be the point of including those if you don’t want them to end up on the device?
Fairphone had to be made aware of that command as well and they subsequently changed the documentation to include it. So if you follow the official Fairphone guide to unlock the bootloader, you’ll end up with critical partitions unlocked as well.
As I was saying, those critical partitions are still the same across the different custom ROMs (and stock FPOS) as far as I can tell, so you probably don’t have to change something on your newly installed system because you already were on the right version, but that might not be the case in the future.
So one thing that apparently does not work when you haven’t used
unlock_critical is automatic OTA update. At least the first one. According to information from the Matrix channel, you need to sideload the first OTA update. But the next should be fine and work as expected.
To sideload the Calyx OTA update do the following
download the full ota-update from https://release.calyxinstitute.org/FP4-ota_update-22305011.zip
make sure that USB Debugging is enabled in Developer Options
connect you FP4 to your PC and run
adb reboot recovery
when the FP4 has rebooted, the android lying down will appear and on the bottom of the screen it should say “no command”
press Power & Vol +. This should open the recovery menu
with Vol - select Apply update from ADB. Confirm with Power
on your PC run
adb sideload FP4-ota_update-22305011.zip. Your PC will show a percentation progress, your phone will show some status messages. This will take a few minutes
when finished, the menu will appear. Select reboot now
Phone should reboot into updated Calyx OS
I followed all the steps but got this message and after reboots its in a boot loop. I can get to to bootloader but Calyx dont start.?
Waarschuwing: ‘stripe’-breedte 1 is geen even veelvoud van ‘stride’ 2.
/tmp/TemporaryFile-44cKFP: Ongeïmplementeerde Ext2-bibliotheekfunctie tijdens aanmaken van superblok
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for userdata
That sounds like a problem with Android Platform-Tools.
- What OS and version are you running the script on?
- What’s the output of
fastboot --version and
Since you are only failing the "wipe
userdata" step, have you tried booting into
fastboot reboot fastboot and select “Enter recovery”) and using “Wipe data/factory reset”?
I’d still fix that problem on your PC afterwards if I were you
I will look at the things you said. It’s probably outdated…as you say. For now I switched back to FPos. I made a clean install
Some (Calyx-)newbie questions:
- Where can I find all the Fairphone 4 builds? In the thread you linked some builds (an install build in the first post and OTA here) and you stated to check for newer builds, but where? https://release.calyxinstitute.org/ leads to a “403 forbidden”
- Can I still root with Calyx or is it completely against the concept? (Yes I read Security FAQ , but I really like to use apps like Neo Backup, to transfer my data, which will not work without root)
- If there is a way for 2. - what does it mean for all the bootloader locked or not locked discussions and/or possibility to use OTA Updates? When I read the thread here it feels like the locking does not work well together with OTA, Magisk (root) does require an unlocked bootloader - probably only the
fastboot flashing unlock is needed for that.
3.7.2 is still in Beta, and they’ll probably make a news post once it hits Stable. that being said, I haven’t encountered any issues running it.
Thx for the quick reply. Most of the stuff is clear to me now.
Just some details / double check questions:
When we talk about unlock bootloader is it just the
fastboot flashing unlock or also
fastboot flashing unlock_critical? The last one was discussed here in some posts and it seems that also /e/OS and official Fairphone guides point on that. So do you leave this second option unlocked as well or do you lock it again (at least in between updates or so)? As far as I understood it should stay unlocked as well, at least in regards of the following two issues (correct me if it is wrong):
** during first installation with the factory version → to get rid of a lot of
FAILED (remote: 'Flashing is not allowed for Critical Partitions')
** prevent problems during OTA updates
The update procedure is performed within the running CalyxOS (except the reboot of course), right? (uninstall Magisk within the Magisk App; run the OTA update; install Magisk again [via inactive Slot option] ← never saw that up to now tbh - anyway.
the first installation of Magisk procedure, you explained here, is still the recommended way? (with a boot from the patched boot image in between) - I didn’t get the A/B boot image point up to now, so I feel a bit unsafe and I think I will pick the boot.img from the Calyx factory zip for patching in Magisk App.
(Last point: I can edit the initial post as well (handled like a wiki post I think - and depending on the privileges some users can edit). @R2D2 do you mind when I (/we … whoever can) edit it, in case there is anything to add/re-word (first example might be 'unlock_critical`)?)
EDIT: Will eventually create a separate guide for Calyx including root and don’t touch this one…
And thanks for all your informative posts and your quick reply, @hirnsushi , they really help to get things sorted (it was a bit different with the FP2 which is still in use here ).
Also thanks for that, will use it, when I going to flash the first time, but with my first question here I meant more a page like Lineage has (example for FP2: LineageOS Downloads ) where I can see the builds listed or so!? With that way you can just point to the lastest build. Right now, it feels more like one has to know the URL. ^^
Yeah, I always have to dig through their news section myself when I need the link. Can’t seem to remember putting it in my notes
CalyxOS on the FP4 is still in the testing phase, not installable through their “easy installer”, that’s why it isn’t featured more prominently on the website.
Regarding the link, I just took the latest link from their news (
https://release.calyxinstitute.org/FP4-factory-22305000.zip) and swapped the old build number 22305000 with the newer 22307020 mentioned here.
That usually works with all kinds of stuff (for example Fairphone kernels)
Worked well. Thanks again @hirnsushi
Phone is running with CalyxOS 3.7.2 + Magisk 25.2
Hello all, many thx to R2D2 and hirnsushi for the nice guide and support. After some trouble with the drivers on windows and the usb connectivity at ubuntu i finally made it. 3.7.2 works very well right now. THX!
I checked on gitlab.com for newer updated and found the version 3.7.3 did anyone already flashed this version?
That version has only been released for the Pixel 6a for now, have a look at the checklist in that issue.
Might still be some time till this reaches the FP4
Oh and welcome to the community
Did the Calyx install script also overwrite the recovery?
At least there is one step executed during the installation (I saved it when I installed 3.7.2):
extracting recovery.img (96 MB) to disk... took 0.326s
archive does not contain 'recovery.sig'
Sending 'recovery' (98304 KB) OKAY [ 3.703s]
Writing 'recovery' OKAY [ 0.254s]
Now I was looking for a way to flash a zip (in my case it just contains an app, which should be installed as system app - background is a test with a camera installed as system app - see here).
So I have a flashable zip and was looking for a way to install it. Normally there were options in recovery (probably I remember TWRP) to install such a zip directly or to start adb sideload and flash it on that way.
First thing which confused me was the way of accessing the recovery (I don’t remember that I booted into recovery with my FP4 before, so I cannot tell if it always looked like that):
- device off (no cable connected)
- hold “Volume Down” key + insert charger (release “Volume Down” key, when the fp logo shows up)
- select “recovery mode” (with “Volume Up/Down” keys) and confirm with power button
- I will boot in a “No command” screen (I did not remember from other recoveries I used before)
- Hold “Power” + “Volume Up” keys … and it will finally boot into the recovery menu
I assume in there
I can use “Apply update from ADB” to sideload a zip?
Or is there any other recommended way to do this?
- flashing a different recovery first with some more options or
- install system apps without flashing e.g. like described here (copying the apk to the right folder, set correct access permissions and reboot)
.zips usually isn’t a feature in any of the modern recoveries, those were the good 'ol TWRP days . But even if it was, I would strongly advise against using it, you will break OTA-updates.
/system directly, create a Magisk module.
Thanks for the quick reply. So I will repeat what I learned recently (about how to create a Magisk module).