Qual é a diferença entre initrd e initramfs?


12

Gostaria de saber qual a diferença entre initrde initramfs?

Respostas:


12

O Initrd foi descontinuado, substituído pelo Initramfs, que não possui alguns dos pontos fracos do initrd:

  • O Initrd requer que pelo menos um driver de sistema de arquivos seja compilado no kernel
  • Um disco criado pelo Initrd precisa ter um tamanho fixo
  • Todas as leituras / gravações no Initrd são armazenadas em buffer de forma redundante (desnecessariamente) na memória principal

Eu acho que isso é tudo.


Como esse comando update-initramfs gera /boot/initrd.img?

Ele transforma os arquivos necessários em um cpio arquivo morto , que é um formato de arquivo binário (muito semelhante ao tar, não é amplamente utilizado no Linux) e, em seguida, usa o gzip para compactar esse arquivo morto. O gzip não é um arquivo compactado, apenas uma compactação (é por isso que você obtém arquivos .tar.gz).

No momento da inicialização, o arquivo é descompactado e descompactado em um    disco ram .

Veja também: Como um computador é inicializado


"O Initrd requer que pelo menos um driver de sistema de arquivos seja compilado no kernel". Eu tenho muita idéia disso. Poderia explicar isso??
— Sen

Normalmente, os drivers do sistema de arquivos podem ser aparafusados ​​no sistema operacional à vontade, para algumas coisas eles precisam ser compilados diretamente no kernel. O que é chato, já que todas as versões do kernel precisam ser personalizadas, aumentar, introduzir dependências adicionais e assim por diante. (Pelo menos é o que eu acredito ser o caso, pode muito bem estar errado, eu não tenho um grande conhecimento sobre sistemas de arquivos especificamente)
— Stefano Palazzo

É como o initramfs não precisa ser montado inicialmente?
— Sen

Todos os sistemas de arquivos precisam ser montados antes de poderem ser utilizados. Se você quiser aprender mais sobre o initramfs, dê uma olhada em en.wikipedia.org/wiki/Initrd - há uma explicação muito mais detalhada.
— Stefano Palazzo

Como esse comando update-initramfs gera /boot/initrd.img?
— Sen

3
  • O initrd foi baseado em dispositivo de bloco, o initramfs é a base de arquivos.

  • com o initrd, você criou uma imagem do sistema de arquivos. com o initramfs, você cria um archive com os arquivos que o kernel extrai para um tmpfs.


você poderia me explicar as etapas desde o início até o carregamento e a leitura do initramfs?
— Sen
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.