I’ve finally had some free time and tried to compile LineageOS for the Fairphone 4. While extracting the proprietary vendor blobs from the phone using the extract-files.sh
script, I realized, that a lot of them could not be pulled from the phone, for example:
- vendor/lib64/libthermalclient.so
!! vendor/lib64/libthermalclient.so: file not found in source
Which later prevents you from compiling:
error: vendor/fairphone/FP4/Android.bp:28:1: module "libthermalclient" variant "android_vendor.30_arm64_armv8-a_cortex-a76_shared": module source path "vendor/fairphone/FP4/proprietary/vendor/lib64/libthermalclient.so" does not exist
I assume some blobs cannot be extracted since adb cannot run as root on a stock rom:
adbd cannot run as root in production builds
This brought up some questions.
- Is this assumption correct, do you need root to extract all of the blobs?
- Can I get the files from somewhere else? Like this page for example
- Is it possible to extract them from a stock image or did Fairphone not yet make downloading whole images possible?
- Could they be extracted from another build, of iodé for example?