新手请教,编译内核module出错。

编译打包和其他
回复
chenw
帖子: 2
注册时间: 2007-06-12 13:11

新手请教,编译内核module出错。

#1

帖子 chenw » 2008-01-04 21:49

按照网上教程写了个简单的内核模块:
#include <linux/module.h>
#include <linux/kernel.h>

static int hello_init(void)
{
printk(KERN_ALERT "Hello,linux kernel module\n");
return 0;
}

static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye\n");
}

module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");

同目录下的makefile文件如下:
KERNEL_DIR:=/usr/src/linux
obj-m:=hello.o
default:
$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
clean:
$(RM) .*.cmd *.mod.c *.o *.ko -r .tmp

KERNEL_DIR已经正确设置,是一个指向/usr/src/linux-headers-2.6.22-14的链接。

我打make的时候,出现错误:
makefile:8: *** 遗漏分隔符 。 停止。

我的系统是ubuntu 7.10.按照网上的教程《Debian/Ubuntu Linux下内核编程者必备的几件法宝》来设置了必要的程序。

请问各位,这是怎么回事?谢谢!~~
littertiger
帖子: 99
注册时间: 2006-08-08 20:25
联系:

#2

帖子 littertiger » 2008-01-12 19:24

default和clean下面的命令,前面都有一个tab(\t)的。
你可以看一下Makefile的文章。
回复