FP4 Root Access is possible, maybe a bit risky

Yes, I did and it booted normally before the OTA

Then it has to be one of the other modules, or we are completely missing something here :thinking:

The problem is that testing is only possible when a new update is available, And with the update frequency of FP…

update, tried the linux version of adb and that let me connect the device to fastboot on the first try and flash the boot image, youre an absolute legend hirnsushi.

2 Likes

I’m having a problem with this new update. Magisk does not work anymore. I patch the boot.img through Magisk, but when I flash it booting takes very long and results in a phone with no working Wi-Fi. Does anyone else have this, or do some people have a working boot image?

I moved your post here in case troubleshoot is needed

And for the ota.zip

1 Like

Sounds like you are patching / flashing an outdated boot.img.
I’ll upload a current one later.

For the record, I wouldn’t reccommend flashing the boot.img, you lose Magisk’s restore functionality.

Edit: Sorry, forgot that the kernel page is up to date for once, here is a FPOS-B.065-magisk-boot.img anyways.
Just flash the stock boot.img first and follow the usual instructions.

1 Like

Figured to write a small step-by-step guide handling Magisk trouble

Managed to fix the problem by re-installing the Magisk apk and re-patch the vanilla boot.img after doing the security and personalization OTA update with a vanilla boot.img

To update with active Magisk

  1. Flash vanilla/stock boot.img of current system update version
    – this disables all root apps as root access is disabled
  2. Install the ota update via system settings
  3. Re-install the Magisk .apk (currently 26.1)
  4. Get the latest boot.img from the ota update on (matching the system version)
    Fairphone 4 Kernel Source Code — FAIRPHONE open source documentation
  5. Put the boot.img on your phone internal storage
  6. Patch the boot.img using Magisk
  7. Restart phone with cmd/terminal:

adb reboot bootloader (this is needed for fastboot access, not fastbootd)

Flash the patched boot image, which you transferred back to your pc.

fastboot flash boot filename.img

  1. Enjoy working root access after starting the phone again
1 Like

I would still not recommend flashing the boot.img!
If you just fastboot boot it and install Magisk through the app (like outlined in the instructions) Magisk creates a backup of the stock one, which you can just easily restore through the app once an OTA update arrives.
Then all you have to do is install Magisk to the other slot before rebooting and you’re good to go. (Unless you are one of the unlucky ones with a module that breaks this process)

2 Likes

That’s better actually, yes! Just for clarification and clarity: how would you go about installing Magisk to the other slot? That exact procedure seems a little unclear to me, although I have an idea (boot_a, boot_b), is that what you mean? If so, what’s the default slot used by the Fairphone 4 OS and what would be the default slot for Magisk?

Just re-linking the instructions to root and to update, proven to work normally

1 Like

@yvmuell already linked the instructions, just some further clarifications:

It’s an install option in the Magisk app

A/B and the corresponding partitons are the slots, but there is no default slot (I mean there is a slot you start on when installing factory images, but that’s not the default in that sense).
When an OTA update arrives it gets installed to the slot you aren’t currently using, the next reboot swirches to that slot and if the boot is successful you’ll continue in that slot (otherwise it should fall back to the previous one, should … ).

Now the problem is that FP delivers OTAs as delta updates, so the update takes the selected partitions from your current slot, applies a patch, and writes the result to the new slot. For that to work the partitions have to be exactly as expected, so they get checked against a known hash for each partition.
But Magisk modifies boot, the hashes don’t match, and the update fails.

To solve that problem you have to restore the stock boot.img beforehand, so the OTA updater is happy. Since you (hopefully) didn’t reboot at that point you are still running a rooted system (from RAM), even though the actual system partitions are stock.
Now, the updater has set the system to boot into the other slot on the next restart, so we use the still present root to directly install Magisk to that slot. If everything went well (you aren’t one of the lucky ones with module issues) the next boot switches you to a rooted updated system.

Rinse and repeat for every OTA.

(Side note: If there’s an Magisk update in between OTAs, restore the stock image through the app before installing it so Magisk creates a new stock backup and the process keeps working)

2 Likes

Latest boot.img in case someone needs it :point_down:

2 Likes

I’ve just made the last update.

  1. deactivate Zygisk and reboot ;
  2. unistall Magisk (restore images) ;
  3. apply OTA update without reboot;
  4. reinstall Magisk in the inactive slot and reboot;
  5. activate Zygisk and reboot;
  6. all things seems ok !
2 Likes

For me I tried the same, however and as in the previous OTAs it did not work for me without having to re-root afterwards :frowning:

Please some advice with bugs after updating to 079 and rooting with Magisk.

After rerooting, Fairphone 4 in unstable state, lots of errors and problems. By mistake, the 069 version boot image patched with Magisk Manager was flashed, I did not follow the instructions not to reboot the device after OTA to patch Magisk into the update slot. Please help.

Device is now running proper boot.img with Magisk patched, however damage is done.

dmesg and logcat show countless errors of the type no such file or directory, selinux audit avc denied file not found, insufficient permissions, access denied.
Symptoms are: boot loop sometimes, 3 navigation buttons not working, no sound, no notifications, application switcher does not work or is buggy, settings are forgotten on every reboot, developer settings do not open, mobile data cannot be disabled, can’t launch application info from launcher, apps crashing, general buggyness and weird behaviour.

I figured it had to do with broken selinux context but according to dmesg these are loaded correctly.

Does not matter for the problems if I am booting boot.img with magisk patched or not.

Something is seriously wrong, already early up in the boot process. Perhaps paritions are tampered with?

Can I reflash or fix it in a way while keeping /data and internal /storage? Will a factory reset help partition or faulty update problems?

dmesg log: https://pastes.io/ybfcqsb7ag

That sounds like some of the usual problems you get when not running the right boot.img, are you sure you are on the right version system- / boot-wise? :thinking:

No to both, a factory reset doesn’t restore the partitions if they actually got modified, you would need to reflash the system.

Personally I’d back up everything and start over, it usually isn’t worth it to search for the error if you can’t fix it right away, you often just push your issues to the next update.

Oh and welcome to the community BTW :wave:

1 Like

Hi. I cannot root the phone after applying this update. After patching the boot.img and booting from it, Magisk says that it is not installed. Tried with Magisk 23, 26.1, and 26.3. I also tried to boot from my previously working boot.img (B.079) which took longer to boot and had some bugs, but still: Not rooted. Bootloader is unlocked.

Moved your post here maybe read above. Also today a new update was published so did you really try with this older one?

Software update: FP4.SP2J.B.086.20230807

Btw: welcome to the community

Thank you for moving and your quick response! Yes, I tried with B.086 as B.089 does not seem to be available for me and I could not find it anywhere else to download. I also read through this thread, but several suggestions (e.g., “boot first only, do not flash” or “check boot slot”) did not help. Before I have to wipe my data and go back to B.079, I just wonder whether this can be fixed.