那位高手帮我看看,我这个写的linux内核模快把
希望哪位高手帮我看看我这个问题
/*file:helo.c*/
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
//#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("MYGPL");
static int hello_init(void)
{
printk(KERN_ALERT "hello world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "HELLO WORLD EXIT\n");
}
module_init(hello_init);
module_exit(hello_exit);
这是我写的一个hello模块,但是在我编译的时候总是有错误,下面我也把我的makefile文件贴出来,希望高手帮我看看
ifneq ($(KERNELRELEASE),)
obj-m:= hello.o
else
KERNELDIR:=/lib/modules/$(shell uname -r)/build
PWD:=$(shell pwd)
default:
# $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
# $(MAKE) -C $(KERNELDIR) M='pwd' modules
$(MAKE) -C $(KERNELDIR) M=$(PWD)modules
# make -C $(KERNELBUILD) SUBDIRS=$(shell pwd) modules
clean:
rm -rf *.o .*.cmd *.ko *.mod.c .tmp_versions
endif
这是我看到网上写的自己的makefile文件,但是现在编译出现的问题是如下,希望哪位高手能帮我看看,之前小弟没有接触过这个东西,现在需要用,所以比较急的错误如下
make -C /lib/modules/2.6.18-164.el5/build M=/home/liulonghui/modulemodules
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64'
scripts/Makefile.build:17: /home/liulonghui/modulemodules/Makefile: 没有那个件或目录
make[2]: *** 没有规则可以创建目标“/home/liulonghui/modulemodules/Makefile” 停止。
make[1]: *** [_module_/home/liulonghui/modulemodules] 错误 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'
make: *** [default] 错误 2
现在希望大家帮我分析分析,我的这个hello.c文件是放在自己建立的一个module下的。这一会真的需要帮助。