首页 > 解决方案 > 如何修复 vmlinux.o 错误和交叉编译错误

问题描述

我是内核中的一种菜鸟。首先我的问题是关于交叉编译。当我尝试时export CROSS_COMPILE出现错误:

export CROSS_COMPILE=/root/Downloads/android-ndk-r20-beta1/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-eabi-
export ARCH=arm
make clean
/root/Desktop/kek/android_kernel_lge_g3-lineage-16.0/scripts/gcc-version.sh: line 25: /root/Downloads/android-ndk-r20-beta1/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-eabi-gcc: No such file or directory

第二个错误是vmlinux编译时出错。

make -no-pie

然后错误

ld: cannot find arch/x86/kernel/head_64.o: No such file or directory
ld: cannot find arch/x86/kernel/head64.o: No such file or directory
ld: cannot find arch/x86/kernel/head.o: No such file or directory
ld: cannot find arch/x86/kernel/init_task.o
ld: cannot find init/built-in.o 
make: *** [Makefile:938: vmlinux.o] Error 1  `

我的内核是https://github.com/LineageOS/android_kernel_lge_g3并且配置是defconfig.

标签: androidlinuxkernelcross-compiling

解决方案


推荐阅读