Build HOWTO

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!

Work in progress!

This page describes how you can build a coreboot image for your specific mainboard using the new kconfig system.

Note: Not all boards work correctly with kconfig, yet!

Building a payload

TODO

See Payloads.

Building coreboot

First, get the latest coreboot-v2 svn version:

$ svn co svn://coreboot.org/repos/trunk/coreboot-v2
$ cd coreboot-v2

In the coreboot-v2 directory run kconfig to configure the build-time options of coreboot:

$ make menuconfig

In that menu (which may look familiar, as other projects such as the Linux kernel or busybox use the same system), select at least the following options:

  • Enter the Mainboard menu.
    • In Mainboard vendor select the vendor of your board.
    • In Mainboard model select your exact mainboard name.
    • In ROM chip size select the exact size of the flash ROM chip you want to flash the coreboot image on.
  • Enter the Payload menu.
    • Set the Add a payload option to An ELF executable payload.
    • Then, specify the file name and path to your payload file (which you built before).

That's the bare minimum. Feel free to adjust the other settings to your needs, then exit menuconfig and build the coreboot image:

$ make

The file build/coreboot.rom is your final coreboot image you can flash onto a ROM chip.

Flashing coreboot

TODO

See Flashrom.

Manipulating coreboot images with cbfstool

TODO