hello模块的成功
2009-07-24 15:45
106 查看
1.编写内核模块源文件hello.c(文件位于/home/zcy/src下)
// hello.c
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void) {
printk(KERN_ALERT "Hello, world/n");
return 0;
}
static void hello_exit(void) {
printk(KERN_ALERT "Goodbye, cruel world/n");
}
module_init(hello_init);
module_exit(hello_exit);
编写Makefile(与hello.c同一目录):
# Makefile
obj-m:=hello.o
KERNELDIR:=/lib/modules/$(shell uname -r)/build
PWD:=$(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
2. 执行make命令进行编译就行了, 执行完毕后,会生成几个文件:
hello.ko
hello.mod.c
hello.mod.o
hello.o
运行命令:
# insmod hello.ko
应该可以看到返回的信息:Hello, world
然后再运行命令:
# rmmod hello
应该可以看到返回的信息:Goodbye, cruel world
// hello.c
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void) {
printk(KERN_ALERT "Hello, world/n");
return 0;
}
static void hello_exit(void) {
printk(KERN_ALERT "Goodbye, cruel world/n");
}
module_init(hello_init);
module_exit(hello_exit);
编写Makefile(与hello.c同一目录):
# Makefile
obj-m:=hello.o
KERNELDIR:=/lib/modules/$(shell uname -r)/build
PWD:=$(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
2. 执行make命令进行编译就行了, 执行完毕后,会生成几个文件:
hello.ko
hello.mod.c
hello.mod.o
hello.o
运行命令:
# insmod hello.ko
应该可以看到返回的信息:Hello, world
然后再运行命令:
# rmmod hello
应该可以看到返回的信息:Goodbye, cruel world
相关文章推荐
- android 加载 hello.ko模块
- 开发好一个软件功能模块不是光有激情、有干劲、有技术就可以得到成功的
- Python 的 MySQLdb 模块插入数据没有成功与 autocommit(自动提交)的关系
- MATLAB在调用C/C++程序成功,使用opencv库时出错,错误显示“找不到指定模块”(问题未解决)
- Linux设备驱动程序学习(0)-Hello, world!模块
- Linux设备驱动程序学习(0)-Hello, world!模块
- DNN7.0.5source 模块开发初试成功
- 【Nginx】 hello模块的编写
- magento 支付宝模块 当支付成功时在哪里更改订单状态的
- 成功将ICTCLAS分词模块移植到.net平台
- hello 内核模块
- 转:安装成功的nginx如何添加未编译安装模块
- Linux 2.6内核驱动之hello模块
- hello_world-1.0之原始的内核模块编程
- 安装成功的nginx如何添加未编译模块?
- 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上
- mini2440动态加载hello.ko模块
- hello.c内核模块编译 -- linux内核
- Linux设备驱动程序学习(0)-Hello, world!模块