工具与软件:
我尝试在 Ubuntu 22.04上通过 ARM64交叉编译来构建外部内核模块、并出现以下输出错误:
RM -rf *。o *~ core .dependent .*。cmd *。ko *。mod.c .tmp_versions
make -C /home/atcom/ti-processor-sdk-linux-rt-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32 +git-ti-rt M=/home/atcom/Desktop/at_spi_pps 模块
make[1]:输入目录"/home/atcom/ti-processor-sdk-linux-rt-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32 + git-ti-rt"
警告:编译器与用于构建内核的编译器不同
内核构建于: GCC (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
您使用的是:AArch64-OE-Linux-gcc (GCC) 13.3.0
cc [M]/home/atcom/Desktop/at_spi_pps/at_spi_pps.o
‘arch64-OE-linux-gcc:错误:无法识别的命令行选项"ms-record-mcount"
make[3]:***[scripts/Makefile.build:243:/home/atcom/Desktop/at_spi_pps/at_spi_pps.o 错误1.
make[2]:***[git-ti-rt/Makefile:1913:/home/atcom/ti-processor-sdk-linux-rt-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32 /home/atcom/Desktop/at_spi_pps 错误2.
make[1]:***[Makefile:234:_sub-make]错误2.
make[1]:正在离开目录"/home/atcom/ti-processor-sdk-linux-rt-am64xx-evm-10.00.07.04/board-support/ti-linux-kernel-6.6.32 + git-ti-rt"
make:***[Makefile:17: modules]错误2.
我将从.sh 文件启动构建过程:
SDK_INSTALL_DIR="/home/atcom/ti-processor-sdk-linux-rt-am64xx-evm-10.00.07.04
导出 cross_compile_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-
导出 sysROOT_64="${SDK_INSTALL_DIR}/linux-devkit/sysroots/aarch64-oe-linux
导出 CC_64="${cross_compile_64}gcc --sysroot=${sysroot_64}"
export ROSS_COMPILE_32="${SDK_INSTALL_DIR}/k3r5-Devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi-"
将 arch=arm64 cross_compile=${cross_compile_64}设置为 clean
使 arch=arm64 cross_compile=${cross_compile_64}