2.6.28内核中加载sctp模块的问题.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.6.28内核中加载sctp模块的问题

2.6.28内核中安装sctp模块的问题曾经在之前的较早的几个内核版本(2.6.12 和2.6.18)中修改过sctp的代码,当时编译sctp模块就直接用make CONFIG_IP_SCTP=m -C /usr/src/linux-2.6.28 M=/usr/src/linux-2.6.28/net/sctp modules然后insmod sctp.ko就ok了但是在比较新的内核2.6.28中,修改了部分源代码后,编译通过了,但是insmod sctp.ko 时报错:insmod: error inserting sctp.ko: -1 Unknown symbol in module dmesg打印出的信息是:sctp: Unknown symbol crc32c_le 原以为是自己修改的代码中含有了未知的函数或符号,将所有新引入的的函数都使用EXPORT_SYMBOL导出后依然是有这个错误!!后来使用了modprobe,居然安装成功了,lsmod |grep sctp之后可见:sctp 163480 2libcrc32c 6528 1 sctpipv6 230352 27 sctp从左到右依次是:模块名、模块大小、被....使用ipv6模块应该是编译进内核的,libcrc32c在2.6.28中应该是动态加载的所以,问题出在了这里,在编译内核前,将crc32c编译进内核应该就可以直接insmod sctp.ko了参考:------------------------------------------------------------/wenlifu71022/archive/2009/06/10/4256196.aspx linux设备驱动有两种加载方式insmod和modprobe,下面谈谈它们用法上的区别1、insmod一次只能加载特定的一个设备驱动,且需要驱动的具体地址。写法为: insmod drv.ko2. modprobe则可以一次将有依赖关系的驱动全部加载到内核。不加驱动的具体地址,但需要在安装文件系统时是按照make modues_install的方式安装驱动模块的。驱动被安装在/lib/modules/$(uname -r)/...下。写法为: modprob drv------modprobe 和insmod一样都是用来加载内核module的不过modprobe比较智能,它可以根据module的依赖性来自动为你加载;而insmod就做不到这点/future_fighter/archive/2009/02/04/3862795.aspx lsmod 功能:列出内核已载入模块的状态用法:lsmod描述: lsmod 以美观的方式列出/proc/modules的内容。输出为: Module(模块名) Size(模块大小) Used by(被...使用)eg. ne2k_pci 8928 0 8390 9472 1 ne2k_pci在/proc/modules中相应的是: (模块名,模块大小,被...使用,模块地址(猜的,以后确认)) ne2k_pci 8928 0 - Live 0x3086400 8390 9472 1 ne2k_pci , Live 0xe086000depmod 功能:分析可加载模块的依赖性,生成modules.dep文件和映射文件。用法:depmod [-b basedir] [-e] [-F System.map] [-n] [-v] [version] [-A] depmod [-e] [-F System.map] [-n] [-v] [version] [filename...]描述: Linux内核模块可以为其它模块提供提供服务(在代码中使用EXPORT_SYMBOL),这种服务被称作symbols。若第二个模块使用了这个symbol,则该模块很明显依赖于第一个模块。这些依赖关系是非常繁杂的。 depmod读取在/lib/modules/version 目录下的所有模块,并检查每个模块导出的symbol和需要的symbol,然后创建一个依赖关系列表。默认地,该列表写入到/lib/moudules /version目录下的modules.dep文件中。若命令中的filename有指定的话,则仅检查这些指定的模块(不是很有用)。若命令中提供了version参数,则会

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档