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

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]# 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值