编译小米Mi Mix3 LineageOS21内核时遇STACKPROTECTOR错误求助
编译小米Mi Mix3(LineageOS 21)4.9非GKI内核时的编译错误求助
我正在为小米Mi Mix3(LineageOS 21)编译4.9非GKI内核,计划后续添加KernelSU。先尝试编译无KernelSU的普通内核以验证操作正确性,使用LineageOS的sdm845内核源码,参考内核编译教程操作。
已执行的操作步骤
./scripts/kconfig/merge_config.sh -m /home/hendgs/android_kernel_xiaomi_sdm845/arch/arm64/configs/vendor/xiaomi/perseus.config /home/hendgs/android_kernel_xiaomi_sdm845/arch/arm64/configs/vendor/xiaomi/mi845_defconfig mv .config arch/arm64/configs/perseus_defconfig make O=out ARCH=arm64 mrproper make O=out ARCH=arm64 perseus_defconfig
以上步骤均正常完成。
编译时出现的错误
执行编译命令后报错:
PATH="$CLANG:$GCC64:$GCC:$PATH" make -j$(nproc --all) CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- O=out ARCH=arm64 CC=clang make[1]: Entering directory '/home/hendgs/android_kernel_xiaomi_sdm845/out' arch/arm64/Makefile:27: ld does not support --fix-cortex-a53-843419; kernel may be susceptible to erratum Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler make[1]: *** [/home/hendgs/android_kernel_xiaomi_sdm845/Makefile:1232: prepare-compiler-check] Error 1 make[1]: *** Waiting for unfinished jobs.... GEN ./Makefile scripts/kconfig/conf --silentoldconfig Kconfig make[1]: Leaving directory '/home/hendgs/android_kernel_xiaomi_sdm845/out' make: *** [Makefile:152: sub-make] Error 2
使用的编译工具
我使用Lineage预编译的Clang和GCC工具链,无变量的编译命令如下:
PATH="/android_prebuilts_clang_kernel_linux-x86_clang-r416183b/bin:/android_prebuilts_gcc_linux-x86_aarch64_aarch64-linux-android-4.9/bin:/android_prebuilts_gcc_linux-x86_arm_arm-linux-androideabi-4.9/bin:$PATH" make -j$(nproc --all) CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi- O=out ARCH=arm64 CC=clang
已尝试的解决方法
我尝试在配置文件中将CONFIG_CC_STACKPROTECTOR_STRONG注释(改为# CONFIG_CC_STACKPROTECTOR_STRONG is not set),但问题依旧存在。
我是内核编译新手,希望能得到解决该问题的帮助。
内容的提问来源于stack exchange,提问作者xXHenlolXx
相关产品推荐
相关产品推荐

