Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1459397
  • 博文数量: 181
  • 博客积分: 3308
  • 博客等级: 中校
  • 技术积分: 2227
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-03 12:03
个人简介

我是zoro

文章分类

全部博文(181)

文章存档

2015年(1)

2013年(35)

2012年(39)

2011年(50)

2010年(56)

分类: LINUX

2010-12-25 11:29:11

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=hello.o


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打印内容等
阅读(1269) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~