【原创】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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。