I think I have a build environment up to actually compile the kernel (first without the patches necessary for UT; that was “hard” enough).
I had to do a few things different from the “Build and flash kernel More info” instructions:
In some working directory:
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9
git clone https://android.googlesource.com/platform/prebuilts/misc
git clone https://github.com/WeAreFairphone/android_kernel_fairphone_sdm632.git
export DTC_EXT=$(pwd)/misc/linux-x86/dtc/dtc
export CROSS_COMPILE=$(pwd)/aarch64-linux-android-4.9/bin/aarch64-linux-android-
export ARCH=arm64 && export SUBARCH=arm64
cd android_kernel_fairphone_sdm632
make O=out clean
make O=out mrproper
make O=out lineageos_FP3_defconfig
time make O=out -j$(nproc --all) Image.gz
Will check some other day if that kernel boots…
To create the boot image with the new kernel, one first has to extract a working boot.img
(e.g. from https://support.fairphone.com/hc/en-us/articles/360043337512-Install-Fairphone-OS-on-Fairphone-3-using-a-computer) and place it in the same base working dir as above. Then
wget "https://forum.xda-developers.com/attachment.php?attachmentid=5024499&d=1590190221" -O AIK-Linux-v3.7-ALL.tar.gz
tar xfz AIK-Linux-v3.7-ALL.tar.gz
cd AIK-Linux
./unpackimg.sh ../boot.img
cp ../android_kernel_fairphone_sdm632/out/arch/arm64/boot/Image.gz-dtb split_img/boot.img-zImage
./repackimg.sh --origsize
That creates an image-new.img
file.
Then fastboot flash boot image-new.img
, press the power button to start and the system boots with the new kernel 
Next step is to patch the kernel config. Back in the same working base dir as always:
wget https://github.com/erfanoabdi/halium-boot/blob/halium-9.0/check-kernel-config
cd android_kernel_fairphone_sdm632
../check-kernel-config.sh arch/arm64/configs/lineageos_FP3_defconfig -w
[manually fix a few things the script is not able to do automatically, then check again until there is no error anymore]
../check-kernel-config.sh arch/arm64/configs/lineageos_FP3_defconfig
make O=out lineageos_FP3_defconfig
time make O=out -j$(nproc --all) Image.gz
cd ../AIK-Linux
./unpackimg.sh ../boot.img
cp ../android_kernel_fairphone_sdm632/out/arch/arm64/boot/Image.gz-dtb split_img/boot.img-zImage
./repackimg.sh --origsize
Next comes the actual flashing, i.e. boot into fastboot mode and execute (again in the base working dir):
wget https://github.com/chaosmaster/android_device_fairphone_fp3/releases/download/20200202-02/twrp-3.3.1-0_k4y0z-20200202-02-fp3.img
wget https://build.lolinet.com/file/halium/GSI/tools/halium-ramdisk.zip
wget https://build.lolinet.com/file/halium/GSI/tools/apparmor_enabler.zip
wget https://build.lolinet.com/file/halium/GSI/ubports_GSI_installer_v7.zip
fastboot flash boot AIK-Linux/image-new.img
fastboot boot twrp-3.3.1-0_k4y0z-20200202-02-fp3.img
Then in TWRP
- format data
- sideload
- ubports_GSI_installer_v7.zip
- halium-ramdisk.zip
- apparmor_enabler.zip
- reboot
And after a while UBports is up and running 
ATTENTION: when you flash the boot image again, you also have to flash the halium-ramdisk and apparmor_enabler again, otherwise you’ll end up in a bootloop that always takes you back to fastboot mode.
Of course not everything works right now. Will try to fix as good as I can 
Find my patched kernel sources at https://github.com/Ingo-FP-Angel/android_kernel_fairphone_sdm632/tree/ubports-gsi