Qual é a diferença entre o initramfs e o sistema de arquivos principal atual?

1

O initramfs é um sistema de arquivos temporário usado para inicializar o sistema e, em seguida, passa o controle para a raiz após montá-lo. A razão pela qual eu não posso simplesmente usar os ramfs para fazer coisas é que qualquer coisa que você salvar não fica, ele é apagado toda vez que você reinicia.

Mas um sistema de arquivos raiz que é montado pode ser gravado e lembrado de coisas, mesmo que você desligue a energia. Por que é isso? Como os rootfs podem registrar as mudanças, mas o initramfs não pode?

Mais importante, onde esta raiz supostamente deveria ser? Eu estou olhando na partição raiz e vejo o uinitfs.image, mas não vejo nenhum outro arquivo que deveria ser o sistema de arquivos raiz que eu vou montar. Onde isso é armazenado fisicamente?

    
por Zephyr 22.06.2016 / 21:15

1 resposta

1

O initramfs é uma imagem compactada, normalmente armazenada em /boot (por exemplo, na minha máquina do CentOS 7, eu tenho /boot/initramfs-3.10.0-327.18.2.el7.x86_64.img ). Isso pode ser um arquivo cpio gzip'd.

por exemplo,

sudo gzip -dc /boot/initramfs-3.10.0-327.4.5.el7.x86_64.img | cpio -t | head
.
etc
etc/modprobe.d
etc/modprobe.d/mlx4.conf
etc/ld.so.conf.d
etc/ld.so.conf.d/kernel-3.10.0-327.3.1.el7.x86_64.conf
etc/ld.so.conf.d/kernel-3.10.0-327.4.4.el7.x86_64.conf
etc/ld.so.conf.d/kernel-3.10.0-229.20.1.el7.x86_64.conf
etc/ld.so.conf.d/mariadb-x86_64.conf
etc/ld.so.conf.d/kernel-3.10.0-327.4.5.el7.x86_64.conf

Isso armazena o conjunto mínimo necessário de rotinas para colocar o SO em um estado em que ele possa ver o dispositivo raiz. por exemplo. pode conter os drivers necessários para conversar com seus HBAs.

Isso é descompactado na RAM no momento da inicialização e executado. Por ser uma imagem da RAM, todas as alterações serão perdidas.

Quando o disco raiz real for encontrado, ele será montado e a raiz será alterada para isso. Inicialize então continue normalmente. Como essa raiz é um sistema de arquivos real (não uma imagem de memória), as alterações salvas aqui são persistentes.

    
por 22.06.2016 / 21:32