El ejemplo más típico; es posible que el controlador que maneja la controladora de disco en que se encuentra el punto de montaje raiz del sistema haya sido compilado como módulo. En este caso sería imposible montar el sistema de archivos, ya que el controlador está en un filesystem no montado y para montarlo primero hay que acceder a él... de forma que hay un bloqueo continuo.
Para resolver este problema se utilizan sistemas de archivos virtuales que se montan de forma temporal durante el arranque y que contienen los módulos que el kernel podría necesitar para arrancar y de los que no dispone.
En Linux, hasta la llegada de la versión 2.6 del kernel se hacía con el archivo "initrd" y a partir de entonces con el archivo "initramfs" (Wikipedia sobre "initrd").
Generación del archivo "initramfs" en Debian Linux 5:
- Instalar el paquete con las herramientas necesarias: initramfs-tools
apt-get install initramfs-tools
- Generar el archivo: /usr/sbin/mkinitramfs -o ARCHIVO_INITRAMFS RUTA_MODULOS_KERNEL
vg.- mkinitramfs -o /boot/initramfs-2.6.26 /lib/modules/2.6.26
El archivo de salida ("/boot/initramfs-2.6.26") puede ser bastante "pesado", ya que contiene todos los módulos del kernel.
Normalmente el archivo "initramfs" se usa en el cargador de arranque (vg.- Grub), indicando que se use como sistema de archivos RAM con un determinado kernel que puede necesitarlo.
title Debian
root (hd0,0)
kernel /linux_kernel_2.6.26 root=/dev/sda2 ro
initrd /initramfs-2.6.26
Cada archivo "initramfs" solamente puede utilizarse con una determinado compilación de un determinado kernel (normalmente).