我已经为Linux内核编写了一个测试模块。此模块需要标头<linux/config.h>
和<asm/system.h>
。当我发出消息时make
,它给了我错误,fatal error: linux/config.h: No such file or directory
并且如果我评论config.h
标头,它也会说出同样的错误asm/system.h: No such file or directory
。我尝试搜索该问题,并遇到了这些标头属于tikernel-headers
包的解决方案。我安装了此软件包(尽管它已经安装在我的系统上)。但是到时找不到这两个标头。我autoconf.h
从/usr/src/
路径中找到了软链接的解决方案,但是不幸的是我找不到在此路径上安装的任何头文件文件夹。谁能告诉我代码的问题在哪里?我正在使用F20操作系统,内核版本为3.12.9-301.fc20.x86_64。
看来您的Makefile不知道在哪里搜索内核标头。您可以尝试使用此Makefile:只需键入make
它,它应该使用当前正在运行的内核的内核头进行构建。
# Run this Makefile as follows:
# (MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
#
KDIR= /lib/modules/$(shell uname -r)/build
obj-m := test.o
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
install:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install
depmod -a
clean:
rm -f *~
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句