Construído um novo kernel, o LVM não é montado a partir do initrd

1

Eu preciso atualizar meu kernel em um sistema RHEL 5 para construir com alguns drivers experimentais. Eu configurei o kernel com o carregamento do módulo para o LVM ( dm_* modules). Quando o initrd executa o script /init , o procedimento de montagem do LVM está falhando.

As unidades são configuradas com o LVM (incluindo o dispositivo raiz), portanto, durante o init, ele é montado e executa switchroot .

O que posso fazer para entender por que o lvmscan está falhando?

    
por user3275885 14.07.2014 / 21:21

1 resposta

1

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í.

    
por 16.07.2014 / 15:31