Problema de ovo de galinha em Linux e Initrd

Problema de ovo de galinha em Linux e Initrd
O que é problema de verificação/ovo.

Problema de frango/ovo ocorreu no processo de inicialização do Linux. Um kernel Linux exigia módulos para montar a partição raiz que normalmente usa o sistema de arquivos ext3, LVM, RAID, etc. Todos os módulos Linux reside no diretório/var/lib/($ uname -r), mas o kernel Linux não conseguiu acessá -los sem montá -lo. Portanto, o problema era que os módulos de acesso do kernel Linux necessários para montar a partição raiz.

Como o kernel Linux consegue resolver

O carregador de bota Grub e o kernel Linux trabalham juntos para resolver esse problema usando o disco inicial de RAM (initrd), que faz parte da especificação do grub para um kernel Linux.

Um disco RAM inicial (initrd) é específico para uma plataforma de hardware e software específica. É criado no tempo de instalação do sistema e inclua módulos que precisam montar o sistema de arquivos.

Recrie o arquivo initrd

Algumas vezes precisamos recriar o arquivo initrd. mkinitrd Cria uma imagem inicial do disco RAM usada pelo kernel para pré -carregar os módulos de dispositivo de bloco (como IDE, SCSI ou RAID) que são necessários para acessar o sistema de arquivos raiz.

# mkinitrd -f /boot /initrd -$ (uname -r).img $ (uname -r) 
  • O primeiro argumento é a localização da imagem initrd.
  • O segundo argumento informa o nome do diretório em/var/lib/que contém módulos.

Também é possível forçar a adição de módulo específico no arquivo de imagem initrd usando -with -chave -chave.

# mkinitrd ---with = scsi_mod -f /boot /initrd -$ (uname -r).img $ (uname -r) 

Este artigo é baseado nos sistemas RHEL/CENTOS 5. O diretório de módulos do sistema RHEL/CENTOS 6 é diferente de 5.