¿Qué es LILO (Linux Loader)?
LILO (Linux Loader) es un gestor de arranque para Linux y otros sistemas operativos tipo Unix. Fue uno de los primeros cargadores de arranque utilizados para Linux, principalmente durante la década de 1990 y principios de 2000, antes de ser sustituido en gran medida por alternativas más modernas como GRUB (GRand Unified Bootloader). La función principal de LILO es cargar el kernel de Linux en la memoria e iniciar el sistema operativo cuando arranca un ordenador.
Características principales de LILO
- Gestión de arranque: LILO permite a los usuarios gestionar múltiples sistemas operativos en un único ordenador. Puede cargar Linux así como otros sistemas operativos como Windows, haciendo posible crear una configuración de arranque dual.
- Opciones de arranque configurables: El archivo de configuración de LILO permite a los usuarios especificar varias opciones de arranque, como el sistema operativo por defecto, los parámetros del kernel y los valores de tiempo de espera antes de que arranque en un sistema operativo por defecto.
- Arranque desde MBR o partición: LILO puede instalarse en el Master Boot Record (MBR) o en el sector de arranque de una partición específica, dependiendo de las preferencias del usuario.
Cómo funciona LILO
Cuando un ordenador se enciende, la BIOS realiza el POST (Power-On Self-Test) y busca un dispositivo de arranque como un disco duro. Si LILO está instalado en el MBR o en el sector de arranque de una partición, la BIOS carga LILO como cargador de arranque. LILO entonces hace lo siguiente:
- Carga el Menú de Arranque: LILO presenta un menú de arranque al usuario, mostrando los sistemas operativos o kernels disponibles para arrancar.
- Carga el Kernel: Basado en la selección del usuario o la elección por defecto, LILO carga el kernel de Linux o el sistema operativo seleccionado en memoria.
- Arranca el Sistema Operativo: Después de cargar el kernel, LILO pasa el control al kernel, que inicializa el sistema y completa el proceso de arranque.
Configuración de LILO
LILO se configura usando un fichero de texto plano típicamente localizado en /etc/lilo.conf. A continuación se muestra un ejemplo de cómo podría ser un fichero lilo.conf:
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linuximage=/boot/vmlinuz
label=linux
sólo lectura
root=/dev/sda1
other=/dev/sdb1label=windows
- boot=/dev/sda: Especifica dónde debe instalarse LILO. En este ejemplo, se instala en el MBR del primer disco duro.
- timeout=50: Especifica el tiempo (en décimas de segundo) que LILO espera antes de arrancar la opción por defecto.
- default=linux: Establece el SO por defecto para arrancar si no se detecta ninguna entrada del usuario.
- image=/boot/vmlinuz: Define la ubicación de la imagen del kernel de Linux.
- label=linux: Asigna una etiqueta a esta entrada en el menú de arranque de LILO.
- other=/dev/sdb1: Apunta a otro sistema operativo (por ejemplo, Windows) instalado en otra partición.
Después de hacer cambios en lilo.conf, debes ejecutar el comando lilo para aplicar los cambios:
sudo /sbin/lilo
Este comando actualiza LILO con la nueva configuración.
Ventajas e inconvenientes de utilizar LILO
Pros:
- Simplicidad: LILO es relativamente sencillo de configurar y no ocupa mucho espacio.
- No necesita soporte de sistema de archivos: LILO lee directamente el kernel desde una ubicación conocida del disco, por lo que no necesita soporte de sistema de archivos durante el arranque.
- Compatibilidad: Puede arrancar diferentes tipos de sistemas operativos, lo que lo hace útil para antiguas configuraciones de arranque dual.
Contras:
- Actualizaciones manuales: Siempre que actualices el kernel o hagas cambios en el archivo de configuración, debes ejecutar manualmente lilo para actualizar el gestor de arranque. No hacerlo puede provocar errores de arranque.
- Características limitadas: Comparado con los gestores de arranque modernos como GRUB, LILO carece de algunas características avanzadas, como la posibilidad de editar los parámetros de arranque en el momento de arrancar.
- No incorpora modo de recuperación: Si la configuración de LILO está corrupta, recuperarse de los problemas de arranque puede ser más difícil que con GRUB, que tiene opciones de recuperación incorporadas.
LILO vs. GRUB
- Flexibilidad: GRUB es más flexible que LILO y soporta más características, como la edición de los parámetros de arranque directamente desde el menú de arranque, la detección automática de nuevos kernels y un mejor soporte para varios sistemas de ficheros.
- Facilidad de uso: GRUB es generalmente considerado más fácil de usar porque puede detectar automáticamente nuevos sistemas operativos y kernels sin necesidad de reconfigurar y actualizar manualmente.
- Configuración: GRUB utiliza un archivo de configuración más fácil de usar (grub.cfg) que no requiere la ejecución de comandos adicionales para aplicar los cambios, mientras que LILO requiere la actualización mediante el comando lilo.
Debido a estas ventajas, GRUB se ha convertido en el cargador de arranque estándar para la mayoría de las distribuciones Linux modernas, mientras que LILO se utiliza raramente hoy en día.
Conclusión
LILO (Linux Loader) jugó un papel importante en los primeros días de Linux como cargador de arranque fiable. Aunque ha sido reemplazado en gran medida por alternativas más ricas en características como GRUB, LILO sigue siendo útil en ciertos escenarios, como sistemas heredados o cuando se prefiere un gestor de arranque simple. Entender cómo funciona LILO y cómo configurarlo puede ser valioso para aquellos que mantienen sistemas Linux antiguos o buscan explorar la historia de los gestores de arranque Linux.