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.