Então eu descobri qual era o problema: mkbldevs da Red Hat no script de inicialização do initrd.img estava falhando ao fazer os dispositivos de bloco. Sem nenhum dispositivo de bloco, o LVM não conseguiu montar unidades. Eu instalei o BusyBox e fiz um initrd personalizado e, enquanto estava no shell, notei que mkblkdevs chamado pelo script /bin/nash não fez /dev/sd* . Suponho que você poderia usar manualmente o mknod para criar os dispositivos de bloco, mas uma pesquisa descobriu que um parâmetro do kernel era necessário.
Este é o parâmetro do kernel:
CONFIG_SYSFS_DEPRECATED_V2=y
Você pode configurá-lo em .config manualmente ou navegar em "Configuração geral" em make menuconfig .
Agora posso inicializar vários kernels que construí.