红联Linux门户
Linux帮助

求助:

发布时间:2009-07-17 23:55:37来源:红联作者:sakuru
我刚开始学习内核编程,我的第一个module程序就是要显示hello,world,源代码如下:
#include // Needed by all modules
#include // Needed for KERN_ALERT
#include // Needed for the macros


static int hello_2_init(void)
{
printk(KERN_ALERT "Hello, world 2\n");
return 0;
}


static void hello_2_exit(void)
{
printk(KERN_ALERT "Goodbye, world 2\n");
}


module_init(hello_2_init);
module_exit(hello_2_exit);

makefile文件如下(我认为这里不可能出现错误):

obj-m := irq.o

KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

default:
$(MAKE) -C $(KDIR) SUBDIR=$(PWD) modules

终端中输入make后总是出现如下编译错误:
make -C /lib/modules/2.6.28-11-generic/build SUBDIR=/home/ssd modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.28-11-generic'
rm: cannot remove `include/config/kernel.release': Permission denied
make[1]: *** [include/config/kernel.release] Error 1
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-11-generic'
make: *** [default] Error 2

中英文资料差了一大堆没发现解答,求助高手们。
环境:ubuntu 9.04
文章评论

共有 1 条评论

  1. 于 2013-07-19 18:21:40发表:

    将SUBDIR 修改为M