SeaBIOS
SeaBIOS is an open-source implementation of an x86 BIOS, serving as a freely available firmware for x86 systems. Aiming for compatibility, it supports standard BIOS features and calling interfaces that are implemented by a typical proprietary x86 BIOS. SeaBIOS can either run on bare hardware as a coreboot payload, or can be used directly in emulators such as QEMU and Bochs.
Initially, SeaBIOS was based on the open-source BIOS implementation included with the Bochs emulator. The project was created with intentions to allow native usage on x86 hardware, and to be based on an improved and more easily extendable internal source code implementation.
Features
Features supported by SeaBIOS include the following:- Graphical bootsplash screen
- USB keyboard and mouse support
- USB Mass Storage boot support
- USB Attached SCSI boot support
- ATA support
- AHCI support
- NVMe support
- El Torito optical disc drive boot support
- BIOS Boot Specification
- Rebooting on Control-Alt-Delete key press
- Network booting support e.g. iPXE or gPXE
- Logical block addressing
- POST Memory Manager
- Paravirtualization, Xen HVM, VirtIO
- Coreboot Payloads
- PCI Firmware Specification
- SeaBIOS as a Compatibility Support Module for Unified Extensible Firmware Interface and Open Virtual Machine Firmware
- Virtual machine host notification of paravirtualized guests which panic via the pvpanic driver
- Trusted Platform Module
- Enhanced Disk Drive
- e820 memory map
- Protected mode interfaces, e.g. APM, Legacy PnP, DMI, MPS, SMBIOS, VBE, and ACPI
- System Management Mode
It does not support ESCD. SeaBIOS does not support either Intel ME or AMD PSP or their modules.
SeaBIOS's boot device selection menu can be accessed by pressing during the boot process.