From ef499f6076e6c0c15f3271f4bb6f9d56ffadbe02 Mon Sep 17 00:00:00 2001 From: Thierry Laurion Date: Wed, 22 Apr 2020 23:02:46 -0400 Subject: [PATCH] Working config to do make BOARD=coreboot-qemu-fbwhiptail and then make BOARD=coreboot-qemu-fbwhiptail run --- .../qemu-coreboot-fbwhiptail.config | 62 +++++++++++++++++++ config/coreboot-qemu-fbwhiptail.config | 19 ++++++ 2 files changed, 81 insertions(+) create mode 100644 boards/qemu-coreboot-fbwhiptail/qemu-coreboot-fbwhiptail.config create mode 100644 config/coreboot-qemu-fbwhiptail.config diff --git a/boards/qemu-coreboot-fbwhiptail/qemu-coreboot-fbwhiptail.config b/boards/qemu-coreboot-fbwhiptail/qemu-coreboot-fbwhiptail.config new file mode 100644 index 000000000..72ebec595 --- /dev/null +++ b/boards/qemu-coreboot-fbwhiptail/qemu-coreboot-fbwhiptail.config @@ -0,0 +1,62 @@ +# Configuration for building a coreboot ROM that works in +# the qemu emulator in GUI mode thanks to FBWhiptail + +export CONFIG_COREBOOT=y +CONFIG_COREBOOT_CONFIG=config/coreboot-qemu-fbwhiptail.config +CONFIG_LINUX_CONFIG=config/linux-qemu.config + +ifeq "$(CONFIG_UROOT)" "y" +CONFIG_BUSYBOX=n +else +CONFIG_KEXEC=y +CONFIG_QRENCODE=y +CONFIG_TPMTOTP=y +CONFIG_POPT=y +CONFIG_FLASHTOOLS=y +CONFIG_FLASHROM=y +CONFIG_PCIUTILS=y +CONFIG_UTIL_LINUX=y +CONFIG_CRYPTSETUP=y +CONFIG_GPG2=y +CONFIG_LVM2=y +CONFIG_MBEDTLS=y +CONFIG_DROPBEAR=y +CONFIG_MSRTOOLS=y + +#Uncomment only one of the following block +#Required for graphical gui-init (FBWhiptail) +CONFIG_CAIRO=y +CONFIG_FBWHIPTAIL=y +# +#text-based init (generic-init and gui-init) +#CONFIG_NEWT=y +#CONFIG_SLANG=y + +endif + +CONFIG_LINUX_ATA=y +CONFIG_LINUX_AHCI=y +CONFIG_LINUX_USB=y +CONFIG_LINUX_E1000=y + +#Uncomment only one BOOTSCRIPT: +#Whiptail-based init (text-based or FBWhiptail) +export CONFIG_BOOTSCRIPT=/bin/gui-init +# +#text-based original init: +#export CONFIG_BOOTSCRIPT=/bin/generic-init + +export CONFIG_TPM=n + +export CONFIG_BOOT_DEV="/dev/sda1" + +#borrowed from https://github.com/orangecms/webboot/blob/boot-via-qemu/run-webboot.sh +run: + qemu-system-x86_64 \ + --machine q35 \ + --bios $(build)/$(BOARD)/coreboot.rom \ + -object rng-random,filename=/dev/urandom,id=rng0 \ + -device virtio-rng-pci,rng=rng0 \ + -netdev user,id=u1 -device e1000,netdev=u1 \ + -serial stdio \ + ; stty sane diff --git a/config/coreboot-qemu-fbwhiptail.config b/config/coreboot-qemu-fbwhiptail.config new file mode 100644 index 000000000..a1a6f4323 --- /dev/null +++ b/config/coreboot-qemu-fbwhiptail.config @@ -0,0 +1,19 @@ +CONFIG_LOCALVERSION="-heads" +CONFIG_ANY_TOOLCHAIN=y +# CONFIG_INCLUDE_CONFIG_FILE is not set +CONFIG_CBFS_SIZE=0x700000 +# CONFIG_POST_IO is not set +CONFIG_BOARD_EMULATION_QEMU_X86_Q35=y +# CONFIG_POST_DEVICE is not set +CONFIG_DRIVERS_PS2_KEYBOARD=y +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +CONFIG_PCIEXP_ASPM=y +CONFIG_PCIEXP_COMMON_CLOCK=y +CONFIG_UART_PCI_ADDR=0 +CONFIG_CPU_MICROCODE_CBFS_GENERATE=y +# CONFIG_CONSOLE_SERIAL is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6=y +CONFIG_PAYLOAD_LINUX=y +CONFIG_LINUX_COMMAND_LINE="debug" +CONFIG_PAYLOAD_FILE="../../build/qemu-coreboot-fbwhiptail/bzImage" +CONFIG_LINUX_INITRD="../../build/qemu-coreboot-fbwhiptail/initrd.cpio.xz"