It worked To recap: I extracted the proprietary files from my phone. The missing files were added from the iodé build. The roomservice.xml file looks like this:
Other than a few warnings, the build finished successfully. Nevertheless, I’m still hesitant to actually install it on my phone since I haven’t seen a clear path to restoring the device to its initial conditions should something go wrong.
I assume Fairphone would have to release a complete stock image for that to be easily possible.
Well I’m usually using Ubuntu WSL, or Raspberry Pi debianish arm64 distro.
Though, I could quickly set up a full Ubuntu/Debian on a spare computer if this is mandatory.
Bottom line write what is the less painful for you and I’ll try to figure out
First, follow the general tutorial on how to build LineageOS yourself, this one from the FP3 is a good example. Before entering breakfast FP4, create a file called roomservice.xml in ~/android/lineage/.repo/local_manifests/roomservice.xml and edit it to be the same as in the post above.
Then use repo sync and breakfast FP4 after that to get the files from the WeAreFairphone github.
Now you need to get the proprietary vendor blobs. First, use the extract-files.sh script to pull files from the phone. In my case, many could not be pulled. Copy the directory ~/android/lineage/vendor/fairphone/FP4/proprietary to somewhere else, so you have the original files.
Then download the iodé rom linked above (file iode-2.3-20220121-FP4.zip). Extract the zip and follow this tutorial on how to extract the proprietary files from payload.bin file.
After the files have been extracted from the iodé rom, put the original files you extracted from the phone back in ~/android/lineage/vendor/fairphone/FP4/proprietary
You should now be able to continue in the tutorial and compile it using croot and then brunch FP4
With cd $OUT you can get to the directory where the boot image and the installer package should be.
From here you should be able to follow most instructions on how to flash LineageOS - the FP3 instructions as an example again. Don’t forget to unlock your bootloader before flashing the OS.
I know this is a pretty bare-bones explanation of what I did and I hope I didn’t forget anything, so please let me know should you be stuck somewhere or should something go wrong. Also keep in mind that the initial repo sync can take an ungodly amount of time, it took me almost an hour. The compilation takes a while as well, it took almost two hours for me.
Edit for the sake of accuracy: it WAS indeed the lack of capitalization that prevented the brunch to work.
Though it would throw error about F4-vendor.mk anyway
Weirdly, after another sync error seem now to point towards absence of “FP4-vendor.mk”
Ok now I just noticed this warning in the tutorial:
Some devices require a vendor directory to be populated before breakfast will succeed. If you receive an error here about vendor makefiles, jump down to Extract proprietary blobs. The first portion of breakfast should have succeeded, and after completing you can rerun breakfast
I don’t have a FP4-vendor.mk file either and our directories look identical, so I don’t think that’s it. It looks like it’s throwing an error because of a missing file in the vendor directory and not in the device directory. Have you extracted the proprietary blobs before running breakfast?