]# dmesg | grep word_count | tail -n 2 word_count_init_success

来源:互联网 发布:开票软件000013 编辑:程序博客网 时间:2024/05/17 23:59

Makefile

obj-m := word_count.o

#include <linux/module.h>#include <linux/init.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/miscdevice.h>#include <asm/uaccess.h>//  初始化Linux驱动static int __init word_count_init(void){//  输出日志信息printk("word_count_init_success\n");return 0;}// 卸载Linux驱动static void __exit word_count_exit(void){//  输出日志信息printk("word_count_init_exit_success\n");} //  注册初始化Linux驱动的函数module_init( word_count_init);//  注册卸载Linux驱动的函数module_exit( word_count_exit);MODULE_AUTHOR("lining");MODULE_DESCRIPTION("statistics of word count.");MODULE_ALIAS("word count module.");MODULE_LICENSE("GPL");


[root@localhost word_count]# ls /usr/src/kernels/2.6.18-53.el5xen-i686
arch     include         lib             net                              usr
block    init            Makefile        scripts
crypto   ipc             mm              security
drivers  kabi_whitelist  Module.kabi     sound
fs       kernel          Module.symvers  symsets-2.6.18-53.el5xen.tar.gz
[root@localhost word_count]# ls /usr/src/kernels/2.6.18-53.el5-xen-i686
arch     include         lib             net                              usr
block    init            Makefile        scripts
crypto   ipc             mm              security
drivers  kabi_whitelist  Module.kabi     sound
fs       kernel          Module.symvers  symsets-2.6.18-53.el5xen.tar.gz
[root@localhost word_count]# make -C /usr/src/kernels/2.6.18-53.el5xen-i686 M=./
make: Entering directory `/usr/src/kernels/2.6.18-53.el5-xen-i686'
  Building modules, stage 2.
  MODPOST
make: Leaving directory `/usr/src/kernels/2.6.18-53.el5-xen-i686'
[root@localhost word_count]# pwd
/root/drivers/ch06/word_count
[root@localhost word_count]# make -C /usr/src/kernels/2.6.18-53.el5xen-i686 M=/root/drivers/ch06/word_count
make: Entering directory `/usr/src/kernels/2.6.18-53.el5-xen-i686'
  LD      /root/drivers/ch06/word_count/built-in.o
  CC [M]  /root/drivers/ch06/word_count/word_count.o
  Building modules, stage 2.
  MODPOST
  CC      /root/drivers/ch06/word_count/word_count.mod.o
  LD [M]  /root/drivers/ch06/word_count/word_count.ko
make: Leaving directory `/usr/src/kernels/2.6.18-53.el5-xen-i686'
[root@localhost word_count]# ls /usr/src/kernels/2.6.18-53.el5xen-i686
arch     include         lib             net                              usr
block    init            Makefile        scripts
crypto   ipc             mm              security
drivers  kabi_whitelist  Module.kabi     sound
fs       kernel          Module.symvers  symsets-2.6.18-53.el5xen.tar.gz
[root@localhost word_count]# insmod word_count.ko
[root@localhost word_count]# lsmod | grep word_count
word_count              5504  0 
[root@localhost word_count]# rmmod word_count
[root@localhost word_count]# dmesg | grep word_count
word_count: no version for "struct_module" found: kernel tainted.
word_count_init_success
word_count_init_exit_success
[root@localhost word_count]# dmesg | grep word_count | tail -n 2
word_count_init_success
word_count_init_exit_success
[root@localhost word_count]#