【原创】Linux 内核模块编程
sudo gedit hello.c
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
MODULE_LICENSE("GPL");
MODULE_AUTHOR("leemo");
MODULE_DESCRIPTION("Hello World Module");
MODULE_ALIAS("a simplest module");
static int __init hello_init(void)
{
printk(KERN_EMERG"Hello World! This is leemo's work\n");
return 0;
}
static void __exit hello_exit(void)
{
printk("<6>hello exit\n");
return;
}
module_init(hello_init);
module_exit(hello_exit);
sudo gedit Makefile
bj-m := hello.o
DIR := /lib/modules/$(shell uname -r)/build
ll:
make -C $(KDIR) M=$(PWD) modules
lean:
rm *.o *.ko Mo* mo* *.mo*
编译
make
加载模块
sudo insmod hello.ko
使用lsmod查看模块
使用dmesg查看
完成。
卸载模块
rmmod hello.ko.
作者:leemoaly
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。



浙公网安备 33010602011771号