1. 文件
2. 编写
hello.c
#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 module");
static int __init hello_init(void) {
printk(KERN_INFO "Hello, world!\n");
return 0;
}
static void __exit hello_exit(void) {
printk(KERN_INFO "Goodbye, cruel world.\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile
obj-m += hello.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
rm -f *.o *.ko *.mod *.mod.c .*.cmd *.symvers *.order
readme.md
sudo insmod hello.ko
dmesg | tail
sudo rmmod hello
lsmod | grep hello
3. 测试
make
insmod hello.ko
lsmod | grep hello
rmmod hello
dmesg | tail