我需要在 RHEL 5 系统上升级内核以使用一些实验性驱动程序进行构建。我已经为内核配置了 LVM(dm_*
模块)的模块加载。一旦 initrd 运行该/init
脚本,LVM 安装过程就会失败。
驱动器配置有 LVM(包括根设备),因此在 init 期间,它会安装它们并执行switchroot
.
我该怎么做才能理解lvmscan
失败的原因?
答案1
所以我弄清楚了问题所在:Red Hat 的mkbldevs
init 脚本中initrd.img
无法创建块设备。如果没有任何块设备,LVM 就无法安装驱动器。我安装了 BusyBox 并制作了一个自定义 initrd ,在 shell 中我注意到脚本mkblkdevs
调用的内容/bin/nash
没有 make /dev/sd*
。我想您可以手动使用mknod
来创建块设备,但搜索发现需要内核参数。
这是内核参数:
CONFIG_SYSFS_DEPRECATED_V2=y
您可以手动设置.config
或浏览到“常规设置”下的make menuconfig
。
我现在可以启动我构建的各种内核。