我将在Ubuntu 10.10中编写一个Hello World模块(内核为2.6.35-28-generic).标题位于:
/usr/src/linux-headers-2.6.35-28-generic
你好ç:
#include <linux/kernel.h> #include <linux/module.h> int init_module(void) { printk("Hello,world\n"); return 0; } void cleanup_module(void) { printk("Goodbye\n"); }
和Makefile:
CC = gcc CFLAGS = -Wall -DMODULE -D__KERNEL__ hello.o: hello.c $(CC) $(CFLAGS) -c hello.c echo insmod hello.o to install echo rmmod to delete
make时出错:
hello.c:1: fatal error: linux/kernel.h : No such file or directory
compilation terminated.
我该如何解决这个问题?
解决方法
你有/usr/src / linux符号链接到你的/usr/src/linux-headers-2.6.35-28-generic吗?
如果没有,则使用以下命令创建一个
如果没有,则使用以下命令创建一个
# cd /usr/src # ln -sfn linux-headers-2.6.35-28-generic linux