Hay muchos procesos que se ejecutan en segundo plano cuando presionamos el botón de encendido del sistema. Es muy importante aprender el proceso de arranque para comprender el funcionamiento de cualquier sistema operativo. Para solucionar el error de arranque es imprescindible saber cómo arranca el kernel. Es un tema muy interesante para aprender, comencemos con lo básico. A continuación se muestra una lectura simplificada del método de arranque:
Etapas del proceso de arranque de Linux:
- El BIOS de la máquina o microcódigo de arranque cientos y ejecuta un cargador de arranque.
- El cargador de arranque encuentra la imagen del kernel en el disco y la carga en la memoria para iniciar el sistema.
- El kernel inicializa los dispositivos y sus controladores.
- El núcleo monta el sistema de archivos base.
- El núcleo inicia un programa denominado init con un ID de método cero
- init pone en marcha el resto de los procesos del sistema.
- Para algún propósito, init inicia un método que le permite iniciar sesión, generalmente en la parte superior o cerca de la parte superior de la secuencia de arranque.
Mensaje de inicio:
Los sistemas operativos UNIX tradicionales generan varios mensajes de diagnóstico durante el arranque que le informan sobre el método de arranque. Los mensajes regresan inicialmente desde el núcleo y, por lo tanto, desde los procesos y procedimientos de formateo de bajo nivel que inicia init. Sin embargo, estos mensajes no son bonitos ni consistentes y, en algunos casos, ni siquiera son terriblemente informativos. Además, las mejoras de hardware han hecho que el kernel se inicie mucho más rápido que antes de que los mensajes parpadeen, por lo que puede ser difícil verificar qué está sucediendo. Como resultado, la mayoría de las distribuciones actuales de Linux hacen todo lo posible para cubrir la especialidad médica de arranque con pantallas de inicio y otros tipos de relleno para distraerlo mientras se inicia el sistema.
Inicialización del kernel y opciones de arranque:
- examen de la CPU
- examen de memoria
- Detección de bus de dispositivo
- Hola
- Configuración del sistema del núcleo auxiliar
- Montaje del sistema de archivos raíz
- Comienzo del espacio de usuario
Los primeros 2 pasos no son demasiado excepcionales, sin embargo, una vez que el núcleo llega a los dispositivos, surge la cuestión de las dependencias. como ejemplo, los controladores de dispositivos de disco pueden depender del soporte de bus y del sistema SCSI. En general, no tendrá que preocuparse por las dependencias, excepto que algunas partes necesarias también son módulos del kernel cargables en lugar de una parte de la mayoría del kernel.
Parámetros del núcleo:
Cuando se inicia el kernel de Linux, recibe un grupo de parámetros del kernel basados en texto que contienen algunos detalles adicionales del sistema. Los parámetros especifican muchos tipos alternativos de comportamiento, como la cantidad de resultados de diagnóstico que el kernel debe producir y las opciones específicas del controlador del dispositivo. El parámetro Ro indica al kernel que monte el sistema de archivos base en modo de solo lectura cuando comience el área de usuario. Este modo normal de solo lectura garantiza que fsck pueda verificar de manera segura el sistema de archivos base antes de intentar hacer algo serio. Cuando se realiza la verificación, el método de arranque vuelve a montar el sistema de archivos base en modo de lectura y escritura.
Tareas del cargador de arranque:
- Seleccione entre varios núcleos.
- Cambiar entre conjuntos de parámetros del núcleo.
- Brindar soporte para arrancar diferentes sistemas operativos.
Los cargadores de arranque se volvieron significativamente más avanzados desde el origen del kernel de Linux, con características como el historial de línea de comandos y los sistemas de menú, sin embargo, una necesidad básica siempre ha sido la flexibilidad en la imagen del kernel y la selección de parámetros. Un desarrollo sorprendente es que algunas necesidades realmente han disminuido. Por ejemplo, debido a que podrá realizar un arranque de emergencia o de recuperación asociado desde un dispositivo USB, rara vez tendrá que preocuparse por acceder manualmente a los parámetros del kernel o entrar en el modo de usuario único. Los cargadores de arranque actuales brindan mucha más potencia que nunca, lo que puede ser especialmente útil si está creando kernels personalizados o simplemente desea modificar los parámetros.
Descripción general del cargador de arranque:
- GRUB: un estándar casi universal en sistemas Linux, con versiones BIOS/MBR y UEFI.
- LILO : uno de los principales gestores de arranque de Linux. ELILO podría ser una versión UEFI.
- SYSLINUX : puede organizarse para ejecutarse desde muchos estilos alternativos de sistemas de archivos.
- LOADLIN : inicia un kernel desde DOS.
- Arranque del sistema: un administrador de arranque UEFI sencillo .
- coreboot : un reemplazo superior para el BIOS de la computadora que incorporará un kernel.
- Linux Kernel EFISTUB Un complemento de kernel para cargar el kernel directamente desde la partición del sistema EFI/UEFI asociada.
- EFI Linux : un cargador de arranque UEFI destinado a funcionar como modelo y referencia para diferentes cargadores de arranque UEFI.
Introducción y trabajo de GRUB:
GRUB significa Grand Unified Boot Loader . Una de las capacidades más vitales de GRUB es la navegación del sistema de archivos que permite una imagen del núcleo y una elección de configuración sencillas.
- Al encontrar el código de inicio, el BIOS lo ejecuta y lo ejecuta. Esto es a menudo donde comienza GRUB.
- El núcleo de GRUB cientos.
- El núcleo se inicializa. En este momento, GRUB accederá a discos y sistemas de archivos.
- GRUB identifica su partición de arranque y cientos de configuraciones allí.
- GRUB ofrece al usuario la oportunidad de variar la configuración.
- GRUB ejecuta la configuración después de un tiempo de espera o una acción del usuario.
- En el curso de la ejecución de la configuración, GRUB podría cargar más código dentro de la partición de arranque. varios de estos módulos también están precargados.
- Para cargar y ejecutar el kernel, GRUB ejecuta comandos de arranque.
Publicación traducida automáticamente
Artículo escrito por siddhantgore y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA