您的位置:首页 > 其它

安装Dahdi模块出现insmod: can't insert 'dahdi.ko': unknown symbol in module or invalid parameter

2014-12-01 15:58 1706 查看
从Digitum官网下载的dahdi源代码,编译完成后,安装dadhi时出现错误:

#insmod dahdi.ko

dahdi: Unknown symbol crc_ccitt_table

insmod: can't insert 'dahdi.ko': unknown symbol in module or invalid parameter

找原因...

于是查看虚拟机下是否有这个内核符号。

#cat /proc/kallsyms |grep "crc_ccitt"

f8caa260 r __ksymtab_crc_ccitt  [crc_ccitt]

f8caa278 r __kstrtab_crc_ccitt  [crc_ccitt]

f8caa270 r __kcrctab_crc_ccitt  [crc_ccitt]

f8caa268 r __ksymtab_crc_ccitt_table    [crc_ccitt]

f8caa282 r __kstrtab_crc_ccitt_table    [crc_ccitt]

f8caa274 r __kcrctab_crc_ccitt_table    [crc_ccitt]

f8caa292 r _rheldata    [crc_ccitt]

f8caa2a0 d __this_module        [crc_ccitt]

f8caa000 T crc_ccitt    [crc_ccitt]

说明虚拟机下有这个模块。然后继续寻找:

#modinfo crc_ccitt

filename:       /lib/modules/2.6.32-220.el6.i686/kernel/lib/crc-ccitt.ko

license:        GPL

description:    CRC-CCITT calculations

srcversion:     2294FCAD06D727386004EEB

depends:

vermagic:       2.6.32-220.el6.i686 SMP mod_unload modversions 686

原来crc_ccitt内核符号是在/lib/modules/2.6.32-220.el6.i686/kernel/lib/crc-ccitt.ko里面。

查看Linux内核源代码发现默认是没有编译进内核而是模块形式。

#make menuconfig

   ---> library routines

          --->CRC_CCITT funcitons

选中编译进内核即可或者设为模块形式。

于是拷贝这个模块到开发板中,先安装此模块,然后再安装dahdi.ko即可成功。

#insmod crc-ccitt.ko

#insmod dahdi.ko
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐