How to build Android Kernel with Clang.

  1. Download Clang:
    user@hostname$ cd ~/
    user@hostname$ wget https://github.com/Neutron-Toolchains/clang-build-catalogue/releases/download/10032024/neutron-clang-10032024.tar.zst -O clang.tar.zst

  2. Extract clang.tar.zst
    user@hostname$ mkdir -p ~/clang
    user@hostname$ unzstd -d clang.tar.zst
    user@hostname$ tar -xf clang.tar -C ~/clang

  3. Setting ENV value
    user@hostname$ export PATH="$HOME/clang/bin:$PATH"
    user@hostname$ export ARCH=arm64
    user@hostname$ export SUBARCH=ARM64
    user@hostname$ export KBUILD_BUILD_USER="username"
    user@hostname$ export KBUILD_BUILD_HOST="userhost"
    user@hostname$ export KBUILD_BUILD_TIMESTAMP="$(date)"

  4. Clone Kernel Source code
    user@hostname$ git clone --depth=1 https://github.com/sunsky131221/kernel_sm8250 -b next-susfs kernel_sm8250
    user@hostname$ cd kernel_sm8250

  5. Setting Kernel config
    user@hostname$ make O=out vendor/apollo_defconfig
    user@hostname$ make O=out menuconfig

  6. Building
    user@hostname$ make O=out CC=clang -j$(nproc --all) CROSS_COMPILE=aarch64-linux-gnu- LLVM=1 LLVM_IAS=1

  7. Compiled file will show in ./out/arch/arm64/boot folder.

留言

這個網誌中的熱門文章

OpenVPN Server build on Debian 11

OpenWRT dumb AP with WPA3-SAE + 802.11r