日期:2014-05-16 浏览次数:21269 次
由于某设备缺少一个模块,需要对原来代码中的jiffies(系统时钟节拍)进行移植,做成一个.ko,方法如下:
#include <linux/init.h>  
#include <linux/module.h> 
MODULE_LICENSE("Dual BSD/GPL");
module_param(jiffies,ulong,444) 
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如下:
obj-m := hello.o  
KERNELDR := /usr/src/linux-2.6.26  
PWD := $(shell pwd)  
modules:  
    $(MAKE) -C $(KERNELDR) M=$(PWD) modules  
moduels_install:  
    $(MAKE) -C $(KERNELDR) M=$(PWD) modules_install  
clean:  
    rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions 
使用make命令,编译成一个.ko文件,在LINUX下执行insmod hello.ko
然后在sys文件夹下可以找到hello这个模块,打开会找到programme,再                                                                                                                         打开就会找到jiffies,用cat就可以查看,module_param就是钥匙,444表示
LINUX的root,group及usr的权限