mirror of
https://github.com/linuxboot/heads.git
synced 2025-03-13 15:56:37 +00:00
100 lines
3.5 KiB
Makefile
100 lines
3.5 KiB
Makefile
# Configuration for a T480 running Qubes 4.2.3 and other Linux Based OSes (through kexec)
|
|
#
|
|
# CAVEATS:
|
|
# This board is vulnerable to a TPM reset attack, i.e. the PCRs are reset while the system is running.
|
|
# This attack can be used to bypass measured boot when an attacker succeeds at modifying the SPI flash.
|
|
# Also it can be used to extract FDE keys from a TPM.
|
|
# The related coreboot issue contains more information: https://ticket.coreboot.org/issues/576
|
|
# Make sure you understand the implications of the attack for your threat model before using this board.
|
|
#
|
|
# Includes
|
|
# - Deactivated+neutered+deguarded ME and expanded consequent IFD BIOS regions
|
|
# - Forged GBE MAC address to 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx80/extract.sh)
|
|
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
|
# - Flashable Thunderbolt tb.bin blob extracted from https://download.lenovo.com/pccbbs/mobiles/n24th13w.exe
|
|
# - It is zero-padded to 1MB and should be flashed to the Thunderbolt SPI chip,
|
|
# which is not the same as the 16MB chip to which the heads rom is flashed.
|
|
# External flashing is recommended as the only way to reliably fix a bug in the original Thunderbolt software on the SPI chip.
|
|
# You can find a guide here: https://osresearch.net/T430-maximized-flashing/
|
|
#
|
|
# - DOES NOT INCLUDE Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
|
|
|
export CONFIG_COREBOOT=y
|
|
export CONFIG_COREBOOT_VERSION=24.12
|
|
export CONFIG_LINUX_VERSION=6.1.8
|
|
|
|
CONFIG_COREBOOT_CONFIG=config/coreboot-t480-maximized.config
|
|
CONFIG_LINUX_CONFIG=config/linux-t480.config
|
|
|
|
#On-demand hardware support (modules.cpio)
|
|
CONFIG_LINUX_USB=y
|
|
CONFIG_LINUX_E1000E=y
|
|
CONFIG_MOBILE_TETHERING=y
|
|
|
|
#Modules packed into tools.cpio
|
|
CONFIG_CRYPTSETUP2=y
|
|
CONFIG_FLASHPROG=y
|
|
CONFIG_FLASHTOOLS=y
|
|
CONFIG_GPG2=y
|
|
CONFIG_KEXEC=y
|
|
CONFIG_UTIL_LINUX=y
|
|
CONFIG_LVM2=y
|
|
CONFIG_MBEDTLS=y
|
|
CONFIG_PCIUTILS=y
|
|
|
|
#platform locking finalization (PR0)
|
|
CONFIG_IO386=y
|
|
export CONFIG_FINALIZE_PLATFORM_LOCKING=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
|
|
|
|
#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_DEBUG_OUTPUT=n
|
|
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n
|
|
#Enable TPM2 pcap output under /tmp
|
|
export CONFIG_TPM2_CAPTURE_PCAP=n
|
|
#Enable quiet mode: technical information logged under /tmp/debug.log
|
|
export CONFIG_QUIET_MODE=y
|
|
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
|
export CONFIG_BOOT_REQ_HASH=n
|
|
export CONFIG_BOOT_REQ_ROLLBACK=n
|
|
export CONFIG_BOOT_KERNEL_ADD=""
|
|
export CONFIG_BOOT_KERNEL_REMOVE="intel_iommu=on intel_iommu=igfx_off"
|
|
export CONFIG_BOARD_NAME="Thinkpad T480-maximized"
|
|
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
|
|
|
|
#Include bits related to ivybridge ME blob download/neutering down to BUP+ROMP
|
|
BOARD_TARGETS := xx80_me_blobs
|