4.2. ROM images

Just like a real PC, Bochs needs a system BIOS and VGA BIOS to initialize the machine when it powers on or after a hardware reset. Bochs needs to load them from image file into the emulated memory. The Bochs package contains a set of system BIOS and VGA BIOS images.

Table 4-1. System and VGA BIOS images

FileDescription
BIOS-bochs-latest default ROM BIOS image for Bochs
BIOS-bochs-legacy ROM BIOS image without 32-bit init code (for i386 and ISA graphics card emulation)
bios.bin-1.7.5 SeaBIOS ROM image
VGABIOS-elpin-2.40 legacy VGA BIOS image for Bochs
VGABIOS-lgpl-latest LGPL'd VGA BIOS image for Bochs
VGABIOS-lgpl-latest-debug LGPL'd VGA BIOS image for Bochs with debug output to the logfile
VGABIOS-lgpl-latest-cirrus LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled
VGABIOS-lgpl-latest-cirrus-debug LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile

Bochs must be set up to use system and VGA BIOS like this:

  romimage: file=BIOS-bochs-latest, address=0xe0000
  vgaromimage: file=VGABIOS-lgpl-latest
We recommend to use the ROM images distributed with Bochs or one of the latest SeaBIOS images. BIOS images designed for real hardware mostly do not work properly.

Bochs supports optional ROM images to be loaded into the ISA ROM space, typically between C8000 and EFFFF (see Section 4.3.10). The PCI versions of the Bochs network adapter emulation support loading a boot ROM into the PCI ROM space (see Section 4.3.34).