Arch boot process (Español)

From ArchWiki
Revision as of 18:27, 6 December 2013 by Pedro (Talk | contribs) (Actualizar)

Jump to: navigation, search

Para arrancar Arch Linux, un gestor de arranque capaz de iniciar Linux, como GRUB o Syslinux, debe estar instalado en el Master Boot Record o la GUID Partition Table. El gestor de arranque es el responsable de cargar el kernel y el ramdisk inicial antes de iniciarse el proceso de arranque. El proceso es bastante diferente según se trate de un sistema BIOS o de UEFI, cuyos detalles se describen en esta página o en las enlazadas.

Procesos de arranque

Bajo BIOS

  1. Encendido del sistema —Power On Self Test—, o proceso POST.
  2. Después del POST la BIOS inicializa el hardware necesario para el arranque del sistema (disco, controladores del teclado, etc.).
  3. La BIOS ejecuta el código de los primeros 440 bytes (la región del código de arranque del MBR) del primer disco de los que aparecen ordenados en la BIOS.
  4. El código de arranque del MBR entonces toma el control desde la BIOS y ejecuta el código de la siguiente etapa (en su caso) (normalmente, el código del gestor de arranque).
  5. El código (segunda etapa) lanzado (el gestor de arranque presente) entonces lee los archivos de configuración y apoyo.
  6. En base a los datos de los archivos de configuración, el gestor de arranque carga el kernel e initramfs en la memoria del sistema (RAM), e inicia el kernel.

Bajo UEFI

Véase la página principal: Proceso de arranque bajo UEFI .

Kernel

El kernel es el núcleo de un sistema operativo. Funciona en un nivel bajo (kernelspace) que interactúa entre el hardware de la máquina y los programas que utilizan los recursos del hardware para funcionar. Para hacer un uso eficiente de la CPU, el kernel utiliza un sistema de programación para arbitrar qué tareas tienen prioridad en un momento dado, creando la ilusión (para la precepción humana) que varias tareas se están ejecutando simultáneamente.

initramfs

Después de estar cargado, el Kernel descomprime la imagen initramfs (sistema de archivos RAM inicial), que se convierte en el sistema de ficheros root inicial. El kernel seguidamente ejecuta /init como el primer proceso. El primer espacio de usuario («early userspace») comienza.

El propósito de initramfs es arrancar el sistema hasta el punto donde se puede acceder al sistema de archivos raíz (consulte FHS para más detalles). Esto significa que los módulos que se requieren para dispositivos como IDE, SCSI, SATA, USB/FW (si el arranque se realiza desde una unidad externa) deben ser cargados desde initramfs si no están compilados en el kernel; una vez que los módulos necesarios se cargan (ya sea de forma explícita a través de un programa o script, o implícitamente a través de udev), el proceso de arranque continúa. Por esta razón, el initramfs sólo debe contener los módulos necesarios para acceder al sistema de archivos raíz, no tiene por qué contener todos los módulos que sirven al completo funcionamiento de la máquina. La mayoría de los módulos se cargarán más tarde por udev, durante la fase init.

Fase init

En la etapa final del «early userspace», el verdadero sistema de archivos root es montado, y pasa a sustituir al sistema de archivos root inicial. /sbin/init se ejecuta, sustituyendo al proceso /init. Arch Linus utiliza systemd como proceso init.

Véase también