Linux 插入scsi\u等待\u扫描时出错-模块格式无效

Linux 插入scsi\u等待\u扫描时出错-模块格式无效,linux,linux-kernel,boot,initrd,Linux,Linux Kernel,Boot,Initrd,该系统是CentOS 6.3 我编译了一个新内核,并在目标机器上安装了生成的rpm。 当从内核启动时,我收到了问题标题中的错误 我提取了相应的initramfs并比较了以下输出: modprobe --dump-modversions /path/to/scsi_wait_scan.ko 在相应的/boot/符号中有条目。所有符号校验和匹配,包括模块布局的校验和 有没有办法从内核本身提取符号呢?我发现了这个问题 简短回答 问题是我安装的内核rpm(B)超过了已经安装的内核rpm(A),

该系统是CentOS 6.3

我编译了一个新内核,并在目标机器上安装了生成的rpm。 当从内核启动时,我收到了问题标题中的错误

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

   modprobe --dump-modversions /path/to/scsi_wait_scan.ko
在相应的/boot/符号中有条目。所有符号校验和匹配,包括模块布局的校验和


有没有办法从内核本身提取符号呢?

我发现了这个问题

简短回答

问题是我安装的内核rpm(B)超过了已经安装的内核rpm(A), 没有先把它取下来

详细答案

scsi_mod.ko
仅由(A)所有。安装(B)时,
scsi_mod.ko
位于/lib/modules/中。 当在(B)的postinstall脚本中创建INTERMFS时。depmod决定
scsi\u wait\u scan.ko
取决于
scsi\u mod.ko
,而两者都是根据不同的配置构建的


稍后启动机器时,内核开始运行initramfs。这反过来又修改了scsi\u wait\u scan.ko。modprobe尝试加载为一致性
scsi_mod.ko
,这不适合当前内核,因此导致我看到的错误。

当您两次安装同一内核rpm时,没有单独的模块目录。例如/lib/modules/。。和/lib/modules/。。。