¿Cuál es la diferencia entre initramfs y el sistema de archivos principal real?

¿Cuál es la diferencia entre initramfs y el sistema de archivos principal real?

initramfses un sistema de archivos temporal que se utiliza para iniciar el sistema y luego pasa el control al FS (sistema de archivos) raíz después de montarlo. La razón por la que no puedo usar ramfs para hacer cosas es que todo lo que guardas no permanece, se borra cada vez que reinicias.

Pero se PUEDE escribir en un sistema de archivos raíz que se monta y recordar cosas incluso si se apaga. ¿Por qué es esto? ¿Cómo es que rootfs puede registrar cambios pero initramfs no?

Más importante aún, ¿dónde se supone que debe estar esta raíz f? Estoy buscando en la partición raíz y veo uinitfs.image, pero no veo ningún otro archivo que se supone que sea el sistema de archivos raíz que voy a montar. ¿Dónde se almacena eso físicamente?

Respuesta1

initramfs es una imagen comprimida, generalmente almacenada /boot(por ejemplo, en mi máquina CentOS 7, tengo /boot/initramfs-3.10.0-327.18.2.el7.x86_64.img). Este puede ser un archivo cpio comprimido con gzip.

p.ej

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

Esto almacena el conjunto mínimo necesario de rutinas para que el sistema operativo alcance un estado en el que pueda ver el dispositivo raíz. por ejemplo, puede contener los controladores necesarios para comunicarse con sus HBA.

Esto se descomprime en la RAM en el momento del arranque y se ejecuta. Debido a que es una imagen RAM, se perderán todos los cambios.

Una vez que se ha encontrado el disco raíz real, se monta y la raíz cambia a este. El arranque continúa normalmente. Debido a que esta raíz es un sistema de archivos real (no una imagen de memoria), los cambios guardados aquí son persistentes.

información relacionada