首先,确保linux内核源码放在/usr/src下面,安装好编译器,接下来就是程序员代码,具体如下:
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include <linux/config.h>
#include <linux/module.h>
MODULE_LICENSE("GPL");
#ifdef CONFIG_SMP
#define __SMP__
#endif
#include <linux/kernel.h>
static int init_module()
{
printk("hello Linux Driver!/n"); //加载模块的时候打印出此行
return 0;
}
static void cleanup_module()
{
printk("Bye!/n"); //模块卸载时打印此行
}
保存hello.c,接下来编译源码,方法如下:gcc -c -DMODULE -DDEBUG_PRINTK -I/usr/src/linux/include hello.c
编译通过产生hello.o文件,然后即可加载hello模块:insmod hello.o,卸载模块:rmmd hello