hello驱动的源代码:
#include <linux/init.h>
#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_WARNING"Hello.world!\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_INFO"Goodbye hello word!\n");
}
module_init(hello_init);
module_exit(hello_exit);
加入内核编译成.ko文件十分麻烦,如果编写一个Makefile可以直接编译成.ko文件
Makefile编译起来很麻烦,对空格和Tab要求非常严格。以下是Makefile的源代码:
ifneq ($(KERNELRELEASE),)
obj-m :=hello.o //需修改
else
KDIR := /opt/linux-2.6.32.2 //内核源码的位置需根据自己的需要修改
all:
make -C $(KDIR) M=$(PWD) modules // 开头用Tab键
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers // 开头用Tab键
endif
Makefile的源码下载地址:
http://download.csdn.net/detail/liuhaiwen7210/8009919