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啦。

时间: 2024-11-09 00:47:13

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_REL

insmod: error inserting 'simp-blkdev.ko': -1 Invalid module format

(一) 今天写了个块设备驱动例子,在虚拟机上加载模块insmod simp_blkdev.ko的时候,出现以下错误. insmod: error inserting 'simple-blk.ko': -1 Invalid module format 其实错误很简单,Makefile的编写失误,因为之前是想让这个驱动模块在TQ2440上运行的,所以,Makefile的编写使用了以下形式: ifneq ($(KERNELRELEASE),) obj-m := simp_blkdev.o else K

insmod: error inserting 'hello.ko': -1 Invalid module format

在学习编写linux驱动程序的时候,一般都是从写一个helloworld的模块开始.但是在编译完成后,进行模块加载的时候,有时会出现如下错误: insmod: error inserting 'hello.ko': -1 Invalid module format 其实,出现这个问题的原因很简单,就是:编译的内核版本与实机运行的内核版本不一致. 所以解决起来也很简单,实机运行的系统的代码树位置一般在/usr/src/kernels.只要将Makefile中的代码树改成实际运行的内核代码即可. i

insmod: error inserting : -1 Invalid module format

Linux(Ubuntu)添加module提示错误 原因:所用内核版本号和正在运行的版本号不对应. 解决方案:重新编译你用的内核,然后安装内核 怎么编译和升级内核,请参见 http://blog.csdn.net/robinsonmhj/article/details/41720835 另外的解决方案请参见 http://m.blog.csdn.net/blog/zyj_123456789/17288823 http://askubuntu.com/questions/14627/no-symb

No module named yum错误的解决办法

今天用yum安装软件的时候出现如下错误: There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum Please install a package which provides this module, or verify that the module is installed c

机器学习在用到mnist数据集报错No module named 'tensorflow.examples.tutorials'解决办法

检查一下安装有tensorflow包的目录下的examples这个文件夹. 每个人的文件路径是不同的,我的在...\Python3\Lib\site-packages,该目录下有文件夹tensorflow, tensorflow_core, tensorflow_estimator等文件夹.进入tensorflow文件夹,里面发现一个examples文件夹,但是文件夹下只有saved_model这个文件,没有找到tutorials. 接下来我们进入github的tensorflow主页下载缺失的

CentOS安装Nginx 报错“configure: error: the HTTP rewrite module requires the PCRE library”解决办法

错误提示: ./configure: error: the HTTP rewrite module requires the PCRE library. 安装pcre-devel与openssl-devel解决问题 yum -y install pcre-devel openssl openssl-devel ./configure --prefix=/usr/local/nginx make make install

Invalid bound statement (not found) 终极解决办法

网上已经有很多文章说明可能导致这个报错的原因,无非是以下几种:1.检查xml文件的namespace是否正确 2.Mapper.java的方法在Mapper.xml中没有,然后执行Mapper的方法会报此 3.xxxMapper.java的方法返回值是List,而select元素没有正确配置ResultMap,或者只配置ResultType 4.如果你确认没有以上问题,请任意修改下对应的xml文件,比如删除一个空行,保存.问题解决 5.看下mapper的XML配置路径是否正确 如果全部检查了一遍

mybatis-plus invalid bound statement (not found) insert解决办法

使用mybatis-plus时,使用IService.insert方法时,提示找不到insert方法,原因是,mybatis-plus提供了两个BaseMapper和IService. 改成引用import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.core.mapper.BaseMapper; insert改为save即可 原文地址:https://www.cnblo