Generated by GPT-5-mini| SeaBIOS | |
|---|---|
| Name | SeaBIOS |
| Programming language | C, Assembly |
| Operating system | Cross-platform |
| License | GNU General Public License v2 |
SeaBIOS SeaBIOS is an open-source legacy BIOS implementation used as a firmware payload for virtualization and hardware platforms. It provides x86-compatible boot services and runtime initialization for operating systems and hypervisors, interfacing with projects and vendors across the virtualization and open-source ecosystems. SeaBIOS often operates alongside projects such as QEMU, KVM, Xen and integrates with platform firmware initiatives like coreboot and hardware vendors including Intel and AMD.
SeaBIOS implements a 16-bit BIOS environment and a subset of the legacy ROM BIOS interfaces defined for IBM PC-compatible systems and supports BIOS interrupts, option ROM loading, and legacy boot sequences. It serves as a firmware payload that can be used in conjunction with open-source firmware projects like coreboot or run as a payload inside virtualization platforms such as QEMU, KVM, VirtualBox and Xen. SeaBIOS provides bootloader handoff compatible with GNU GRUB, SYSLINUX, and other boot managers, and presents standard device interfaces utilized by operating systems including Linux, FreeBSD, NetBSD, and OpenBSD.
SeaBIOS originated from efforts in the open-source community to provide a modern, maintainable BIOS implementation for virtual machines and custom firmware. Early development was influenced by contributors from virtualization projects like QEMU and organizations such as The Linux Foundation and companies including Canonical and Red Hat. Over time, SeaBIOS incorporated contributions from developers involved in firmware modernization initiatives tied to projects such as coreboot and organizations like OpenCompute Project. Major milestones include adoption as the default BIOS in many QEMU distributions and integration into cloud-focused virtualization stacks developed by companies like Amazon Web Services and Google.
SeaBIOS is implemented primarily in C with architecture-specific components in assembly language. The codebase provides 16-bit real-mode services, BIOS interrupt handlers, a boot menu, Option ROM support, and device initialization for legacy devices such as ATA, AHCI, and PCI. SeaBIOS supports the Legacy BIOS boot flow and interfaces to modern virtualization features including virtio devices used in KVM, QEMU, and container-focused projects such as Docker when nested inside virtual machines. Features include USB keyboard/mouse support, virtual disk and network booting via PXE which interoperates with services like ISC DHCP and network boot infrastructures used by Gentoo Linux, Debian, and Ubuntu deployment workflows.
SeaBIOS is deployed across a wide range of virtualization and firmware environments. It functions as a payload for coreboot, as a BIOS for QEMU/KVM virtual machines used by projects such as OpenStack, and in emulation contexts alongside Bochs and PCem. Hardware integrations include usage on developer boards supported by companies like Intel and firmware efforts coordinated with Google Chromebooks and projects in the Chromium OS ecosystem. SeaBIOS is commonly used in cloud platforms managed via Libvirt and orchestration systems such as Kubernetes when virtual machines require legacy BIOS interfaces.
SeaBIOS has been subject to security review and hardening efforts by contributors from security-focused organizations including OWASP and researchers affiliated with universities such as University of Cambridge and MIT. Past security advisories have detailed issues ranging from buffer overflows in Option ROM parsing to vulnerabilities in emulated device handling that could affect guests running Xen or KVM. Mitigations have included code audits, the introduction of safer parsing routines, and collaboration with upstream projects like QEMU and distributions such as Debian and Fedora for coordinated disclosure and patching. Security practices around SeaBIOS also intersect with virtualization security guidelines from NIST and incident response frameworks used by enterprises like Microsoft and IBM.
SeaBIOS is typically configured as a binary firmware payload or built from source using toolchains provided by projects like GCC and GNU Make. Integration workflows often reference build systems and continuous integration services offered by GitLab or GitHub, and packaging in distributions managed by Debian and Red Hat Enterprise Linux. Runtime configuration may be influenced by virtual machine managers such as virt-manager and cloud-init processes used in OpenStack and Amazon EC2. Boot-time options, device mapping, and console redirection are commonly managed through QEMU command-line options or coreboot configuration files used in collaboration with projects like SeaBIOS-adjacent tooling.
SeaBIOS is licensed under the GNU General Public License version 2, fostering contributions from individuals and organizations across the open-source ecosystem including developers from Google and companies such as Red Hat and Canonical. The community engages through code hosting platforms like GitHub and communication channels used by projects such as coreboot and QEMU, and collaborates at conferences like FOSDEM and LinuxCon. Governance is community-driven with contributors from academic institutions like ETH Zurich and companies active in firmware and virtualization fields.
Category:Firmware Category:Open-source software