linux内核模块的添加

linux内核模块的添加

ID:15391590

大小:369.76 KB

页数:7页

时间:2018-08-03

linux内核模块的添加_第1页
linux内核模块的添加_第2页
linux内核模块的添加_第3页
linux内核模块的添加_第4页
linux内核模块的添加_第5页
资源描述:

《linux内核模块的添加》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一:Linux内核模块的添加(一)静态加载:把组件都添加进内核文件中,在目录kongfig文件中增加新代码对应的编译选项,在Makefile文件中添加编译条目。(二)动态加载:下载并安装Linux内核模板:makemodules_installARCH=armCROSS_COMPILE=arm-linux,编写Makefile。以helloword为例来实现这两种方法:静态加载:(1)helloword.c源代码#include#includestaticinthello_init(void){printk(KER

2、N_INFO"HelloWorldenter");return0;}staticvoidhello_exit(void){printk(KERN_INFO"HelloWorldexit");}module_init(hello_init);module_exit(hello_exit);MODULE_AUTHOR("BarrySong<21cnbao@gmail.com>");MODULE_LICENSE("DualBSD/GPL");MODULE_DESCRIPTION("AsimpleHelloWorldModule");MODULE_ALIAS("asimples

3、tmodule");把所有的组件都翻译进内核文件,即生成zImage或bzImage(1)进入linux-2.6.32.2-mini2440内核(2)进入/drivers建立Hello文件夹,在Hello文件夹里面建立hello.c,Makefile,KconfigMakefiel:obj-y(CONFIG_HELLO_WORD)+=hello.oKconfig:confighello_wordtristate"TESThelloword"helpusuallyyouhavetomake(3)在drivers里面的Makefile添加:obj-y(CONFIG_HELLO_WO

4、RD)+=Hello/(4)在drivers里面的Kconfig添加source"drivers/Hello/Kconfig"(5)输入makemenuconfig进入内核配置界面(6)然后输入y退出并保存(7)生成了.config文件为配置的记录(8)在makebzImage进行编译内核(9)然后在arch/arm/boot/下生成bzImage动态加载:直接编译成PC机X86的内核模块(1)模块加载函数:insmod;模块卸载函数:rmmod;查看模块函数:lsmod(2)模块可选信息:模块参数、模块导出符号、模块作者等信息声明(3)在/work里面加入hello.c文件和

5、Makefile文件Makefile的内容为:ifneq($(KERNELRELEASE),)obj-m:=hello.o和要编译的模块的名字一致elseKDIR:=/lib/modules/3.5.0-17-generic/build以便寻找内核源码目录下的Mmakefileall:make-C$(KDIR)M=$(PWD)modules用KDIR目录下的Makefile来编译当前目录下的模块clean:rm-f*.ko*.o*.mod.o*.mod.c.symversendif(4)、执行make命令(5)、然后查看hello文件夹生成hello.ko文件(6)执行insm

6、odhello.ko进行加载模块:(7)lsmod查看模块查看加载模块输出信息(8)删除rmmod模块(9)查看删除模块输出信息(10)这样,就完成了对模块的添加和删除。总结:通过对Linux内核模块的添加和删除实验,我学会了关于内核添加和删除的很多相关知识,首先,把组件编译进内核中,如果建立的一个文件夹,需要使建立的文件夹里的Kconfig和Makefile生效,需要在上一级目录里修改Kconfig和Makefile,这样才能使新建立的Kconfig和Makefile生效。其次,在模块动态加载到内核过程中,常常会出现不成功的时候,通过问老师,知道了是版本的问题,使得模块加载不

7、成功。我会在以后的学习过程中,加强这方面的学习,提高这方面的技能,让自己所学得到运用。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。