加载模块报错:version magic '2.6.32-504.el6.i686 SMP mod_unload 686 ' should

在之前我也遇到这个问题,后来我解决了,但是当时没有记录下来,现在又遇到了,害我整了半天,所以现在记录下,供以后参考;

我开始的加载模块的时候报这样的错误:

hello: module_layout: kernel tainted.
Disabling lock debugging due to kernel taint
hello: version magic '2.6.32-504.el6.i686 SMP mod_unload 686 ' should be '2.6.32-504.el6.i686 SMP mod_unload modversions 686 '

前面两行错误是内核污染,一般是验证时没通过,或者没有干脆就没有写MODULE_LICENSE()验证。我开始写的是MODULE_LICENSE("Dual BSD/GPL");  验证通不过,后来我改成:MODULE_LICENSE("GPL");
 就可以了(其实感觉开始那个验证也是可以的,后来我又实验了下)。

至于第二个错误是,你内核树版本和你运行的内核版本不一致导致的。可以参考下这位仁兄的:http://blog.sina.com.cn/s/blog_752fa65f0100p6wc.html;以及这位仁兄的:http://blog.sina.com.cn/s/blog_6e5e78bf010105jj.html

我这里就分享下我的解决方法和步骤(其实和那位仁兄提到的一样);

第一步、看看你运行内核的版本:ls /usr/src/kernels/2.6.32-504.12.2.el6.i686/  ;这里面存放的是你内核相应版本的源代码,这是我个人理解的。因为开始/usr/src/kernel/目录下什么都没有,我是通过命令:yum install kernel-headers kernel-devel gcc获取到的。可以通过rpm -qa | grep ‘kernel‘ 命令来查看下这些内核相关包;也可以用uname -r 命令来查看下你内核版本的信息;但是很奇怪的是我用uname
-r 得到的版本信息和/usr/src/kernel/下面的不一样,这个希望知道的兄弟告诉下。(可能是uname -r显示的是运行版本号,而不是内核详细版本号);

下面是 rpm -qa | grep ‘kernel‘ 命令显示的:

kernel-2.6.32-504.el6.i686
kernel-headers-2.6.32-504.12.2.el6.i686
kernel-firmware-2.6.32-504.el6.noarch
dracut-kernel-004-356.el6.noarch
kernel-devel-2.6.32-504.12.2.el6.i686

第二步、查看下你内核源码树, ls /lib/modules/2.6.32-504.el6.i686/ -l  ;下面只贴两个软连接的文件

lrwxrwxrwx.  1 root root     25 Apr 11 09:52 build -> /home/kernel/linux-2.6.32
lrwxrwxrwx.  1 root root     25 Apr 11 09:52 source -> /home/kernel/linux-2.6.32

我做的源码树的内核为:linux-2.6.32;

第三步、在Makefile文件中修改下配置,修改完如下:

obj-m:=hello.o

#KERDIR=/lib/modules/$(shell uname -r)/build
KERDIR=/usr/src/kernels/2.6.32-504.12.2.el6.i686

CURDIR=$(shell pwd)

all:
         make -C $(KERDIR) M=$(CURDIR) modules

clean:
        make -C $(KERDIR) M=$(CURDIR) clean

现在基本上是可以了;其他解决办法可以看看上面给的那位仁兄的链接;

如有错误,请大家指正,共同成长嘛。谢谢!!

加载模块报错:version magic '2.6.32-504.el6.i686 SMP mod_unload 686 ' should

时间: 2024-08-28 06:55:19

加载模块报错:version magic '2.6.32-504.el6.i686 SMP mod_unload 686 ' should的相关文章

python 加载excel报错

from pandas import Series, DataFrame import pandas as pd import numpy as np import os import sys reload(sys) sys.setdefultencoding('utf-8') file1=pd.read_excel('F:/dataanalysis/statistics/PelicanStores.xlsx') Python 加载excel报错: IndexError: list index

kettle登录加载job 报错 Can't find Job 1

报错原因: Job 1是临时的新建job,我没保存数据库中,或本地文件,所以加载时找不到文件 解决方法: 目录C:\Documents and Settings\Administrator\.kettle\中有个.spoonrc文件 kettle启动会加载.spoonrc文件, 该文件中保存kettle的配置信息,包括启动时要加载哪些文件 删掉对应的 Job 1的键值对就行了,记得要调整相应键值计数. 我的环境中 tabfile1=Job 1 tabfile2=\u5237\u65B0\u5B9

dojo加载树报错

1.错误描述    error loading undefined children.    TypeError:this._arrayOfTopLevelItems is undefied. 2.错误原因 3.解决办法 dojo加载树报错

CentOS重新加载网卡报错 Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/23

重新加载网卡时出现的错误如下: 1 [[email protected] dev]# service network restart 2 Shutting down interface eth0: Device state: 3 (disconnected) 3 [ OK ] 4 Shutting down interface eth1: [ OK ] 5 Shutting down interface eth2: Device state: 3 (disconnected) 6 [ OK ]

Unity3D 5.0版本 加载dll报错, 换用4.5 版本可以正确运行与导出(x86版本)

在Unity3D环境下测试UnityWebCore和awesomium等用来在Unity中显示网页的插件时, 发现总是不能加载dll文件. Win64环境, Unity5.0(64bit) 报错内容如下: Failed to load 'Assets/Plugins/awesomium.dll', expected 64 bit architecture (IMAGE_FILE_MACHINE_AMD64), but was IMAGE_FILE_MACHINE_I386. 网上的回答都是说该d

maven加载ojdbc14报错

问题复现步骤: 1.在pom.xml里面添加ojdbc14的依赖,代码如下: <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.2</version></dependency> 2.执行mvn install报如下错误: [ERROR] Failed to execute goa

通过CImageList加载图标 报错

错误代码: <span style="white-space:pre"> </span><pre name="code" class="cpp"><span style="white-space:pre"> </span>CImageList m_ProcessImg ;//全局变量 必须声明为全局变量(.h文件中),否则无效 <span style="

eclipse 加载插件报错 org.eclipse.mylyn.java.tasks

在eclipse 中点按住Ctr 键的时候报以下这个错, The 'org.eclipse.mylyn.java.hyperlink.detector.stack' extension from plug-in 'org.eclipse.mylyn.java.tasks' to the 'org.eclipse.ui.workbench.texteditor.hyperlinkDetectors' extension point failed to load the hyperlink dete

KVM http网络加载镜像报错(mount: wrong fs type, bad option, bad superblock on /dev/loop0)

curl: (23) Failed writing body (7818 != 16384)loop: module loadeddracut-initqueue[579]: mount: wrong fs type, bad option, bad superblock on /dev/loop0dracut-initqueue[579]: missing codepage or helper program, or other errordracut-initqueue[579]: In s