External build systems

From coreboot
Jump to navigation Jump to search

The wiki is being retired!

Documentation is now handled by the same processes we use for code: Add something to the Documentation/ directory in the coreboot repo, and it will be rendered to https://doc.coreboot.org/. Contributions welcome!

Introduction

Coreboot itself can build many other software and include it in the final image. At the time of writing we can, so far:

  • Build and include primary payloads such as SeaBIOS, GRUB, U-boot, FILO, Bayou.
  • Include some externally built payloads as an TianoCore, A linux kernel and initramfs, An ELF binary.
  • Secondary payloads (memtest86+, nvramcui, Coreinfo, tint)
  • Build and include some option roms( iPXE, SeaVGABIOS)

This is sufficient for most uses cases and can easily be extended to cover new ones. However some external build system still exist, to address uses cases that might not be desirable to cover within the Coreboot build system.

External build system list

  • Coreboot_buildroot_project: Uses Buildroot to be able to easily build and include a Linux kernel and an initramfs in the final image.
  • Coreboot-os-installer: Builds coreboot images that can be used to install a GNU/Linux distribution from the network, without requiring external medias.
  • Libreboot: Libreboot has its own build system to ensure that it respects the Free Software Distributions Guidelines (FSDG) and also makes it easier for users to build the same images than the ones it releases.
  • libettereboot.git: Written from scratch to replace Libreboot's build system (which is really painful to maintain).