Lesson1

From coreboot
Revision as of 03:28, 18 January 2016 by MartinRoth (talk | contribs)
Jump to: navigation, 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!

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.