Build HOWTO: Difference between revisions

From coreboot
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 2: Line 2:


<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#ffbbbb; align:right; border:1px solid #aabbcc;">
<div style="margin-top:0.5em; padding:0.5em 0.5em 0.5em 0.5em; background-color:#ffbbbb; align:right; border:1px solid #aabbcc;">
Note: kconfig is relatively new, please test if there are any issue on your boards!
Note: The kconfig system is relatively new in coreboot, please test if there are any issues on your boards!
</div>
</div>


This page describes how you can build a coreboot image for your specific mainboard using the new kconfig system.
This page describes how you can build a coreboot image for your specific mainboard using the new kconfig system (a.k.a. "make menuconfig").


== Building a payload ==
== Building a payload ==

Revision as of 16:20, 9 February 2010

make menuconfig in coreboot

Note: The kconfig system is relatively new in coreboot, please test if there are any issues on your boards!

This page describes how you can build a coreboot image for your specific mainboard using the new kconfig system (a.k.a. "make menuconfig").

Building a payload

First you need to download the source code for the payload of your choice and build it.

Instructions for building the various payloads are not covered on this page, please see Payloads and the wiki page for the respective payload for details.

The result of this step should be an ELF file (e.g. filo.elf, or coreinfo.elf) which you can use with coreboot (see below).

Building coreboot

First, get the latest coreboot subversion version:

$ svn co svn://coreboot.org/coreboot/trunk coreboot
$ cd coreboot

In the coreboot directory you can 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

You can flash the coreboot image on a flash ROM chip using either an external EEPROM-programmer, or a mainboard using the flashrom user-space utility.

Manipulating coreboot images with cbfstool

TODO