LInux 内核模块开发实例

编写一个helloworld内核模块

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

static void  hello_init(void){
        printk(KERN_ALERT,"Hello World\n");
}

static void hello_exit(void){
        printk(KERN_ALERT,"GoodBye Curel World\n");
}

module_init(hello_init);
module_exit(hello_exit);

MODULE_LICENSE("Dual BSD/GPL");

编写编译内核模块Makefile

ifneq ($(KERNELRELEASE),)
obj-m := helloworld.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
        $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
        rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions modules.order Module.symvers
endif

猜你喜欢

转载自blog.csdn.net/taoxp123456/article/details/88041013