我有一个老旧但很受喜爱的 Fedora Core 6 盒子,我正在尝试为其编译一个比 2.6.22 更新的内核,以便我可以使用它对 eSATA 卡的支持。
我的 Fedora 机箱有一对 500G 磁盘,并使用 LVM2 将大部分内容集中到一个大型根文件系统中。它们一起构成 /dev/mapper/VolGroup00-LogVol00。所有内核都位于 /boot 中,而 /boot 位于更传统的 /dev/sda1 上。
一旦较新的内核启动,它很快就会找不到 /dev/mapper/VolGroup00-LogVol00 并出现恐慌,抱怨它找不到 /dev/root。
我使用配置文件“/boot/config-2.6.22.14-72.fc6”作为灵感构建了我的内核,希望可以设置我需要的任何神秘开关,但到目前为止都是徒劳的。
我正在抵制升级某些较新东西的冲动,因为这就像是一记重锤,可以砸碎一个很小的鸡蛋。
欢迎大家提供线索和嘘声,
M.
答案1
听起来你没有将设备映射器内置到内核中,作为模块或可能内置到新内核的 initrd 文件中以供启动时使用。检查你的配置中的 _DM 选项:
CONFIG_BLK_DEV_DM=y
CONFIG_DM_DEBUG=y
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
CONFIG_DM_UEVENT=y
如果它是作为模块构建的,请将其切换为内置或使用“mkinitrd --with=dm_mod”(原文如此)将其放入其中。
答案2
最终的答案是在 .config 中进行设置
CONFIG_SYSFS_DEPRECATED_V2=y