#incldue
#include
static int hello_init(void)
{
printk(KERN_WARNING"Hello,world!\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_INFO"Goodbye,world\n");
}
module_init(hello_init);
module_exit(hello_exit);
makefile
ifneq ($(KERNELRELERASE),)
obj-m :=hello.o
else
KDIR := /lib/modules/2.6.18-164.el5/build
all:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
编译结果:
[root@localhost kernel]# make
make -C /lib/modules/2.6.18-164.el5/build M=/mnt/hgfs/Linux/kernel modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5-i686'
Building modules, stage 2.
MODPOST
make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5-i686'
目录下并没有生成hello.o hello.ko
为什么??
_lele 于 2013-07-22 00:02:30发表:
应该可以的。。。现在
_lele 于 2013-07-22 00:01:43发表:
obj-m:=hello.o
#generate the path
CURRENT_PATH:=$(shell pwd)
#the current kernel version number
LINUX_KERNEL:=$(shell uname -r)
#the absolute path
LINUX_KERNEL_PATH:=/usr/src/linux-headers-$(LINUX_KERNEL)
#complie object
all:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules
clean:
rm -rf *.*~core.depend.*.cmd*.ko*.mod.c.tmp_versions
_lele 于 2013-07-22 00:00:17发表:
make 文件问题吧。。
菟丝子001 于 2013-05-11 21:37:32发表:
不大明白,有没有大神帮忙
haohu137 于 2013-05-09 19:06:30发表:
路过,看看。