The x86 development process for coreboot is broken into the following components:
The development process has two main phases:
The combined steps below describe how to bring up a minimal coreboot for a system-on-a-chip (SoC) and a development board:
The initial coreboot steps are single threaded! The initial minimal FSP development is also single threaded. Progress can speed up by adding more developers after the minimal coreboot/FSP implementation reaches the payload. |
sudo apt-get install m4 bison flex libncurses5-dev
make crossgcc-i386
To use multiple processors for the toolchain build (which takes a long time), use:
make crossgcc-i386 CPUS=N
where N is the number of cores to use for the build.
Features |
||
---|---|---|
SoC | Where | Testing |
Cache-as-RAM |
Find
FSP binary:
cache_as_ram.inc Enable: FSP 1.1 TempRamInit called from cache_as_ram.inc Disable: FSP 1.1 TempRamExit called from after_raminit.S |
FindFSP: POST code 0x90
(POST_FSP_TEMP_RAM_INIT)
is displayed Enable: POST code 0x2A is displayed Disable: CONFIG_DISPLAY_MTRRS=y, MTRRs displayed after call to TempRamExit |
Board | Where | Testing |
Serial Port |
SoC Support Enable: src/soc/mainboard/<Board>/com_init.c/car_mainboard_pre_console_init |
Debug serial output works |
FSP | Where | Testing |
TempRamInit | FSP TempRamInit | FSP binary found: POST code 0x90
(POST_FSP_TEMP_RAM_INIT)
is displayed TempRamInit successful: POST code 0x2A is displayed |
Modified: 31 January 2016