1.編寫模塊代碼:
簡單例子:
#include<linux/kernel.h> #include<linux/module.h> #Inlcude<linux/init.h> static int __init hello_init(void)
{
printk(KERN_INFO "Hello world\n");
return 0;
}
static void __exit hello_exit(void);
{
printk(KERN_INFO "Goodbye world\n");
}
module_init(hello_init);
module_exit(hello_exit);
2.編寫Makefile
obj-m:=hello.o all:
make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules
make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) clean
3.運行make all 生成hello.ko文件
4.運行命令insmod ./hello.ko裝載模塊,運行lsmod查看已經裝載的模塊
5.運行rmmod hello 卸載模塊
6.printk()函數有8個日志級別,運行dmesg命令查看printk的輸出緩沖區