您的位置:首页 > 运维架构 > Linux

编写一个简单的linux内核模块

2011-09-28 17:32 204 查看
1. 首先,编写c程序helloworld.c:

#include <linux/init.h>

#include <linux/module.h>

#include <linux/kernel.h>

static int hello_init(void)

{

printk("<1>Hello World!\n");

return 0;

}

static void hello_exit(void)

{

printk("<1>Goodbye!\n");

}

module_init(hello_init);

module_exit(hello_exit);

MODULE_LICENSE("GPL");

2. 编写makefile:

obj-m:=helloworld.o

all:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:

make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

3. 运行命令make,产生如下文件:

helloworld.o Module.symvers helloworld.ko helloworld.mod.c helloworld.mod.o

4. 加载到内核:insmod helloworld.ko

5. 查看内核模块:lsmod | grep helloworld

Module Size Used by

helloworld 5504 0

6.移除模块: rmmod helloworld.ko
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: