mkdir disk/
cp coreinfo.elf disk/boot.elf
qemu-system-x86_64 \
-enable-kvm -M q35 -cpu host -m 4096 -serial stdout \
-device qemu-xhci \
-drive file=fat:rw:disk/,if=none,id=usbdisk \
-device usb-storage,drive=usbdisk \
-bios build/coreboot.rom \
-device VGA,edid=on,xres=1440,yres=960 \
-usbdevice tablet
git clone https://github.com/tianocore/edk2.git
cd edk2
git submodule update --init --checkout
source edksetup.sh
make -C BaseTools/Source/C
build -a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -D BOOTLOADER=COREBOOT -D BOOTSPLASH_IMAGE=TRUE
# Alternative with bluecmd's favorite options
build -a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -D BOOTLOADER=COREBOOT \
-D BOOTSPLASH_IMAGE=TRUE -D SMM_SUPPORT=TRUE \
-D DISABLE_SERIAL_TERMINAL=TRUE -D PS2_KEYBOARD_ENABLE=TRUE \
-D SIO_BUS_ENABLE=TRUE -D BOOT_MANAGER_ESCAPE=TRUE
# Convert FV to ELF
../coreboot/build/cbfstool foo.rom create -m x86 -s 10M
../coreboot/build/cbfstool foo.rom add-payload -n tmp -f Build/UefiPayloadPkgX64/DEBUG_GCC5/FV/UEFIPAYLOAD.fd
../coreboot/build/cbfstool foo.rom extract -m x86 -n tmp -f uefi.elf