码迷,mamicode.com
首页 > 其他好文 > 详细

insmod hello.ko -1 Invalid module format最简单的解决办法

时间:2014-11-09 16:40:55      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:linux   内核   模块   加载   

我也是从网上看到的这种解决办法。

遇到这种情况后,通过dmesg看一下内核日志。

如果发现有如下日志,那就好办了。

hello: version magic ‘2.6.33.3 ‘ should be ‘2.6.33.3-85.fc13.i686.PAE SMP mod_unload 686 ‘

修改内核源码文件include/linux/vermagic.h

把如下VERMAGIC_STRING宏的定义删掉

#define VERMAGIC_STRING \
UTS_RELEASE " " \
MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
MODULE_ARCH_VERMAGIC


然后,从新定义一个VERMAGIC_STRING宏

#define VERMAGIC_STRING  "should be ‘2.6.33.3-85.fc13.i686.PAE SMP mod_unload 686 "

注意,双引号中的内容,要与dmesg输出的日志中should be后面的单引号中的内容,完全相同,别漏掉了那个空格哦。


好了,现在重新编译一下你的模块,再加载一次吧。

基本上应该会OK啦。

insmod hello.ko -1 Invalid module format最简单的解决办法

标签:linux   内核   模块   加载   

原文地址:http://blog.csdn.net/crazycoder8848/article/details/40950317

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!