¿Qué es? - guadalinex-archive/guadalinex-v5 GitHub Wiki
Initramfs: ¿Qué es?
El 'initramfs' es la versión moderna del antiguo 'initrd'. Pero seguro que esto no nos dice gran cosa.
Y si decimos que es un sistema mínimo que se monta en la memoria, antes de montar el sistema (instalado o no) que se arrancará después, ya sabemos algo más. Aunque, probablemente, aún nos preguntemos quién lo monta, por qué, qué se hace ahí y que tiene todo esto que ver con los sistemas live.
Pues bien, para aclararnos un poco, lo mejor es empezar por el principio: ¿Cómo arranca un sistema operativo y en concreto GNU/Linux?
Según vemos en la Figura 1, una vez es cargado el kernel en memoria, junto con él se carga (si existe) el "initramfs", se lanza la ejecución del kernel y éste busca dónde debe arrancar la distribución. Si se carga un "initramfs", éste le servirá de sistema temporal desde el que detectar el disco donde está la distro y hacer más comprobaciones.
El "initramfs" es, en conclusión, un conjunto mínimo de directorios y archivos con los que el kernel, durante sus primeras fases de carga y ejecución, monta un pequeño sistema linux temporal, en la memoria, que le permite hacer detecciones de "hardware" básicas. Así como ejecutar pequeños programas o scripts.
En realidad es un pequeño sistema live que sirve al kernel para poder ser más flexible y soportar más hardware. También para lanzar programas tipo "usplash", para tener arranques gráficos sin tener que parchear el kernel.
Una vez se localiza el sistema (instalado o live), se monta y se arranca su programa principal, es decir, el "init". El encargado de arrancar los sistemas GNU/Linux actuales.
La utilidad para un sistema live de un "initramfs" es obvia, el "initramfs" es el sistema live por excelencia. Ya lo tiene y hace todo. Sólo necesitamos pasarle una distro que arrancar y convencerle (Squashfs + Unionfs) de que es un sistema instalado y que lo puede arrancar. Esto es básicamente necesario para poder arrancar la distro completa, en memoria, y no sólo un sistema mínimo como es el "initramfs".