Skip to content

Latest commit

 

History

History
45 lines (35 loc) · 1.89 KB

File metadata and controls

45 lines (35 loc) · 1.89 KB

1.install toolchain and make tools for build kernel

(1) mkdir -p ~/workspace/source; cd ~/workspace/source;

(2) git clone kernel;

git clone https://github.com/realme-kernel-opensource/realme_6pro_7pro_8pro_X2-AndroidR-kernel-source.git msm-4.14

(3) mkdir prebuild;

git clone https://android.googlesource.com/platform/prebuilts/build-tools;
git clone https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86;
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9

(4) add toolchain path to PATH environment variable

2.export some environment variable and build the kernel and dtb

export SOURCE_ROOT=${PWD}
export DEFCONFIG=atoll_defconfig
export MAKE_PATH=${SOURCE_ROOT}/build-tools/linux-x86/bin/
export CROSS_COMPILE=${SOURCE_ROOT}/toolgcc/bin/aarch64-linux-android-
export KERNEL_ARCH=arm64
export KERNEL_DIR=${SOURCE_ROOT}/msm-4.14
export KERNEL_OUT=${KERNEL_DIR}/../kernel_out
export KERNEL_SRC=${KERNEL_OUT}
export CLANG_TRIPLE=aarch64-linux-gnu-
export OUT_DIR=${KERNEL_OUT}
export ARCH=${KERNEL_ARCH}
export TARGET_INCLUDES=${TARGET_KERNEL_MAKE_CFLAGS}
export TARGET_LINCLUDES=${TARGET_KERNEL_MAKE_LDFLAGS}
export PATH=${SOURCE_ROOT}/toolclang/clang-r383902/bin:$PATH

TARGET_KERNEL_MAKE_ENV+="HOSTCC=${SOURCE_ROOT}/toolclang/clang-r383902/bin/clang "
TARGET_KERNEL_MAKE_ENV+="CC=${SOURCE_ROOT}/toolclang/clang-r383902/bin/clang "
TARGET_KERNEL_MAKE_ENV+="LLVM=${SOURCE_ROOT}/toolclang/clang-r383902/bin/clang"


(cd ${KERNEL_DIR} && ${MAKE_PATH}make V=1 O=${OUT_DIR} ${TARGET_KERNEL_MAKE_ENV} ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} CFLAGS="${TARGET_INCLUDES}" LDFLAGS="${TARGET_LINCLUDES}" ${DEFCONFIG})


(cd ${OUT_DIR} && ${MAKE_PATH}make ARCH=${ARCH} CROSS_COMPILE=${CROSS_COMPILE} CFLAGS="${TARGET_INCLUDES}" LDFLAGS="${TARGET_LINCLUDES}" O=${OUT_DIR} ${TARGET_KERNEL_MAKE_ENV} -j$(nproc))