FP4 Root Access is possible, maybe a bit risky

For anyone trying out CalyxOS, here’s a Calyx boot.img patched with Magisk v24.3.

No problems with root / Magisk so far.

2 Likes

Well, the new Update has landed. If Im not misstaken, the steps to update are: reflash original boot.img, update, start old patched boot image, patch newly installed boot image, right? Problem is that I forgot to backup the .103 image. Or does any old image work? .99 is downloadable as part of the offline install zip?!

  1. In Magisk press :wastebasket: Uninstall Magisk“Restore Images”
  2. Install OTA-update and let it perform a full reboot
  3. Use any Magisk patched boot.img you have lying around and fastboot boot from it
  4. Choose “Direct Install” in Magisk as usual, reboot and have fun

It doesn’t matter which boot.img you use, you just won’t get usable wifi (and some other problems) with the older ones, but since we only need to install Magisk that doesn’t really matter.
I uploaded a Magisk patched boot.img from the newest release (A.107) if you need it.

ah! didnt know you can just restore the images. updating now. thank you (:

1 Like

hello everyone
is there any know issue when booting a different image then the installed one?

I successfully updated /e/os to 0.22 and used it for some days with several reboots
Today I wanted to look at iode, so I downloaded the patched one provided by hirnsushi.
Connected my phone to my pc, adb reboot bootloader and fastboot boot boot.img.
It then booted again into /e/os. Assuming it failed I choose to restart, just to make sure that I’m not in the booted version anymore. Since then I only get the /e/os logo in a bootloop and any image I fastboot boot either just restarts or also show the /e/os logo in a loop.
I can start the recovery perfectly fine but I assume, that this way I’ll erase all the data on my phone.
Is there any way to fix to installation without loosing all the installed and configured apps?

Thank you very much in advance :slight_smile:

You mean you downloaded the iode boot.img and booted from it? :thinking:
Those are only boot images not system images, they only contain the kernel, ramdisk and some other stuff.
You can’t turn your /e/ install into an iode one using a iode boot image. All you did, if I understand you correctly, is booting into your /e/ install using a iode kernel and ramdisk.

Maybe the system switched to the other slot because something went wrong during the next boot, please try:

If you are in slot b already, switch to a.

1 Like

yep, may have misunderstood this part.

switching from b to a results in no boot at all. It straight up goes into bootloader.
After switching back to b it returns to the /e/os boot loop

Allright, so we are in the right slot but in a boot loop, that’s at least something :smiley:

  • Have you tried booting into Safe Mode already? Wait for the /e/ boot logo to appear and press Vol. Down
  • Was your phone in a rooted state before you tried the iode boot.img?
  • Did you have Magisk modules installed on /e/ that could have been activated by booting a patched image?
1 Like

cant get it to work. the /e/ boot logo just loops. I guess theres no command to start it out of the bootloader or recovery?

Yes. It was rooted with magisk installed. Never locked the bootloader after unlocking.

No, I didn’t add any modules in magisk. I installed afwall+ as root access, but I guess it doesn’t have anything to do with it.

So is the /e/ boot logo not going away or is your phone rebooting as soon as you see the logo? :thinking:

As far as I know there isn’t.

Hmm, OK, no module issue, so maybe we are dealing with missmatched Magisk versions here. If your installed Magisk is older than the one the iode boot.img was patched with, that might have caused issues.

Have you checked if your system is bootable without Magisk?
Please try fastboot booting a unmodified /e/ 0.22 boot.img if you haven’t already, I’ve uploaded one here in case you need it.

1 Like

the /e/ logo isn’t going away, just as if I didn’t press the button

I tried the boot.img you provided.
On the first try, it showed a loading indicator onscreen (the same as pluging in the turned of phone without starting it) and my pc showed the fairphone as connected device for filetransfer, even though I couldn’t access the data.
I powered it off, tried again, same thing.
Then I switched the active slot (prior one was b) to a, fastboot boot and it straight up rebooted into bootloader.
After switching back to slot b the fastboot boot it booted again up to the /e/os logo but looped there again.

OK, so the device is actually still booting and doesn’t restart itself. That’s different from your classic boot loop.
Have you tried waiting for a while? :thinking: The old A.067 boot.img for example takes several minutes to boot.

If it doesn’t go away at all try running adb wait-for-device logcat while booting to see if it produces any output.

I wouldn’t try changing the slot, b is most likely already the right one.

That’s normal behaviour in the boot process.

1 Like

yesterday I tried a normal boot for at least an hour, all the time it stayed at looping the /e/ logo

I tried the boot.img without magisk for 20 minutes now, same thing.

around 5 mins after starting the boot, no output so far.
just to do it correct: I run the command while the phone is connected to the pc and do a normal power on?
EDIT: just checked with adb devices, the phone never shows up as connected in the boot process. If I go into recovery, I can see the phone with adb devices

Yeah, that’s too long.

It was worth a try, sometimes you get useful hints that way.
My guess is booting the wrong image somehow messed with some files in /system, but without any logs this is very hard to debug :thinking:

I’m running out of ideas here, sorry :see_no_evil:
My next move would be “nuke & pave” and setting it up again from scratch.

You might be able access your data through the /e/ recovery, no idea if that’s already working. Maybe try asking for help in their forum, I have zero experience with that ROM.

1 Like

It’s okay. U already spent so much time fixing my dumb mistake.
Thank you a lot for this!

Just to finish this story, I performed a factory reset through the recovery and despite loosing the data, it now works flawlessly again.
Next time I’ll first finish my setup, perform a backup and only after these steps I’ll try fiddling around with other os’es I know nothing about :smiley:

5 Likes

I’ve uploaded a new boot.img taken from the latest FPOS update (A.0116) and patched with Magisk v24.3.

Everything still working fine with Magisk :slightly_smiling_face:

4 Likes

@hirnsushi Would you like to elaborate a bit on this?

In particular, I installed iodé and rooted the phone (with a patched boot image and Magisk) and I wonder if it’s possible (and advisable?) to relock the bootloader (I know about checking get_unlock_ability) and have Verified Boot enabled (after flashing iodé’s avb_custom_key). Or will I need to unlock the bootloader again for e.g. system updates?

You can’t lock the bootloader if you rooted your phone.
I am by no means an expert in AvB, that’s why I’ve called it a minefield, but since rooting your phone does alter your boot partition the hashes wouldn’t match anymore and hashes that changed are no longer verified :smirk:

You have two choices:

  • If you switch to stock (unrooted) and relock the bootloader you don’t have to unlock the bootloader to perform OTA updates, but you also won’t be able to use root.
  • If you want to stay rooted you’ll have to disable Magisk every time there’s an OTA update:

Ok that’s good to know. Thanks a lot! :slight_smile:

1 Like

Hi,
I’m new here and do not own a Fairphone 4 yet. But I like the concept and I think it has everything I need from a smart phone.
Since I want to OWN the phone I want to root it. The rooting process as described here needs Windows or MacOS at some point – I only have Linux available.
Is a howto available with respect to that?
How is OS update OTA possible?

Thanks a lot for your help.