This page describes how to build and run coreboot for QEMU/PPC64.
make defconfig KBUILD_DEFCONFIG=configs/config.emulation_qemu_power9 make
This builds coreboot with no payload.
You can configure ELF or skiboot
payload via make menuconfig
. In either case you might need to adjust "ROM chip size" and make it large enough to accommodate the payload (see how much space it needs in the error you get if it doesn't fit).
qemu-system-ppc64 -M powernv,hb-mode=on \ -cpu power9 \ -bios build/coreboot.rom \ -drive file=build/coreboot.rom,if=mtd \ -serial stdio \ -display none
-cpu power9
.-bios
specifies initial program (bootloader should suffice, but whole image works fine too).-drive
specifies image for emulated flash device.Loading skiboot
(built automatically by coreboot or otherwise) allows specifying kernel and root file system to be run.
qemu-system-ppc64 -M powernv,hb-mode=on \ -cpu power9 \ -bios build/coreboot.rom \ -drive file=build/coreboot.rom,if=mtd \ -serial stdio \ -display none \ -kernel zImage \ -initrd initrd.cpio.xz
-kernel
.-initrd
.