编写一个简单的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
#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
相关文章推荐
- 如何编写一个简单的linux内核模块和设备驱动程序
- 编写了一个简单的http代理服务器
- 一个简单的内核模块编写到测试的全过程testmodule 之内核版本2.4.20.8
- 一个简单控件的编写--系统托盘
- 一个简单的 C# 语言编写的 WIN32 程序
- 一个简单的守护进程的编写
- Struts 1 学习笔记-5-2(编写一个简单的支持I18N的登录系统)
- Python编写一个简单的简单的爬虫-下载保存在本地
- 编写一个简单的C++程序
- 8、ROS使用C++编写一个简单的Publisher和Subscriber
- 使用python的twisted框架编写一个简单的聊天室
- ffmpeg+sdl教程----编写一个简单的播放器5(同步视频到音频)
- 一个最简单引导扇区的编写
- 从零开始编写一个简单的Linux文件系统
- 一步一步SharePoint 2007之二十三:编写一个最简单的WebPart(1)——创建工程
- 编写一个简单的SSH例子
- 【C++】编写一个简单的函数实现重载。
- Asp.net 在网页编写C#代码示例-- 一个简单的web MsSql 命令执行环境
- 一个最简单的源Filter的编写步骤 转贴
- 【转载】用C#编写一个简单的记事本