首页 > 代码库 > insmod hello.ko -1 Invalid module format最简单的解决办法
insmod hello.ko -1 Invalid module format最简单的解决办法
我也是从网上看到的这种解决办法。
遇到这种情况后,通过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最简单的解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。