Lesson1: Difference between revisions

From coreboot
Jump to navigation Jump to search
Line 51: Line 51:
Install QEMU
Install QEMU
  $ sudo apt-get install qemu
  $ sudo apt-get install qemu
Download and decompress a disk image:
$ wget http://wiki.qemu.org/download/linux-0.2.img.bz2
$ bunzip2 linux-0.2.img.bz2


Start QEMU:
Start QEMU:
  $ qemu-system-x86_64 -bios build/coreboot.rom -hda linux-0.2.img -serial stdio
  $ 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 with the linux image that was downloaded running in it.
You should see the serial output of coreboot in the original console window, and a new window will appear running the coreinfo payload.

Revision as of 23:59, 1 December 2015

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

$ cd payloads/coreinfo
$ make olddefconfig
$ make

configure mainboard to build coreboot

$ make menuconfig
   select 'Mainboard' menu
   select 'Mainboard model'
   choose 'QEMU x86 i440fx/piix4'
   exit b
   select 'Payload' menu
   select 'Add a Payload'
   choose 'An Elf executable payload'
   select 'Payload path and filename'
   enter 'payloads/coreinfo/build/coreinfo.elf'
   exit
   exit
   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.