Построенное новое ядро, LVM не будет монтироваться из initrd

Мне нужно обновить мое ядро ​​в системе RHEL 5, чтобы построить с некоторыми экспериментальными драйверами. Я сконфигурировал ядро ​​с загрузкой модуля для LVM (модулей dm_* ). Когда initrd запускает сценарий /init , процедура установки LVM не работает.

Диски сконфигурированы с LVM (включая корневое устройство), поэтому во время init он монтирует их и выполняет switchroot .

Что я могу сделать, чтобы понять, почему lvmscan не работает?

Поэтому я понял, в чем проблема: в mkbldevs от Red Hat в mkbldevs init initrd.img не удалось выполнить блок-устройства. Без каких-либо блочных устройств LVM не смогла подключить диски. Я установил BusyBox и создал пользовательский initrd, и в то время как в оболочке я заметил, что mkblkdevs вызванный mkblkdevs /bin/nash , не сделал /dev/sd* . Я предполагаю, что вы могли вручную использовать mknod для создания блочных устройств, но при поиске обнаружил, что необходим параметр ядра.

Это параметр ядра:

 CONFIG_SYSFS_DEPRECATED_V2=y 

Вы можете установить его в .config вручную или перейти в .config «Общая настройка» в make menuconfig .

Теперь я могу загружать различные ядра, которые я создал.