【问题标题】:Error inserting scsi_wait_scan - Invalid module format插入 scsi_wait_scan 时出错 - 模块格式无效
【发布时间】:2012-12-18 08:42:05
【问题描述】:

系统是CentOS 6.3。

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

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

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

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

有没有办法从内核本身中提取 symvers

【问题讨论】:

    标签: linux linux-kernel boot initrd


    【解决方案1】:

    我找到了问题。

    简答

    问题是我在已经安装的内核 rpm (A) 上安装了内核 rpm (B), 没有先删除它。

    详细解答

    scsi_mod.ko 仅归 (A) 所有。安装 (B) 时,scsi_mod.ko 在 /lib/modules/ 中。 在 (B) 的安装后脚本中创建 inramfs 时。 depmod 决定 scsi_wait_scan.ko 依赖于 scsi_mod.ko,而两者都针对不同的配置进行构建。

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

    【讨论】:

    • 当您安装相同的内核 rpm 两次时,没有单独的模块目录。例如 /lib/modules//.. 和 /lib/modules//...
    猜你喜欢
    • 2016-03-26
    • 2015-08-01
    • 2021-08-18
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 2020-11-03
    相关资源
    最近更新 更多