构建新内核,LVM 不会从 initrd 挂载

构建新内核,LVM 不会从 initrd 挂载

我需要在 RHEL 5 系统上升级内核以使用一些实验性驱动程序进行构建。我已经为内核配置了 LVM(dm_* 模块)的模块加载。一旦 initrd 运行该/init脚本,LVM 安装过程就会失败。

驱动器配置有 LVM(包括根设备),因此在 init 期间,它会安装它们并执行switchroot.

我该怎么做才能理解lvmscan失败的原因?

答案1

所以我弄清楚了问题所在:Red Hat 的mkbldevsinit 脚本中initrd.img无法创建块设备。如果没有任何块设备,LVM 就无法安装驱动器。我安装了 BusyBox 并制作了一个自定义 initrd ,在 shell 中我注意到脚本mkblkdevs调用的内容/bin/nash没有 make /dev/sd*。我想您可以手动使用mknod来创建块设备,但搜索发现需要内核参数。

这是内核参数:

CONFIG_SYSFS_DEPRECATED_V2=y

您可以手动设置.config或浏览到“常规设置”下的make menuconfig

我现在可以启动我构建的各种内核。

相关内容