2023-01-11 18:52:50 +00:00
|
|
|
# Configuration for building a coreboot ROM that works in
|
|
|
|
# the qemu emulator in console mode thanks to Whiptail
|
|
|
|
#
|
|
|
|
# TPM can be used with a qemu software TPM (TIS, 1.2). A Librem Key or
|
|
|
|
# Nitrokey Pro can also be used by forwarding the USB device from the host to
|
|
|
|
# the VM.
|
|
|
|
export CONFIG_COREBOOT=y
|
2024-07-10 16:17:41 +00:00
|
|
|
export CONFIG_COREBOOT_VERSION=24.02.01
|
2023-01-11 18:52:50 +00:00
|
|
|
export CONFIG_LINUX_VERSION=5.10.5
|
|
|
|
|
2024-04-19 19:13:38 +00:00
|
|
|
CONFIG_COREBOOT_CONFIG=config/coreboot-qemu-tpm1.config
|
|
|
|
CONFIG_LINUX_CONFIG=config/linux-qemu.config
|
|
|
|
|
2023-07-12 18:17:43 +00:00
|
|
|
#Enable only one RESTRICTED/BASIC boot modes below to test them manually (we cannot inject config under QEMU (no internal flashing)
|
|
|
|
#export CONFIG_RESTRICTED_BOOT=y
|
2023-07-17 16:31:25 +00:00
|
|
|
#export CONFIG_BASIC=y
|
2023-07-12 18:17:43 +00:00
|
|
|
|
2024-04-19 19:13:38 +00:00
|
|
|
#Enable HAVE_GPG_KEY_BACKUP to test GPG key backup drive (we cannot inject config under QEMU (no internal flashing))
|
|
|
|
#export CONFIG_HAVE_GPG_KEY_BACKUP=y
|
|
|
|
|
2023-02-18 17:58:43 +00:00
|
|
|
#Enable DEBUG output
|
|
|
|
export CONFIG_DEBUG_OUTPUT=y
|
2023-02-20 16:01:17 +00:00
|
|
|
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y
|
2024-04-19 19:13:38 +00:00
|
|
|
#Enable TPM2 pcap output under /tmp
|
|
|
|
#export CONFIG_TPM2_CAPTURE_PCAP=y
|
|
|
|
|
|
|
|
#On-demand hardware support (modules.cpio)
|
|
|
|
CONFIG_LINUX_USB=y
|
|
|
|
CONFIG_LINUX_E1000=y
|
|
|
|
#CONFIG_MOBILE_TETHERING=y
|
2024-04-16 16:43:51 +00:00
|
|
|
#Runtime on-demand additional hardware support (modules.cpio)
|
|
|
|
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y
|
2023-02-18 17:58:43 +00:00
|
|
|
|
2023-01-11 18:52:50 +00:00
|
|
|
|
2024-04-19 19:13:38 +00:00
|
|
|
|
|
|
|
#Modules packed into tools.cpio
|
2023-01-11 18:52:50 +00:00
|
|
|
ifeq "$(CONFIG_UROOT)" "y"
|
|
|
|
CONFIG_BUSYBOX=n
|
|
|
|
else
|
2024-04-16 16:43:51 +00:00
|
|
|
#Modules packed into tools.cpio
|
2023-01-11 18:52:50 +00:00
|
|
|
CONFIG_CRYPTSETUP2=y
|
2024-04-19 19:13:38 +00:00
|
|
|
CONFIG_FLASHROM=y
|
|
|
|
CONFIG_FLASHTOOLS=y
|
2023-01-11 18:52:50 +00:00
|
|
|
CONFIG_GPG2=y
|
2024-04-19 19:13:38 +00:00
|
|
|
CONFIG_KEXEC=y
|
|
|
|
CONFIG_UTIL_LINUX=y
|
2023-01-11 18:52:50 +00:00
|
|
|
CONFIG_LVM2=y
|
|
|
|
CONFIG_MBEDTLS=y
|
2024-04-19 19:13:38 +00:00
|
|
|
CONFIG_PCIUTILS=y
|
2024-06-21 14:44:50 +00:00
|
|
|
#Runtime tools to write to MSR
|
2023-01-11 18:52:50 +00:00
|
|
|
CONFIG_MSRTOOLS=y
|
2024-04-19 19:13:38 +00:00
|
|
|
#Remote attestation support
|
|
|
|
# TPM2 requirements
|
|
|
|
#CONFIG_TPM2_TSS=y
|
|
|
|
#CONFIG_OPENSSL=y
|
|
|
|
#Remote Attestation common tools
|
|
|
|
CONFIG_POPT=y
|
|
|
|
CONFIG_QRENCODE=y
|
|
|
|
CONFIG_TPMTOTP=y
|
|
|
|
#HOTP based remote attestation for supported USB Security dongle
|
|
|
|
#With/Without TPM support
|
2023-01-11 18:52:50 +00:00
|
|
|
CONFIG_HOTPKEY=y
|
2024-04-19 19:13:38 +00:00
|
|
|
#Nitrokey Storage admin tool (deprecated)
|
|
|
|
#CONFIG_NKSTORECLI=n
|
|
|
|
#GUI Support
|
2024-04-16 16:43:51 +00:00
|
|
|
#Console based Whiptail support(Console based, no FB):
|
|
|
|
CONFIG_SLANG=y
|
|
|
|
CONFIG_NEWT=y
|
2024-04-19 19:13:38 +00:00
|
|
|
#FBWhiptail based (Graphical):
|
2023-01-11 18:52:50 +00:00
|
|
|
#CONFIG_CAIRO=y
|
|
|
|
#CONFIG_FBWHIPTAIL=y
|
2024-04-19 19:13:38 +00:00
|
|
|
#Additional tools (tools.cpio):
|
|
|
|
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
|
|
|
CONFIG_DROPBEAR=y
|
2023-01-11 18:52:50 +00:00
|
|
|
endif
|
|
|
|
|
2024-04-19 19:13:38 +00:00
|
|
|
#Runtime configuration
|
|
|
|
#Automatically boot if HOTP is valid
|
|
|
|
export CONFIG_AUTO_BOOT_TIMEOUT=5
|
|
|
|
#TPM2 requirements
|
|
|
|
#export CONFIG_TPM2_TOOLS=y
|
|
|
|
#export CONFIG_PRIMARY_KEY_TYPE=ecc
|
|
|
|
#TPM1 requirements
|
|
|
|
export CONFIG_TPM=y
|
2023-01-11 18:52:50 +00:00
|
|
|
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
|
|
|
#text-based original init:
|
|
|
|
#export CONFIG_BOOTSCRIPT=/bin/generic-init
|
|
|
|
export CONFIG_BOOT_REQ_HASH=n
|
|
|
|
export CONFIG_BOOT_REQ_ROLLBACK=n
|
|
|
|
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
|
|
|
|
export CONFIG_BOOT_KERNEL_ADD="console=ttyS0 console=tty systemd.zram=0"
|
|
|
|
export CONFIG_BOOT_KERNEL_REMOVE="quiet rhgb splash"
|
|
|
|
export CONFIG_BOOT_DEV="/dev/vda1"
|
|
|
|
export CONFIG_BOARD_NAME="qemu-coreboot-whiptail-tpm1-hotp"
|
2024-04-16 16:43:51 +00:00
|
|
|
#export CONFIG_FLASHROM_OPTIONS="-p internal"
|
|
|
|
export CONFIG_AUTO_BOOT_TIMEOUT=5
|
2023-01-11 18:52:50 +00:00
|
|
|
|
2023-12-18 20:24:21 +00:00
|
|
|
BOARD_TARGETS := qemu
|