http://www.embedu.org/Column/Column416.htm
1. 在drives目录下添加hello目录,内含hello.c Makefile
hello.c:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT"Hello, world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT"Goodbye, world\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile:
obj-y += hello.o //直接编译到内核中
或者
obj-m += hello.o //编译成内核模块,可以通过insmod/rmmod 动态加载/卸载。
2. 修改driver目录Makefile
添加 obj-y +=hello/ 到/kernel/kernel/drivers/Makefile

本文介绍如何在Linux环境下创建一个简单的内核模块。通过在drives目录下添加hello目录并编写hello.c及Makefile文件实现。hello.c文件定义了模块加载与卸载时打印的字符串,Makefile则配置了编译选项。
784

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



