1.标准的module代码如下:
helloworld.c
#include <linux/kernel.h>
#include<linux/module.h>
#include<linux/init.h>
MODULE_LICENSE("GPL");
static int hello_init(void)
{
printk(KERN_WARNING "HELLOWORLD");
return 0;
}
static void hello_exit(void)
{
printk("BYE");
}
module_init(hello_init);
module_exit(hello_exit);
2.标准的Makefile文件如下:
obj-m :

本文介绍了如何编写和加载Linux可加载内核模块(LKM)。首先展示了简单的helloworld.c模块代码,然后详细解释了Makefile的构建过程,特别是如何利用kbuild和uname -r获取当前内核版本。接着,文章描述了使用`make`编译模块,以及使用`insmod`和`rmmod`命令加载和卸载模块。通过`lsmod`检查模块状态,并通过`/var/log/kern.log`查看模块运行时的日志信息。最后,文章提及了编写模块声明的相关内容。
最低0.47元/天 解锁文章
90

被折叠的 条评论
为什么被折叠?



