Lesson1

From coreboot
Revision as of 03:28, 18 January 2016 by MartinRoth (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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!

coreboot lesson 1 - Starting from scratch

From a fresh ubuntu 15.10 linux install, here are all the steps required:

Download, configure, and build coreboot

Install tools and libraries needed for coreboot

$ sudo apt-get install git-core libncurses5-dev m4 bison flex

Download coreboot source tree:

$ git clone http://review.coreboot.org/coreboot
$ cd coreboot

build toolchain (This can take a significant amount of time)

$ make crossgcc-i386 CPUS=$(nproc)

Build the payload - coreinfo

$ pushd payloads/coreinfo
$ make olddefconfig
$ make
$ popd

configure mainboard to build coreboot

$ make menuconfig
   select 'Mainboard' menu
   select 'Mainboard model'
   choose 'QEMU x86 i440fx/piix4'
   select exit
   
   select 'Payload' menu
   select 'Add a Payload'
   choose 'An Elf executable payload'
   select 'Payload path and filename'
   enter 'payloads/coreinfo/build/coreinfo.elf'
   select exit
   select exit
   select yes

check your configuration:

$ make savedefconfig
$ cat defconfig

There should only be three lines:

CONFIG_BOARD_EMULATION_QEMU_X86_I440FX=y
CONFIG_PAYLOAD_ELF=y
CONFIG_PAYLOAD_FILE="payloads/coreinfo/build/coreinfo.elf"

build coreboot:

$ make

Test the image using QEMU

Install QEMU

$ sudo apt-get install qemu

Start QEMU:

$ qemu-system-x86_64 -bios build/coreboot.rom -serial stdio

You should see the serial output of coreboot in the original console window, and a new window will appear running the coreinfo payload.