从 2.6 内核升级到 3.5 内核后,Raid 系统无法启动

从 2.6 内核升级到 3.5 内核后,Raid 系统无法启动

我正在运行带有自定义编译内核的 Gentoo Linux,并且刚刚从 2.6 内核迁移到 3.5。

由于我的硬盘处于 RAID 0 模式,因此我使用自定义 initrd 文件来启动。虽然内核 2.6 能够顺利启动,但新的 3.5 编译内核却无法启动,并出现错误no block devices found。查看所initrd.cpio包含的脚本后,我发现工具给出了失败消息mdadm

有人知道这件事吗?

编辑:今天早上我注意到我的旧 initrd 出现了某种问题,它在 2.6 内核下运行良好,因此创建了一个运行良好的新 initrd,并让我用相同的 3.5 bzImage 启动到 GNU/Gentoo Linux。

这可能是 mdadm 的问题,我要检查一下。

https://bugs.gentoo.org/show_bug.cgi?id=416081

答案1

新的内核通常需要新的 initrd。

生成的 (genkernel) initrd 中有一个scandelay=<seconds>引导参数,过去它对我很有用。在我的一个机器上,mdadm 在所有设备可用之前运行,无法组装根分区所在的 /dev/mdX 设备。

如果我理解正确的话(从查看/usr/share/genkernel/defaults/initrd.scripts),scandelay 会强制脚本在 udev 稳定下来之前、在组装任何软件阵列之前以及在尝试挂载真正的根分区之前挂起。

尝试 3-10 秒的扫描延迟。

相关内容