CalyxOS (is coming to) is here for FP4!

If you didn’t lock your bootloader you should be fine, I’d just try installing CalyxOS again, they are using some of the partitions pulled from the factory images anyway.

Did you use fastboot flashing unlock_critical before starting the installation? :thinking:
It’s not mentioned in the how-to, but some of the partitions that are being flashed are of the critical variety :smirk:

Oh and just to be clear, there is an automatic reboot before the installation finishes, the boot, vendor, product and so on… partitions are flashed through the update mechanism in fastbootd / recovery (or at least it looks like that :man_shrugging:) are flashed separately (preceded by a reboot to fastboot again), maybe that’s what you have been seeing or where your issues start?


at first I didn’t notice that, and rebooted too quickly, but then I tried flashing again and that time I waited until the command finished doing it’s stuff. I’m still stuck in a bootloop.

fastboot flashing unlock_critical is apparently one of the commands in the Calyx’ script already (disregard, that’s the command I tried manually after reading your post, apparently I’m very easily confused):

fastboot flashing unlock_critical
FAILED (remote: '       Device already : unlocked!')
fastboot: error: Command failed

also, in the output I’m seeing several commands throwing “archive does not contain X” messages, like archive does not contain 'vbmeta_vendor.img'. I’m not sure if it’s a message because of some repurposed script, or am I missing some files, despite having verified the .zip file I downloaded from CalyxOS website.

edit: okay, I had to manually factory reset the phone (I thought the installer would take care of that?!) and it booted!

1 Like

Well there is fastboot update -w in the script, so it should wipe userdata :thinking:

I’m glad it works now :+1: still a strange issue though :man_shrugging:

Just for the record, what’s the state of fastboot flashing get_unlock_ability?

1 Like

$ fastboot flashing get_unlock_ability
(bootloader) get_unlock_ability: 0
OKAY [ 0.001s]
Finished. Total time: 0.001s

1 Like

If you’re still testing, could you please do a test?
Unfortunately I don’t have a test device.

Because of the unlock_ability=0 problem after a first reboot after installation.
Please test if the problem also exists if you don’t reboot via the extended boot menu, but always just run the “adb reboot” instead.

If it makes a difference, it would also be interesting to see if it is the same in iodéOS and FPOS.

Thanks very much

That shouldn’t make a difference, I always run adb reboot / fastboot reboot instead of using the menu when flashing devices :man_shrugging:

But since I wanted to test what happens if you don’t reboot anyways, might as well test if there is different behaviour somewhere :+1:
I’ll follow this up in the other topic, since I’m only testing FPOS on the other device for now.

Edit: Just to clarify this part:

get_unlock_ability gets reset on the first regular boot, so once you reached full userspace it’s already too late. Or did you mean something else with extended boot menu? :thinking:

1 Like

My thoughts were as fallows:
Is there maybe a difference to reboot, after first restart, in bootloader to unlock to bootloader if you restart via extended boot menu “long press power buttton/restart/bootloader” or via “adb reboot bootloader”?
Is in both situation the unlock_ability reset to 0?

But, maybe it makes no diffence. It shuold not…

I’m still not entirely sure what you mean by extended boot menu, sorry.

If we are talking about the menu that pops up when long pressing the power in a regularly running system, you already went to far to prevent it. The same goes for adb reboot, at that point the flag has already been changed.

If you mean the bootloader menu, I have tried every possible way to reboot the phone before the first start, as documented in the other thread. As long as you don’t boot into proper Android it’ll stay on 1, as soon as you start the regular system it’ll change, haven’t found a way around it (yet) :man_shrugging:

1 Like

there’s a new update, 3.5.1:

Location indicator and Safetynet fix

those of your who run Calyx, have you managed to make the phone find the update? I’ve been checking for the past few days with no results. Calyx doesn’t support root and/or unlocked bootloader, so they won’t assist with that.

So do you have an unlocked bootloader? I think (but I am not 100% sure) that CalyxOS will only receive the updates if the bootloader is locked.

Anyway, I have it installed. Very soon after I switched on my phone (bootloader locked), the updater was downloading the update and all I had to do was to restart.

So if understand you correctly you rooted your phone?
Then the regular procedure applies:

That’s how I update my Calyx installation as well, otherwise the installer will just stop.


So if I understand you correctly, a locked bootloader is not mandatory to receive OTA for CalyxOS?

Nope, it works just fine unlocked :smiley:
The installer only fails because it’s checking the hashes for the partitions it should be updating and since Magisk changes the boot partition it will stop and throw an error.


good to know that there’s a workaround! out of curiosity though, what images does the “restore” part refer too? is it just the stock boot.img? because it looks like I don’t have it on my device since I just flashed the one you’ve posted earlier in the thread and Magisk complains about about the lack of a stock backup. but if it’s just that, then I guess I’ll just get the one packed in the .zip from the Calyx website and follow the rest of the steps properly.

Yes, it just restores the boot partition :+1:

When you reinstall Magisk, I would go the fastboot boot route, makes OTA updates a lot quicker.
There’s also the option in the app to install Magisk to the other slot after an update and before rebooting, but I haven’t tried that yet. Not sure if Android Verified Boot likes a patched boot partition on the first boot after upgrading :thinking:

1 Like

that worked just perfect, I’m now rooted on the latest update. thank you for holding my hand through the process (:


This worked great on stock FPOS :metal:
I’ll have to check my backups before trying that on Calyx, but if it works there as well this would speed up OTA updates & rerooting immensely! :smiley:

Update: Works great on Calyx as well :slightly_smiling_face:

would you be willing to share how to install Magisk and root in CalyxOS using the other slot?

Sure, installation works like it always has:

Just use the Calyx boot.img from the Factory Images instead. I’ve already uploaded patched CalyxOS 3.5.0 & CalxyOS 3.5.1 boot.imges, so you can skip ahead to the 3rd step.

Once an OTA update arrives follow those steps:

  1. In Magisk press :wastebasket: Uninstall Magisk“Restore Images”
  2. Install OTA-update and don’t reboot
  3. In Magisk select :inbox_tray: Install and choose “Install to Inactive Slot (Atfer OTA)”, reboot and have fun

As always don’t follow any of those steps without proper backups!!!11 :slightly_smiling_face:


When I install Magisk and root, does the bootloader have to remain unlocked? Or do I just have to unlock the bootloader every time after OTA-updates to reinstall Magisk?

Also, with root and Magisk, will SafetyNet attestation still work?