Chinaunix首页 | 论坛 | 博客
  • 博客访问: 732372
  • 博文数量: 134
  • 博客积分: 3207
  • 博客等级: 中校
  • 技术积分: 1995
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-01 20:47
文章分类

全部博文(134)

文章存档

2022年(1)

2020年(7)

2018年(2)

2016年(5)

2015年(14)

2014年(21)

2013年(3)

2012年(1)

2011年(15)

2010年(30)

2009年(35)

分类: LINUX

2009-04-01 21:01:37

首先将下面的程序写进一个hello1.c的文件里:
#vim hello1.c

#include "linux/module.h"
#include "linux/kernel.h"
#include "linux/init.h"

static int __init lkp_init(void)
{
printk("<1> Hello,world!From the kernel space...\n");
return 0;
}

static void __exit lkp_cleanup(void)
{
printk("<1>Goodbye,World!Leaving kernel space...\n");

}

module_init(lkp_init);
module_exit(lkp_cleanup);
MODULE_LICENSE("GPL");
然后编写Makefile:(与hello1.c文件在同一目录下)
#vim Makefile

obj-m += hello1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(shell pwd) clean
注意:两个make前要先使用Tab键空出。
最后就可以编译了,使用make就可以了。
#make

编译通过后会生成hello1.ko, hello1.o, hello1.mod.c, hello1.mod.o, Module.symvers。

使用modinfo hello1.ko命令可以查看hello1模块的信息。其命令格式为:
#modinfo hello1.ko

使用insmod hello1.ko命令可以将hello1模块加入到内核中。其命令格式为:
#sudo insmod hello1.ko

使用lsmod命令可以查看当前系统正在使用的模块信息。其命令格式为:
#sudo lsmod

使用rmmod hello1命令可以将hello1模块移出内核。其命令格式为:
#sudo rmmod hello1

阅读(946) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~