【发布时间】:2013-12-18 11:43:29
【问题描述】:
我写了一个简单的 hello world 内核模块。我写了一个make文件如下:
obj -m += hello.o
KDIR: /usr/src/linux-headers-3.2.0-21-generic-pae
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.* *.symvers *.order
然后我使用 make 编译了模块。它工作得很好。
然后,最近我在内核更新到 3.2.0-24 时再次执行了“make”(当然我在 KDIR 中将版本更改为 24)。但是出现了以下错误:
make[1]: Entering directory `/usr/src/linux-headers-3.2.0-24-generic-pae'
make[2]: *** No rule to make target `arch/x86/tools/relocs.c', needed
by `arch/x86/tools/relocs'. Stop.
我查了一下,发现/arch/x86/tools/有一个relocs的可执行文件,但是没有relocs.c
出了什么问题,我应该如何纠正它才能成功编译模块?
【问题讨论】:
标签: module linux-kernel kernel-module kernel