linux / module.h没有这样的文件或目录

对于我的论文,我正在使用协议ARAN创build一个Manet。 为了安装这个协议,我使用了这个手册 ,但是第一步,trace_route的创build,我收到了如下错误:

-linux/module.h: No such file or directory -linux/procs_Fs: No such file or directory -linux/skbuff: No such file or directory 

我search了网页,发现问题出在标题中,但是我找不到解决scheme…

PS我正在使用Ubuntu 10.04 LTS内核2.6.33重新编译

Solutions Collecting From Web of "linux / module.h没有这样的文件或目录"

您错过了Linux内核头文件,它允许您针对Linux内核编译代码。

Ubuntu中只安装标题:

 $ sudo apt-get install linux-headers-$(uname -r) 

Ubuntu中安装整个Linux内核源代码:

 $ sudo apt-get install linux-source 

请注意,您应该使用与正在运行的内核匹配的内核头文件。

 **/*source file name is basic.c */** #include <linux/init.h> #include <linux/module.h> /*MODULE_LICENSE("Dual BSD/GPL");*/ static int hello_init(void) { printk(KERN_ALERT "Hello, world\n"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } module_init(hello_init); module_exit(hello_exit); 

=====================================

现在为ubuntu做文件

/ *在第一个类型的乌拉圭回合终端,$(uname -r)然后你会得到的版本..正在使用您的系统* /

 obj-m +=basic.o KDIR =//usr/src/linux-headers-3.13.0-44-generic all: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules clean: rm -rf *.o *.ko *.mod.* *.symvers *.order 

================================================

运行代码

 $sudo insmode basic.ko $dmesg u will get the output $sudo rmmod basic.ko $dmesg