Puneet Varma (Editor)

SeaBIOS

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Kevin O'Connor

Written in
  
C

Development status
  
Active

Platform
  
x86

SeaBIOS

Stable release
  
1.10.2 / 28 February 2017; 24 days ago (2017-02-28)

Repository
  
git.seabios.org/seabios.git

SeaBIOS is an open source implementation of a 16-bit 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.

Contents

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:

SeaBIOS has support for APM 1.2 (limited), Enhanced Disk Drive (EDD) 3.0 (INT 13H extensions), SMBIOS 2.4, MultiProcessor Specification, BIOS Boot Specification (BBS) and ACPI. It does not support ESCD or PnP BIOS (other than parts needed for BBS).

SeaBIOS's boot device selection menu can be accessed by pressing Esc during the boot process.

Uses

SeaBIOS can run natively on x86 hardware, in which case it is loaded by coreboot as a payload; it runs on 386 and later processors, and requires a minimum of 1 MB of RAM. Compiled SeaBIOS images can be flashed into supported motherboards using flashrom. SeaBIOS also runs inside an emulator; it is the default BIOS for the QEMU and KVM virtualization environments, and can be used with the Bochs emulator. It is also included in some Chromebooks, although it is not used by the Chrome OS.

Development

Most of the SeaBIOS' source code is written in C, with its build system relying on the standard GNU toolchain. SeaBIOS has been tested with various bootloaders and operating systems, including GNU GRUB, LILO, SYSLINUX, Microsoft Windows, Linux, FreeDOS, FreeBSD, NetBSD and OpenBSD.

References

SeaBIOS Wikipedia