一个简单的Linux内核模块

#include <linux/kernel.h>
#include <linux/module.h>

static int __init hello_init(void)  //内核加载函数
{
 printk("Hello driver!\n");   //内核模块中用于输出的函数
 return 0;
}
static void __exit hello_exit(void)  //内核卸载函数
{
 printk("ByeBye");
}

module_init(hello_init);       //驱动入口函数
module_exit(hello_exit);     //出口函数
MODULE_LICENSE("GPL");  //模块许可证声明澹ㄥ必须)
MODULE_AUTHOR("StephenYee([email protected])");

 

makefile文件:

ifeq ($(KERNELRELEASE),)

KERNELDIR ?= $(HOME)/linux-2.6.14

PWD := $(shell pwd)

modules:
 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules

modules_install:
 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install

clean:
 rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions *.order *.symvers

.PHONY: modules modules_install clean

else
    obj-m := hello.o
endi

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章