From c055359ac275afc1d56b567d7d51a7f684387218 Mon Sep 17 00:00:00 2001 From: Dich Date: Thu, 3 Jul 2025 21:19:01 +0800 Subject: [PATCH] update:build.sh --- build.sh | 49 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/build.sh b/build.sh index 45eced7..91f414d 100644 --- a/build.sh +++ b/build.sh @@ -6,22 +6,41 @@ export ARCH=arm64 export SUBARCH=arm64 export KCONFIG_CONFIG=$PWD/myconfig +# 设置工具链路径变量 +export CLANG_PATH=~/kernel/toolchains/clang-21/bin +export PATH=$CLANG_PATH:$PATH + +# 清理构建目录 +rm -rf out && mkdir -p out + # 生成默认 config make O=out KCONFIG_CONFIG=$KCONFIG_CONFIG olddefconfig -# 编译内核,禁用 frame-larger-than 的错误处理 -make -j$(nproc) O=out WERROR=0 \ - KCFLAGS="-Wno-error=frame-larger-than= -O3 -pipe" \ +# 编译内核 +make -j$(nproc) O=out \ + LLVM=1 \ + LTO=thin \ + WERROR=0 \ + KBUILD_NO_WERROR=1 \ + CC=clang \ + AR=llvm-ar \ + LD=ld.lld \ + NM=llvm-nm \ + OBJCOPY=llvm-objcopy \ + OBJDUMP=llvm-objdump \ + STRIP=llvm-strip \ + HOSTCC=clang \ + HOSTCXX=clang++ \ + CROSS_COMPILE= \ + CROSS_COMPILE_ARM32=arm-linux-androideabi- \ + KCFLAGS="--target=aarch64-linux-gnu -O3 -pipe -Wno-error" \ KCPPFLAGS="-DCONFIG_CC_OPTIMIZE_FOR_PERFORMANCE" \ - HOSTCFLAGS="-O3 -pipe" \ - HOSTCXXFLAGS="-O3 -pipe" \ - NM=~/kernel/toolchains/clang-14/bin/llvm-nm \ - OBJCOPY=~/kernel/toolchains/clang-14/bin/llvm-objcopy \ - LD=~/kernel/toolchains/clang-14/bin/ld.lld \ - CROSS_COMPILE=~/kernel/toolchains/clang-14/bin/aarch64-linux-gnu- \ - CROSS_COMPILE_ARM32=~/kernel/toolchains/gcc-arm-4.9/bin/arm-linux-androideabi- \ - CC=~/kernel/toolchains/clang-14/bin/clang \ - AR=~/kernel/toolchains/clang-14/bin/llvm-ar \ - OBJDUMP=~/kernel/toolchains/clang-14/bin/llvm-objdump \ - STRIP=~/kernel/toolchains/clang-14/bin/llvm-strip \ - 2>&1 | tee error.log + HOSTCFLAGS="-O3 -pipe -Wno-error" \ + HOSTCXXFLAGS="-O3 -pipe -Wno-error" \ + 2>&1 | tee out/error.log + +tail -n 100 out/error.log + +# 记录结束时间 +endtime=$(date +'%Y-%m-%d %H:%M:%S') +echo "Build finished at: $endtime"