1、安装必备的工具和头文件
确保你的系统上安装了构建内核模块所需的工具和头文件。
apt-get install build-essential linux-headers-$(uname -r)
2、编写模块代码
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Your Name");
MODULE_DESCRIPTION("A simple Hello World Linux module.");
MODULE_VERSION("0.01");
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);
3、创建Makefile
# Makefile
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
4、编译模块
make
5、加载模块
#使用kmod加载
insmod xxx.ko
#如果没有insmod命令
sudo apt-get update
sudo apt-get install kmod
#除了kmod,还可以用modprobe
6、卸载模块
rmmod xxx