妻子,情人,红颜知己
2009-03-03 01:22
197 查看
1 创建module
#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);
2 制作Makefile
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
3 #make
生成以下文件
-rw-r--r-- 1 hello.ko
-rw-r--r-- 1 hello.mod.c
-rw-r--r-- 1 hello.mod.o
-rw-r--r-- 1 hello.o
-rw-r--r-- 1 Module.markers
-rw-r--r-- 1 modules.order
-rw-r--r-- 1 Module.symvers
4加载 module cmd [insmod]
查看 module cmd [lsmod]
卸载 module cmd [rmmod]
如下:
root@ubuntu:/home/ubuntu/test2# lsmod | grep hello
root@ubuntu:/home/ubuntu/test2# insmod hello.ko
root@ubuntu:/home/ubuntu/test2# lsmod | grep hello
hello 9344 0
root@ubuntu:/home/ubuntu/test2# rmmod hello
root@ubuntu:/home/ubuntu/test2# lsmod | grep hello
运行加载 卸载 产生的log.
root@ubuntu:/home/ubuntu/test2# grep world /var/log/syslog
Feb 24 23:05:34 ubuntu kernel: [44241.806733] Hello, world
Feb 24 23:08:09 ubuntu kernel: [44396.972670] Goodbye, cruel world
学习ing 待续。。。
本文出自 “漂流中。。。” 博客,请务必保留此出处http://piaoliu.blog.51cto.com/949937/278587
#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);
2 制作Makefile
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
3 #make
生成以下文件
-rw-r--r-- 1 hello.ko
-rw-r--r-- 1 hello.mod.c
-rw-r--r-- 1 hello.mod.o
-rw-r--r-- 1 hello.o
-rw-r--r-- 1 Module.markers
-rw-r--r-- 1 modules.order
-rw-r--r-- 1 Module.symvers
4加载 module cmd [insmod]
查看 module cmd [lsmod]
卸载 module cmd [rmmod]
如下:
root@ubuntu:/home/ubuntu/test2# lsmod | grep hello
root@ubuntu:/home/ubuntu/test2# insmod hello.ko
root@ubuntu:/home/ubuntu/test2# lsmod | grep hello
hello 9344 0
root@ubuntu:/home/ubuntu/test2# rmmod hello
root@ubuntu:/home/ubuntu/test2# lsmod | grep hello
运行加载 卸载 产生的log.
root@ubuntu:/home/ubuntu/test2# grep world /var/log/syslog
Feb 24 23:05:34 ubuntu kernel: [44241.806733] Hello, world
Feb 24 23:08:09 ubuntu kernel: [44396.972670] Goodbye, cruel world
学习ing 待续。。。
本文出自 “漂流中。。。” 博客,请务必保留此出处http://piaoliu.blog.51cto.com/949937/278587