插入scsi_wait_scan时出错-无效的模块格式 [英] Error inserting scsi_wait_scan - Invalid module format

查看:179
本文介绍了插入scsi_wait_scan时出错-无效的模块格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

系统是CentOS 6.3.

The system is CentOS 6.3.

我已经编译了一个新内核,并将生成的rpm安装在目标计算机上. 从内核启动时,我在问题标题中收到错误消息.

I've compile a new kernel and the resulting rpm installed on a target machine. When booting from the kernel I've receive the error in a title of the question.

我已经提取了相应的initramfs并比较了以下内容的输出:

I've extracted corresponding initramfs and compared output of:

   modprobe --dump-modversions /path/to/scsi_wait_scan.ko

在相应的/boot/符号-*中带有条目.所有符号校验和都适合,包括 module_layout .

with entries in corresponding /boot/symvers-*. All symbols checksums fit, including of module_layout.

是否可以从内核本身提取符号?

Is there a way to extract symvers from kernel itself?

推荐答案

我发现了问题.

简短答案

问题是我安装了内核rpm(B)而不是已经安装的内核rpm(A), 而不先删除它.

The problem was that I installed kernel rpm (B) over already installed kernel rpm (A), without removing it first.

详细答案

scsi_mod.ko仅由(A)拥有.安装(B)时,scsi_mod.ko位于/lib/modules/中. 在(B)的安装后脚本中创建intramfs时. depmod决定scsi_wait_scan.ko依赖于scsi_mod.ko,而两者均基于不同的配置进行构建.

scsi_mod.ko was owned only by (A). While installing (B), scsi_mod.ko was in /lib/modules/. When intramfs was created in (B)'s postinstall script. depmod decided that scsi_wait_scan.ko depends on scsi_mod.ko, while both build against different configurations.

稍后启动计算机时,内核开始运行initramfs.依次修改scsi_wait_scan.ko.尝试将modprobe作为征服scsi_mod.ko加载,这不适用于当前内核,因此导致我看到的错误.

Later when booting the machine, kernel started run initramfs. This in turn modprob'ed scsi_wait_scan.ko. modprobe tried loaded as a consiquence scsi_mod.ko, which is not appropriate to the current kernel, thus resulting to error I saw.

这篇关于插入scsi_wait_scan时出错-无效的模块格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆