insmod不匹配问题的解决

         第一次练习写模块,使用insmod安装模块时,发现内核版本不匹配,你可以baidu或者google下,有很多解决方案,但是我这种不匹配错误有点不太一样,不管我在开发板上uname -r查看运行linux内核版本,还是用modinfo来查看编译模块版本都是显示的3.0.8,很奇怪内核版本一样的的怎么还会报错呢。


/mnt/work # uname -r                                                            
3.0.8 


chen@chen:~/work/project/LinuxCross/my6410/nfs/work$ modinfo first_drv.ko
filename:       first_drv.ko
depends:        
vermagic:       3.0.8 mod_unload modversions ARMv6


再看insmod的错误提示

# insmod first_drv.ko                                                       
  insmod: kernel-module version mismatch                              
  first_drv.ko was compiled for kernel version                       
  while this kernel is version 3.0.8


我发现我的错误提示和别人的错误提示不一样,就是我的ko内核版本并没有显示出来 (for kernel version后面没有版本号),所以我就推测可能是insmod函数本身出了错误,因为yaffs2文件系统是我自己做的,所以我觉得busybox和glibc的不匹配的可能很大,为了证明这个猜测,我将glibc从2.3.5换成了2.8,重新制作yaffs2文件系统,烧写进去,启动,挂载nfs,再insmod ***.ko

ok,问题解决了!


最后为制作YAFFS2文件系统的朋友给个建议,就是编译busybox使用的交叉编译工具一定要和yaffs2的glibc版本匹配(就是lib目录的库),不然yaffs2起不来的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值