我正在尝试使用cross_compile为ARM板编译模块。它显示错误,如下所示。当我尝试为x86系统编译时,它工作正常并创建了*.ko文件。我正在使用make file,如下所示的Make File Code:
obj-m += max-mem2.o
#startstop-objs := start.o stop.o
all:
make -C /home/satishg/qemu/linux-3.2 M=$(PWD) modules
clean:
make -C /home/satishg/qemu/linux-3.2 M=$(PWD) clean代码结束:
我将内核路径改为linux内核源,而不是/usr/src/linux/<>/build这里出了什么问题?
错误:内核配置无效。缺少include/generated/autoconf.h或include/config/auto.conf。在内核src上运行'make oldconfig && make prepare‘来修复它。
警告: Symbol版本转储/home/satishg/qemu/linux-3.2/Module.symvers丢失;模块将没有依赖项和modversion。
提前谢谢你。--Satish.G
发布于 2014-01-06 20:36:54
首先,无论何时在makefile中递归地运行make,都不应该显式地运行make;应该始终使用$(MAKE)变量。
其次,在makefile中没有设置变量PWD,因此它将为空,并且M=$(PWD)将扩展为M=,这是不正确的。你从哪里学来的?你是想用M=$(CURDIR)来代替,还是你的makefile中还有更多你没有展示给我们的?
第三,错误消息在我看来非常清楚:您似乎还没有配置备用的Linux内核源码树。它甚至为您提供了执行该配置所应运行的命令。
https://stackoverflow.com/questions/20946961
复制相似问题