您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: