本文共 2620 字,大约阅读时间需要 8 分钟。
Makefile
obj-m := word_count.o
#include#include #include #include #include #include // 初始化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]#转载地址:http://knkib.baihongyu.com/