1、kernel module 准备
kernel 代码
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
static int __init hello_init(void)
{
printk("<1> hello modules wordl!\n");
return 0;
}
static void __exit hello_exit(void)
{
return;
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
makefile 文件
obj-m :=testmodule.o
KDIR :=/lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules
编译make
编译后会生成 testmodule.ko 等文件
2、加载编译的内核模块
执行insmod hellomod.ko
查看内核中已加载的模块
lsmod
3、卸载编译的内核模块
rmmod hellomod
4、查看系统日志输出
tail /var/log/messages