1.编写hello.c文件
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "hello,workd\n");
return 0;
}
static void hello_exit(void)
{
printk("goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);
|
2.编写Makefile
obj-m=后面放要生成的模块以.o结尾,可以放多个
若一个模块包含多个文件,以 “模块-objs=文件列表”形式列出。
例如:hello-objs=f1.o f2.o
3.在终端输入: make -C /usr/src/linux-headers-2.6.35-23-generic M=/home/zx/lianxi/module
其中-C后的路径为内核源代码树,M=后面为模块源文件目录。
成功执行后便生成模块文件,以.ko结尾。
4.添加模块
sudo insmod hello.ko
5.查看模块
lsmod
6.删除模块
sudo rmmod hello
其他命令:
dmesg 可用来查看printk打印内容等
阅读(1330) | 评论(0) | 转发(0) |