mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-30 01:38:56 +00:00
3574e12be9
repro: sed -i '/CONFIG_BOOT_DEV/d' boards/*/*.config unmaintained_boards/*/*.config qemu debug trace on preinstalled OS: [ 3.999725] [U] hello world [ 4.286215] DEBUG: Debug output enabled from board CONFIG_DEBUG_OUTPUT=y option (/etc/config) [ 4.315239] TRACE: Under init [ 4.369379] DEBUG: Applying panic_on_oom setting to sysctl [ 4.588333] TRACE: /bin/cbfs-init(5): main [ 4.728310] TRACE: /bin/cbfs-init(24): main [ 4.867039] DEBUG: TPM: Will extend PCR[7] with hash of filename /.gnupg/pubring.kbx [ 4.946757] TRACE: /bin/tpmr(788): main [ 5.006987] DEBUG: TPM: Extending PCR[7] with hash 7ccf4f64044946cf4e5b0efe3d959f00562227ae [ 5.068692] DEBUG: exec tpm extend -ix 7 -ic /.gnupg/pubring.kbx [ 5.326365] DEBUG: TPM: Will extend PCR[7] hash content of file /.gnupg/pubring.kbx [ 5.399511] TRACE: /bin/tpmr(788): main [ 5.460618] DEBUG: TPM: Extending PCR[7] with hash 547ca343719d3aa62af4763357d8c10cb35eae55 [ 5.524608] DEBUG: exec tpm extend -ix 7 -if /.gnupg/pubring.kbx [ 5.752340] TRACE: /bin/cbfs-init(24): main [ 5.908677] DEBUG: TPM: Will extend PCR[7] with hash of filename /.gnupg/trustdb.gpg [ 5.988169] TRACE: /bin/tpmr(788): main [ 6.044996] DEBUG: TPM: Extending PCR[7] with hash 7236ea8e612c1435259a8a0f8e0a8f1f5dba7042 [ 6.101604] DEBUG: exec tpm extend -ix 7 -ic /.gnupg/trustdb.gpg [ 6.371341] DEBUG: TPM: Will extend PCR[7] hash content of file /.gnupg/trustdb.gpg [ 6.451878] TRACE: /bin/tpmr(788): main [ 6.511948] DEBUG: TPM: Extending PCR[7] with hash 4697c489f359b40dd8aec55df52a33b1f580a3df [ 6.572785] DEBUG: exec tpm extend -ix 7 -if /.gnupg/trustdb.gpg [ 6.879519] TRACE: /bin/key-init(6): main [ 8.239618] TRACE: Under /etc/ash_functions:combine_configs [ 8.323781] TRACE: Under /etc/ash_functions:pause_recovery !!! Hit enter to proceed to recovery shell !!! [ 8.572855] TRACE: /bin/setconsolefont.sh(6): main [ 8.631296] DEBUG: Board does not ship setfont, not checking console font [ 8.887295] TRACE: /bin/gui-init(641): main [ 8.920627] TRACE: /etc/functions(715): detect_boot_device [ 9.251212] TRACE: /etc/functions(682): mount_possible_boot_device [ 9.312602] TRACE: /etc/functions(642): is_gpt_bios_grub [ 9.410830] TRACE: /dev/vda1 is partition 1 of vda [ 9.540007] TRACE: /etc/functions(619): find_lvm_vg_name [ 9.707187] TRACE: Try mounting /dev/vda1 as /boot [ 9.766843] EXT4-fs (vda1): mounted filesystem with ordered data mode. Opts: (null) [ 9.825028] TRACE: /bin/gui-init(319): clean_boot_check Signed-off-by: Thierry Laurion <insurgo@riseup.net>
97 lines
2.8 KiB
Makefile
97 lines
2.8 KiB
Makefile
# Configuration for building a coreboot ROM that works in
|
|
# the qemu emulator in console mode thanks to Whiptail
|
|
# This version requires a supported HOTP Security dongle (Nitrokey Pro/Storage or Librem Key)
|
|
#
|
|
# TPM can be used with a qemu software TPM (TIS, 2.0).
|
|
export CONFIG_COREBOOT=y
|
|
export CONFIG_COREBOOT_VERSION=24.02.01
|
|
export CONFIG_LINUX_VERSION=5.10.5
|
|
|
|
CONFIG_COREBOOT_CONFIG=config/coreboot-qemu-tpm2.config
|
|
CONFIG_LINUX_CONFIG=config/linux-qemu.config
|
|
|
|
#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
|
|
#export CONFIG_BASIC=y
|
|
|
|
#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
|
|
|
|
#Enable DEBUG output
|
|
export CONFIG_DEBUG_OUTPUT=y
|
|
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y
|
|
#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
|
|
#Runtime on-demand additional hardware support (modules.cpio)
|
|
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y
|
|
|
|
|
|
|
|
#Modules packed into tools.cpio
|
|
ifeq "$(CONFIG_UROOT)" "y"
|
|
CONFIG_BUSYBOX=n
|
|
else
|
|
#Modules packed into tools.cpio
|
|
CONFIG_CRYPTSETUP2=y
|
|
CONFIG_FLASHROM=y
|
|
CONFIG_FLASHTOOLS=y
|
|
CONFIG_GPG2=y
|
|
CONFIG_KEXEC=y
|
|
CONFIG_UTIL_LINUX=y
|
|
CONFIG_LVM2=y
|
|
CONFIG_MBEDTLS=y
|
|
CONFIG_PCIUTILS=y
|
|
#Runtime tools to write to MSR
|
|
#CONFIG_MSRTOOLS=y
|
|
#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
|
|
CONFIG_HOTPKEY=y
|
|
#Nitrokey Storage admin tool (deprecated)
|
|
#CONFIG_NKSTORECLI=n
|
|
#GUI Support
|
|
#Console based Whiptail support(Console based, no FB):
|
|
CONFIG_SLANG=y
|
|
CONFIG_NEWT=y
|
|
#FBWhiptail based (Graphical):
|
|
#CONFIG_CAIRO=y
|
|
#CONFIG_FBWHIPTAIL=y
|
|
#Additional tools (tools.cpio):
|
|
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
|
CONFIG_DROPBEAR=y
|
|
endif
|
|
|
|
#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
|
|
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_BOARD_NAME="qemu-coreboot-whiptail-tpm2-hotp"
|
|
#export CONFIG_FLASHROM_OPTIONS="-p internal"
|
|
export CONFIG_AUTO_BOOT_TIMEOUT=5
|
|
|
|
BOARD_TARGETS := qemu
|