LInux 内核模块开发实例

LInux 内核模块开发实例

  • 编写一个helloworld内核模块
  • 编写编译内核模块Makefile

编写一个helloworld内核模块

#include 
#include 

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

你可能感兴趣的:(Linux)