Lesson1: Difference between revisions
Jump to navigation
Jump to search
MartinRoth (talk | contribs) |
MartinRoth (talk | contribs) |
||
Line 51: | Line 51: | ||
Install QEMU | Install QEMU | ||
$ sudo apt-get install qemu | $ sudo apt-get install qemu | ||
Start QEMU: | Start QEMU: | ||
$ qemu-system-x86_64 -bios build/coreboot.rom | $ 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 | 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.