FP3 custom rom development based on released source code

Yes but there are no factory images released, so I don’t have access to a stock boot.img.

The stock kernel config has the option CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE=y set which basically takes all compiled .dtb files and appends them to the zImage. Then the bootloader picks out the dtb it needs based on qcom,board-id and other similar properties; and as far as I understand the problem that a self-compiled kernel doesn’t boot is that the dtb the bootloader exists isn’t present in the sources (but I might be wrong there, it’s my current interpretation :slight_smile: )

Take this branch: Commits · FairphoneMirrors/android_kernel_fairphone_sdm632 · GitHub
Download some cross compiler for aarch64/arm64 (e.g. from Linaro or from your Linux distribution - on Arch Linux it’s the package aarch64-linux-gnu-gcc).
Then run something like

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make msm8953-perf_defconfig
# override CC= in that command so gcc-wrapper.py doesn't run and find 'disallowed warnings' that we don't care about
make -j9 CC=aarch64-linux-gnu-gcc

If you have downloaded the cross compiler you maybe have to adjust the CROSS_COMPILE variable so the gcc binary is named ${CROSS_COMPILE}gcc, and also adjust your PATH variable so that the folder where your binaries are are in your PATH.

4 Likes