【发布时间】:2015-05-04 01:38:13
【问题描述】:
我正在使用一个简单的示例来创建一个 Hello World 内核模块。下方链接: http://www.thegeekstuff.com/2013/07/write-linux-kernel-module/
当尝试在与 hello.c 相同的目录中使用“make hello”运行 makefile 时。我收到以下错误:
hello.c:1:64: fatal error: linux/module.h: No such file or directory
我已经成功安装了linux头文件:
$ sudo apt-get install linux-headers-$(uname -r)
$ sudo apt-get install linux-source
我什至可以导航到/usr/src/linux-headers-3.13.0-51/include/linux/module.h 中的正确文件,但同样的错误仍然存在。
reddit 上的类似帖子给了我希望,但我不确定我是否在 makefile 中使用了正确的 -I dir 语法。 http://www.reddit.com/r/linux4noobs/comments/2o4u1r/linuxmoduleh_no_such_file_or_directory_found_help/
这里的任何帮助将不胜感激!谢谢!
我正在运行带有 linux 版本 3.13.51 的 Xubuntu 14.04。 kmod 已安装。
EDIT1:更多信息 这是生成文件:
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
【问题讨论】:
-
好的!完毕!和教程链接一样
标签: c linux makefile linux-kernel kernel-module