¿Qué es un cargador de arranque (Bootloader) en Linux
Después de que la BIOS/UEFI finaliza sus tareas, cede el control a la siguiente etapa del proceso de arranque: el cargador de arranque (bootloader). Un cargador de arranque en Linux es un pequeño programa que carga el kernel del sistema operativo en la memoria y luego lo ejecuta. Actúa como el puente entre el firmware del sistema y el kernel de Linux.
El Papel del Cargador de Arranque de Linux
Las responsabilidades principales de un cargador de arranque de Linux son sencillas pero críticas:
- Selección del Sistema Operativo: Puede presentar un menú para arrancar en varios sistemas operativos, incluidos sistemas que no son Linux, si tienes una configuración de arranque múltiple (multi-boot).
- Selección del Kernel: Permite elegir qué versión del kernel de Linux cargar, lo cual es útil para la solución de problemas o pruebas.
- Paso de Parámetros del Kernel: Especifica parámetros cruciales que el kernel necesita para iniciarse correctamente.
El cargador de arranque de Linux más común es GRUB (GRand Unified Bootloader), que es el que probablemente estés utilizando. Aunque existen otros cargadores de arranque como LILO, SYSLINUX y Coreboot, esta lección se centrará en GRUB.
Parámetros Comunes del Kernel en GRUB
El objetivo principal del cargador de arranque es cargar el kernel, pero necesita instrucciones sobre cómo y dónde encontrarlo. Estas instrucciones se proporcionan como parámetros del kernel. Normalmente, puedes ver o editar estos parámetros presionando la tecla 'e' en el menú de GRUB durante el inicio.
Aquí están algunos de los parámetros más comunes que encontrarás:
initrd- Especifica la ubicación del disco RAM inicial (initial RAM disk), un sistema de archivos raíz temporal cargado en la memoria. Cubriremos esto con más detalle en la próxima lección.BOOT_IMAGE- Define la ruta al archivo de imagen del kernel que debe cargarse.root- Señala la ubicación del sistema de archivos raíz real. El kernel utiliza esta ruta para encontrar el procesoinit. A menudo se representa mediante un nombre de dispositivo (ej./dev/sda1) o un UUID.ro- Un parámetro estándar que indica al kernel que monte el sistema de archivos raíz en modo solo lectura inicialmente. Esta es una medida de seguridad para permitir que se ejecuten comprobaciones del sistema de archivos antes de realizar cualquier cambio.quiet- Este parámetro suprime la mayoría de los mensajes detallados de arranque, proporcionando una pantalla de inicio más limpia y menos verbosa.splash- Habilita la visualización de una pantalla de bienvenida gráfica durante el proceso de arranque en lugar de mensajes de texto.