我正在尝试使用cross_compile为ARM板编译模块。 它显示如下错误。 当我尝试编译x86系统时它工作正常 创建* .ko文件。 我正在使用make文件如下 制作文件代码:
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。 运行'make oldconfig&&在内核src上做准备以修复它。
警告:符号版本转储/home/satishg/qemu/linux-3.2/Module.symvers 不见了;模块没有依赖关系和modversions。
提前谢谢你。 --Satish.G
答案 0 :(得分:0)
首先,每当在makefile中以递归方式运行make时,你永远不会显式地运行make
;您总是使用$(MAKE)
变量。
其次,变量PWD
未在您的makefile中设置,因此它将为空,M=$(PWD)
扩展为M=
,这是不正确的。你从哪里得到的?你的意思是使用M=$(CURDIR)
,还是你的makefile还有更多你没有向我们展示?
第三,错误消息对我来说非常清楚:似乎你没有配置备用Linux内核源代码树。它甚至为您提供了执行该配置时应运行的命令。