Cómo construir un Linux mínimo arrancando solo con kernel e init propio

Fuentes: Boot Naked Linux

Un desarrollador documenta paso a paso cómo reducir el arranque de un sistema Linux a su mínima expresión: un kernel y un initrd que contiene únicamente un binario 'init' compilado estáticamente. El objetivo es eliminar la creciente capa de software que, según el autor, ha convertido el arranque de los equipos modernos en un proceso lento, incluso en máquinas con 16 núcleos y SSD rápidos.

El proyecto, titulado 'Boot Naked Linux', parte de un programa 'init.c' en C que imprime un mensaje y apaga la máquina de forma ordenada mediante la llamada al sistema reboot(RB_POWER_OFF). A partir de ahí, el artículo explica cómo empaquetar ese binario en un initrd con cpio y gzip, cómo arrancar el conjunto en QEMU/KVM con un único comando, y cómo superar errores habituales como el fallo al descomprimir el initramfs o problemas de arquitectura.

La guía también cubre la activación de devtmpfs desde el propio init para acceder a dispositivos, y muestra cómo presentar un archivo del host como dispositivo de bloque (/dev/sda) en la máquina virtual para empezar a leer datos. El autor compara su enfoque con el proyecto 'Building a tiny Linux from scratch', escrito en Rust y publicado un año antes, y recomienda a quien quiera profundizar la construcción de un kernel recortado a medida.