| 1 | - SeaBIOS (bios.bin) is the successor of pc bios. |
| 2 | See http://www.seabios.org/ for more information. |
| 3 | |
| 4 | - The VGA BIOS and the Cirrus VGA BIOS come from the LGPL VGA bios |
| 5 | project (http://www.nongnu.org/vgabios/). |
| 6 | |
| 7 | - OpenBIOS (http://www.openbios.org/) is a free (GPL v2) portable |
| 8 | firmware implementation. The goal is to implement a 100% IEEE |
| 9 | 1275-1994 (referred to as Open Firmware) compliant firmware. |
| 10 | The included images for PowerPC (for 32 and 64 bit PPC CPUs), |
| 11 | Sparc32 (including QEMU,tcx.bin and QEMU,cgthree.bin) and Sparc64 are built |
| 12 | from OpenBIOS SVN revision 1280. |
| 13 | |
| 14 | - SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware |
| 15 | implementation for certain IBM POWER hardware. The sources are at |
| 16 | https://gitlab.com/slof/slof, and the image currently in qemu is |
| 17 | built from git tag qemu-slof-20260627. |
| 18 | |
| 19 | - VOF (Virtual Open Firmware) is a minimalistic firmware to work with |
| 20 | -machine pseries,x-vof=on. When enabled, the firmware acts as a slim shim and |
| 21 | QEMU implements parts of the IEEE 1275 Open Firmware interface. |
| 22 | |
| 23 | - The PXE roms come from the iPXE project. Built with BANNER_TIME 0. |
| 24 | Sources available at http://ipxe.org. Vendor:Device ID -> ROM mapping: |
| 25 | |
| 26 | 8086:100e -> pxe-e1000.rom |
| 27 | 8086:1209 -> pxe-eepro100.rom |
| 28 | 1050:0940 -> pxe-ne2k_pci.rom |
| 29 | 1022:2000 -> pxe-pcnet.rom |
| 30 | 10ec:8139 -> pxe-rtl8139.rom |
| 31 | 1af4:1000 -> pxe-virtio.rom |
| 32 | |
| 33 | - The sources for the Alpha palcode image is available from: |
| 34 | https://github.com/rth7680/qemu-palcode.git |
| 35 | |
| 36 | - The u-boot binary for e500 comes from the upstream denx u-boot project where |
| 37 | it was compiled using the qemu-ppce500 target. |
| 38 | A git mirror is available at: https://gitlab.com/qemu-project/u-boot.git |
| 39 | The hash used to compile the current version is: 2072e72 |
| 40 | |
| 41 | - Skiboot (https://github.com/open-power/skiboot/) is an OPAL |
| 42 | (OpenPower Abstraction Layer) firmware for OpenPOWER systems. It can |
| 43 | run an hypervisor OS or simply a host OS on the "baremetal" |
| 44 | platform, also known as the PowerNV (Non-Virtualized) platform. |
| 45 | |
| 46 | - pnv-pnor.bin is a non-volatile RAM image used by PowerNV, which stores |
| 47 | NVRAM BIOS settings among other things. This image was created with the |
| 48 | following command (the ffspart tool can be found in the skiboot source tree): |
| 49 | |
| 50 | ffspart -s 0x1000 -c 34 -i pnv-pnor.in -p pnv-pnor.bin |
| 51 | |
| 52 | Where pnv-pnor.in contains the two lines (no leading whitespace): |
| 53 | |
| 54 | NVRAM,0x01000,0x00020000,,,/dev/zero |
| 55 | VERSION,0x21000,0x00001000,,,/dev/zero |
| 56 | |
| 57 | skiboot is then booted once to format the NVRAM partition. |
| 58 | |
| 59 | - QemuMacDrivers (https://github.com/ozbenh/QemuMacDrivers) is a project to |
| 60 | provide virtualised drivers for PPC MacOS guests. |
| 61 | |
| 62 | - The "edk2-*.fd.bz2" images are platform firmware binaries and matching UEFI |
| 63 | variable store templates built from the TianoCore community's EFI Development |
| 64 | Kit II project |
| 65 | <https://github.com/tianocore/tianocore.github.io/wiki/EDK-II>. The images |
| 66 | were built at git tag "edk2-stable202302". The firmware binaries bundle parts |
| 67 | of the OpenSSL project, at git tag "OpenSSL_1_1_1s" (the OpenSSL tag is a |
| 68 | function of the edk2 tag). Parts of the Berkeley SoftFloat library are |
| 69 | bundled as well, at Release 3e plus a subsequent typo fix (commit |
| 70 | b64af41c3276f97f0e181920400ee056b9c88037), as an OpenSSL dependency on 32-bit |
| 71 | ARM. Licensing information is given in "edk2-licenses.txt". The image files |
| 72 | are described by the JSON documents in the "pc-bios/descriptors" directory, |
| 73 | which conform to the "docs/interop/firmware.json" schema. |
| 74 | |
| 75 | - OpenSBI (https://github.com/riscv/opensbi) aims to provide an open-source |
| 76 | reference implementation of the RISC-V Supervisor Binary Interface (SBI) |
| 77 | specifications for platform-specific firmwares executing in M-mode. For all |
| 78 | supported platforms, OpenSBI provides several runtime firmware examples. |
| 79 | These example firmwares can be used to replace the legacy riscv-pk bootloader |
| 80 | and enable the use of well-known bootloaders such as U-Boot. |
| 81 | OpenSBI is distributed under the terms of the BSD 2-clause license |
| 82 | ("Simplified BSD License" or "FreeBSD License", SPDX: BSD-2-Clause). OpenSBI |
| 83 | source code also contains code reused from other projects described here: |
| 84 | https://github.com/riscv/opensbi/blob/master/ThirdPartyNotices.md. |
| 85 | |
| 86 | - npcm{7xx,8xx}_bootrom.bin is a simplified, free (Apache 2.0) boot ROM for |
| 87 | Nuvoton NPCM7xx/8xx BMC devices. It currently implements the bare minimum to |
| 88 | load, parse, initialize and run boot images stored in SPI flash, but may grow |
| 89 | more features over time as needed. The source code is available at: |
| 90 | https://github.com/google/vbootrom |
| 91 | |
| 92 | - ast27x0_bootrom.bin is a simplified, free (Apache 2.0) boot ROM for |
| 93 | ASPEED AST27x0 BMC SOC. It currently implements the bare minimum to |
| 94 | load, parse, initialize and run boot images stored in SPI flash, but may grow |
| 95 | more features over time as needed. The source code is available at: |
| 96 | https://github.com/google/vbootrom |
| 97 | |
| 98 | - hppa-firmware.img (32-bit) and hppa-firmware64.img (64-bit) are firmware |
| 99 | files for the HP-PARISC (hppa) architecture. |
| 100 | They are built form the SeaBIOS-hppa sources, which is a fork of SeaBIOS |
| 101 | adapted for hppa. |
| 102 | SeaBIOS-hppa is available at https://github.com/hdeller/seabios-hppa |