FP4 and (unofficial) LineageOS

Here is a fresh userdebug build with test keys. Use it at your own risk and not in production!
I haven’t gotten developer access on Android File Host yet, but for now fastupload should be sufficient.

sha256sum recovery.img lineage-19.1-20220430-UNOFFICIAL-FP4.zip
2c2ece00c80835830344bdae0f411aff1e5674be2212589fdfa12d14706ea4de  recovery.img
10a59a1f41d683192a4907047943b87d60c8f7b0378adad92892c5ac6dbe6cdc  lineage-19.1-20220430-UNOFFICIAL-FP4.zip

Fastupload.io — recovery.img
Fastupload.io — lineage-19.1-20220430-UNOFFICIAL-FP4.zip

If you are interested, I can also share my signed builds about once a month.


If you got the camera working, could you share it with other projects, like CalyxOS? I’d very much like to use the full resolution and wide angle lens there…


Okay many thanks!

But what needs it to be that I can use it “in production”? I mean I wanna use it as my private phone.

What means test keys?

Furthermore, do you plan to upload new versions, too?

You need a build that is not signed with the publicly available test keys. For the details you can have a look at Signing Builds | LineageOS Wiki

I will upload my next build that is signed with my private keys as soon as the May security patches got merged in LOS. Probably in a week.

As I said, my plan is to upload new versions once a month (after the latest security patches got merged) until the FP4 gets official LOS support.


Thank you for your work, I found both the official ROM and the MicroG-ones not usable for my purposes. So far I haven’t found any problems.

Just uploaded my new build with May 2022 security patches. Use it at your own risk. I don’t provide any support!


Downloads for : Fairphone Fairphone 4 |

5e4ccf0f164a5105e1c238413f2e5267efc8d156aa9637cba4e223aa3daa12f6  lineage-19.1-20220511-UNOFFICIAL-FP4.zip
33398d2ff8982d9fcaf1b60d6ba18837e8878507418d4adaa778b07202ef6cae  lineage-recovery-19.1-20220511-UNOFFICIAL-FP4.img
45a55eff7bd3f6360785474ee573c71269ee3b7c0768d1d9fad7bc8d9a27e8e0  migration.zip

If you installed my previous build with test keys and want to migrate without loosing your data, you can use the “migration.sh” file and follow the “Using a script” instructions at Signing Builds | LineageOS Wiki.
Otherwise, just flash the new build and do a factory reset afterwards.


Is everything working in the current build? Is it ok for use on my main phone?

I have been using the builds for over a month now. It is stable and everything I’ ve tried so far works.

Stupid question: When do I need the “recovery”? This is not about TWRP, right?

There is a LineageOS-specific recovery image in the download folder.

Ok, but for “normal” installation of the LOS I don’t need the recovery, right?

There’s no official LOS for FP4, and also no recovery and no official twrp, too

@Aaanze sorry it’s me again -.-

With your guide here I successfully rooted my phone :partying_face:
But now I am confused. Next I want to install the build from mmustermann.

Do I need to follow the entire steps here or hook in at step 7?. I am still confused why mmustermann uploads a “normal” file and a recovery file. When do I use what?

Or do I completely misunderstood and the boot.img should be the LOS.img from mmustermann? So I “simply” root with this file?

Hi there ! Now I’m the one confused xD

The post you’re refering to is about installing Google Pay on a rooted device, not about rooting. But I suspect you just linked the wrong post.


  1. I think you there’s a misunderstanding as to the purpose of rooting: rooting is not required to flash a rom build, it is an optionnal step that one can do afterwards to gain more control, but it is not in any way required if you have no use of it.

  2. The build you’re refering to is signed, which means it probably can’t be flashed as an update of your current system even if you’re alread running LOS.

So you’re going to need to follow all steps indeed.
As for the role of the files:

  • the recovery.img is needed to provide your system the ability to sideload (ie upload, read, extract and install) a custom rom, which would normally not be possible with the one provided by the oginal system.

  • the boot.img contains - among others - the kernel of the system, it is already embedded in a full rom file like the one provided by mmustermann.
    However when used as an independant file, it can be “patched” with magisk and reflashed on top of the system to gain root capabilitie. Again, totally optionnal.

In “short” you only need to follow the steps 1 to 5 with mmustermann rom file instead of mine. You will lose all data in the process.
Afterwards, if you want to root your device, you can follow the next steps, but you’re going to need the boot.img file specific to mmustermann’s rom in order to do so.

I hope this clarifies xD

1 Like

Hi @Aaanze,

thanks for the quick reply. Then I mistook it :confused:

  • Yes I want to root and I understand it is not required :slight_smile:
  • So what I need to do now is:
  1. Reboot to bootloader with adb reboot bootloader
  2. Flash Lineage recovery: fastboot flash recovery mmustermann_recovery.img
  3. Reboot to recovery.
  4. In recovery: wipe data / Factory Reset - there’s no way back to FPOS (for now) after this
  5. Still in recovery: Apply Update → ADB Sideload → Install from ADB and run:
    adb sideload mmustermann.zip
  6. I don’t need GApps
  7. a. Install Magisk apk on your device
    b. Extract the payload.bin from mmustermann.img using payload-dumper-go to
    $ ./payload-dumper-go path/to/payload.bin (Linux)
    c. From the created folder extract the boot.img and copy to your phone
    d. Patch the boot.img with Magisk on your phone and copy back the create magisk_boot.img to your computer
    e. Run adb reboot bootloader
    f. Run fastboot boot /path/to/magisk_boot.img (Do not flash that boot.img!!!)
    g. Open Magisk and run direct installation
    h. Reboot out of Magisk suggestion

For 7a I would advise to use the boot.img from mmustermann’s rom.

You got it right otherwise !

1 Like

If you just want to become root, you can enable root debugging in the developer options (it’s a userdebug build). You can then use adb root and adb shell to access the root shell.

1 Like

@Aaanze @mmustermann thanks both.

Interesting. But that is the “same” root state that I need to install AdAway for example or other root-requiring apps?

→ So, if I decide to use “root debugging” I would run steps 1-5 only and then activate root as described in the settings?

I edited accordingly, so the workflow is right.

In step 5. it tells me that the

Signature verification failed. Install anyway?

Yes or no? :slight_smile:

In terminal it says:

E: failed to verify whole-file signature