|
|
(15 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| coreboot lesson 1 - Starting from scratch
| | {{#externalredirect: https://doc.coreboot.org/tutorial/part1.html}} |
| | |
| From a fresh [http://releases.ubuntu.com/15.10/ubuntu-15.10-desktop-amd64.iso 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.
| |