在x86机器上编译Arm的内核需要配置交叉编译工具链需要三个东西记住ARCH, CROSS_COMPILE,和PATH。提醒交叉编译工具一般芯片供应商的厂家会提供版本如果交叉编译工具太老可能导致编译失败比如我这篇文章中使用的9.2就太老了。1 设置交叉编译工具链还有种开机生效的方法没写。。。我的服务器不方便重启。1.2 永久生效(每次终端进来都需要source,但是最方便的 )vim~/.bashrc 在行尾添加或修改,加上下面几行exportARCHarm64exportCROSS_COMPILEaarch64-none-linux-gnu-exportPATH$PATH:/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/ 设置完毕后,要执行source~/.bashrc 命令使其生效1.2 临时生效每次在命令行输入exportARCHarm64exportCROSS_COMPILEaarch64-none-linux-gnu-gccexportPATH$PATH:/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/1.3 手动指定实现交叉编译# 编译kernel make ARCHarm CROSS_COMPILE/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-# 编译kernel module需要制定kernel路径 make ARCHarm CROSS_COMPILE/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-KERNEL_SRC/home/linux-kernel-dir2 测试交叉编译工具链2.1测试环境变量book:~$echo$ARCHarm64 book:~$echo$CROSS_COMPILEaarch64-none-linux-gnu-2.1测试交叉编译器book:~$ aarch64-none-linux-gnu-gcc-vUsing built-in specs.COLLECT_GCCaarch64-none-linux-gnu-gccCOLLECT_LTO_WRAPPER/opt/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/../libexec/gcc/aarch64-none-linux-gnu/9.2.1/lto-wrapper Target: aarch64-none-linux-gnu Configured with: /tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/src/gcc/configure--targetaarch64-none-linux-gnu--prefix--with-sysroot/aarch64-none-linux-gnu/libc --with-build-sysroot/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/install//aarch64-none-linux-gnu/libc --with-bugurlhttps://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checkingrelease --enable-languagesc,c,fortran --with-gmp/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --with-mpfr/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --with-mpc/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --with-isl/tmp/dgboter/bbs/rhev-vm2--rhe6x86_64/buildbot/rhe6x86_64--aarch64-none-linux-gnu/build/build-aarch64-none-linux-gnu/host-tools --enable-fix-cortex-a53-843419 --with-pkgversionGNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)Thread model: posix gcc version9.2.120191025(GNU Toolchainforthe A-profile Architecture9.2-2019.12(arm-9.10))