Implementación de código abierto del BIOS x86
SeaBIOS es una implementación de código abierto de un BIOS x86 , que funciona como un firmware disponible de forma gratuita para sistemas x86. Con el objetivo de lograr compatibilidad, admite funciones de BIOS estándar e interfaces de llamada que se implementan mediante un BIOS x86 propietario típico. SeaBIOS puede ejecutarse en hardware básico como una carga útil de arranque central o puede usarse directamente en emuladores como QEMU y Bochs .
Inicialmente, SeaBIOS se basó en la implementación de BIOS de código abierto incluida con el emulador Bochs. El proyecto se creó con la intención de permitir el uso nativo en hardware x86 y basarse en una implementación de código fuente interno mejorada y más fácilmente ampliable . [2] : 3–5
Características
Las características compatibles con SeaBIOS incluyen las siguientes:
- Pantalla de inicio gráfica (JPEG y BMP)
- Compatibilidad con teclado y ratón USB
- Soporte de arranque de almacenamiento masivo USB
- Soporte de arranque SCSI conectado por USB
- Soporte ATA
- Soporte AHCI
- Compatibilidad con NVMe
- Soporte de arranque de unidad de disco óptico El Torito
- Especificación de arranque del BIOS (BBS)
- Reinicio al presionar las teclas Control-Alt-Delete
- Soporte de arranque en red, por ejemplo, iPXE o gPXE
- Direccionamiento de bloque lógico (LBA)
- Administrador de memoria POST (PMM)
- Paravirtualización , Xen HVM, VirtIO
- Cargas útiles de Coreboot ( comprimidas en formato LZMA )
- Especificación del firmware PCI
- SeaBIOS como módulo de soporte de compatibilidad (CSM) para la interfaz de firmware extensible unificada (UEFI) y el firmware de máquina virtual abierta (OVMF)
- Notificación del host de la máquina virtual sobre invitados paravirtualizados que entran en pánico a través del controlador pvpanic
- Existe un parche para cargar la tabla SLIC desde un BIOS Windows OEM con licencia. [3]
- Módulo de plataforma confiable
- Unidad de disco mejorada (EDD) ( extensiones INT 13H )
- Mapa de memoria del e820
- Interfaces de modo protegido , por ejemplo, APM , Legacy PnP , DMI , MPS , SMBIOS , VBE y ACPI
- Modo de gestión del sistema
No es compatible con ESCD . SeaBIOS no es compatible con Intel ME ni AMD PSP ni con sus módulos.
Se puede acceder al menú de selección de dispositivo de arranque de SeaBIOS presionando Escdurante el proceso de arranque.
Usos
SeaBIOS puede ejecutarse de forma nativa en hardware x86, en cuyo caso suele cargarse como una carga útil de coreboot ; puede ejecutarse en procesadores 386 y más nuevos, y requiere un mínimo de 1 MB de RAM . SeaBIOS también se ejecuta dentro de un emulador; es el BIOS predeterminado para los entornos de virtualización QEMU y KVM , y se puede utilizar con el emulador Bochs . También se incluye en algunas Chromebooks , aunque no lo utiliza ChromeOS . [4]
Desarrollo
La mayor parte del código fuente de SeaBIOS está escrito en C , y su sistema de compilación se basa en la cadena de herramientas estándar de GNU . [2] : 5–7 SeaBIOS ha sido probado con varios cargadores de arranque y sistemas operativos, incluidos GNU GRUB , LILO , SYSLINUX , Microsoft Windows , Linux , FreeDOS , FreeBSD , NetBSD y OpenBSD . [5]
Véase también
Referencias
- ^ "Versiones de SeaBIOS". www.seabios.org . 2022-03-01 . Consultado el 2022-04-08 .
- ^ por Kevin O'Connor (11 de noviembre de 2010). "SeaBIOS en un entorno virtualizado" (PDF) . linuxplumbersconf.org . Consultado el 13 de diciembre de 2021 .
- ^ "ghuntley/seaslic GitHub". Github.com . Consultado el 25 de febrero de 2014 .
- ^ "3 alternativas a Chrome OS en el Chromebook Pixel de Google: noticias y análisis tecnológicos". Gigaom.com. 26 de febrero de 2013. Consultado el 25 de febrero de 2014 .
- ^ "Grub2 Otros sistemas operativos - Wiki de ayuda de la comunidad". help.ubuntu.com . Consultado el 10 de octubre de 2023 .
Enlaces externos
- Sitio web oficial
- Encuentre su camino a través del laberinto de firmware x86: cubre la secuencia de arranque de SeaBIOS y los mapas de memoria