步骤一:新建文件夹mkdir mymodule 进入编辑器gedit mymodule.c文件
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
static int __init my_module_init(void)
{
printk("my first module!\n");
return 0;
}
static void __exit my_module_exit(void)
{
printk("my module was been remove!");
return ;
}
module_init(my_module_init);
module_exit(my_module_exit);
步骤二:gedit Makefile文件
obj-m =mymodule.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules
clean:
rm *.o *.symvers *.order *.mod.c
步骤三:make
步骤四:readelf mymodule.ko -a //查看它的完整信息
步骤五:加载模块到内核
man insmod //查看insmod命令的功能
insmod mymodule.ko
步骤六:查看内核模块的打印信息(需要管理者权限root)
su root
man dmesg
dmesg |tail
步骤七:卸载模块
man rmmod //查看rmmod命令的功能
rmmod mymodule
dmesg |tail //查看卸载函数中的打印信息