欢迎来到天天文库
浏览记录
ID:14265211
大小:1.08 MB
页数:5页
时间:2018-07-27
《一步一步学习linux内核模块》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一步一步接触内核模块<一>注:其他文档将陆续推出首先编写一个最简单的内核模块,通过加载命令后,输出:hello,linuxmodules!,卸载的时候输出:GoodByelinuxmodules!(1)首先写一个简单的内核模块,在linux中编写一个名为:simple_modules.c文件,visimple_modules.c程序如下:#include#include//模块加载函数Staticinthello_init(void){pr
2、intk("hello,linuxmodules!");return0;}//模块卸载函数staticvoidhello_exit(void){printk("GoodByelinuxmodules!");//printk()为内核空间的输出函数}module_int(hello_init);//module_exit(hello_exit);MODULE_LICENSE("DualBSD/GPL");//模块许可声明,如果不声明LICENSE,模块被加载//时将收到内核被污染的警告MODU
3、LE_AUTHOR("SHAOBEIBEI");MODULE_DESCRIPTION("ASIMPLELINUXMODULE");(2)保存并且退出,关于内核模块的编译可以用Makefile来编译:首先编写一个名为Makefile的文件:viMakefileMakefile的内容如下:详细注释见结尾ifneq($(KERNELRELEASE),)obj-m:=simple_modules.oelseKDIR:=/lib/modules/2.6.18-53.el5/buildall:make–C$(K
4、DIR)M=$(PWD)modulesclean:rm:-f*.ko*.o*.mod.o*.symversendif保存并且退出(3)然后使用make命令,编译此Makefile文件用ls命令查看文件会发现多出来了几个文件,其中simple_modules.ko是编译后产生的(4)加载这个模块使用insmod命令:insmodsimple_modules.ko然后我们用lsmod命令来查看刚刚我们加载的模块可以看到在第一个位置显示出了,我们刚刚加载的模块.然后查看刚刚输出的信息:用命令tail–n1
5、/var/log/messages(5)模块卸载:使用rmmod命令:rmmodsimple_modules,ko然后再使用lsmod会发现,模块已经被卸载了然后用上面的命令查看刚刚输出的信息:用命令tail–n1/var/log/messages参考资料:国嵌视频如果有什么不明白可以加群93897530
此文档下载收益归作者所有