Especificación de arranque múltiple - Multiboot specification

  (Redirigido desde la especificación de arranque múltiple )

La especificación Multiboot es un estándar abierto que describe cómo un cargador de arranque puede cargar un kernel de sistema operativo x86 . La especificación permite que cualquier implementación de cargador de arranque compatible arranque cualquier kernel de sistema operativo compatible . Por lo tanto, permite que diferentes sistemas operativos y cargadores de arranque trabajen juntos e interoperen, sin la necesidad de cargadores de arranque específicos del sistema operativo. Como resultado, también permite una coexistencia más fácil de diferentes sistemas operativos en una sola computadora, lo que también se conoce como arranque múltiple .

La especificación fue creada originalmente en 1995 y desarrollada por la Free Software Foundation . Los micronúcleos GNU Hurd , VMware ESXi, Xen y L4 deben iniciarse con este método. GNU GRUB es la implementación de referencia utilizada en el sistema operativo GNU y otros sistemas operativos. A julio de 2019, la última versión de la especificación Multiboot es 0.6.96, definida en 2009. Posteriormente se introdujo una segunda iteración incompatible con el soporte UEFI , la especificación Multiboot2 . En abril de 2019, la última versión de Multiboot2 es 2.0, definida en 2016.

Resumen técnico

Mientras que Multiboot define un encabezado como una estructura, que debe estar presente en el archivo de imagen como un todo, en Multiboot2, los campos o grupos de campos tienen una etiqueta de tipo, lo que permite omitirlos del encabezado Multiboot2.

Dentro del archivo de imagen del SO, el encabezado debe estar en los primeros 8192 (2¹³) bytes para Multiboot y 32768 (2¹⁵) bytes para Multiboot2. El cargador busca un número mágico para encontrar el encabezado, que es 0x1BADB002 para Multiboot y 0xE85250D6 para Multiboot2.

En el encabezado, entry_addrapunta al código donde el control se transfiere al sistema operativo. Esto permite diferentes formatos de archivos ejecutables (consulte Comparación de formatos de archivos ejecutables ). Si el kernel del sistema operativo es un archivo ELF ( formato ejecutable y enlazable ), que es para el kernel de Linux, esto se puede omitir para Multiboot2. El formato ELF es muy común en el mundo del código abierto y tiene su propio campo ( e_entry) que contiene el punto de entrada.

Antes de saltar al punto de entrada del SO, el cargador de arranque debe proporcionar una estructura de información de arranque para decirle al SO cómo salió del sistema; para Multiboot, esto es una estructura, y para Multiboot2, cada campo (grupo) tiene una etiqueta de tipo y un tamaño.

Ver también

Referencias

enlaces externos