|
| 1 | +# Configuration for a T480 running Qubes 4.2.3 and other Linux Based OSes (through kexec) |
| 2 | +# |
| 3 | +# CAVEATS: |
| 4 | +# This board is vulnerable to a TPM reset attack, i.e. the PCRs are reset while the system is running. |
| 5 | +# This attack can be used to bypass measured boot when an attacker succeeds at modifying the SPI flash. |
| 6 | +# Also it can be used to extract FDE keys from a TPM. |
| 7 | +# The related coreboot issue contains more information: https://ticket.coreboot.org/issues/576 |
| 8 | +# Make sure you understand the implications of the attack for your threat model before using this board. |
| 9 | +# |
| 10 | +# Includes |
| 11 | +# - Deactivated+neutered+deguarded ME and expanded consequent IFD BIOS regions |
| 12 | +# - 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) |
| 13 | +# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set |
| 14 | +# - Flashable Thunderbolt tb.bin blob extracted from https://download.lenovo.com/pccbbs/mobiles/n24th13w.exe |
| 15 | +# - It is zero-padded to 1MB and should be flashed to the Thunderbolt SPI chip, |
| 16 | +# which is not the same as the 16MB chip to which the heads rom is flashed. |
| 17 | +# External flashing is recommended as the only way to reliably fix a bug in the original Thunderbolt software on the SPI chip. |
| 18 | +# You can find a guide here: https://osresearch.net/T430-maximized-flashing/ |
| 19 | +# |
| 20 | +# - DOES NOT INCLUDE Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code) |
| 21 | + |
| 22 | +export CONFIG_COREBOOT=y |
| 23 | +export CONFIG_COREBOOT_VERSION=24.12 |
| 24 | +export CONFIG_LINUX_VERSION=6.1.8 |
| 25 | + |
| 26 | +CONFIG_COREBOOT_CONFIG=config/coreboot-t480s-maximized.config |
| 27 | +CONFIG_LINUX_CONFIG=config/linux-t480.config |
| 28 | + |
| 29 | +#On-demand hardware support (modules.cpio) |
| 30 | +CONFIG_LINUX_USB=y |
| 31 | +CONFIG_LINUX_E1000E=y |
| 32 | +CONFIG_MOBILE_TETHERING=y |
| 33 | + |
| 34 | +#Modules packed into tools.cpio |
| 35 | +CONFIG_CRYPTSETUP2=y |
| 36 | +CONFIG_FLASHPROG=y |
| 37 | +CONFIG_FLASHTOOLS=y |
| 38 | +CONFIG_GPG2=y |
| 39 | +CONFIG_KEXEC=y |
| 40 | +CONFIG_UTIL_LINUX=y |
| 41 | +CONFIG_LVM2=y |
| 42 | +CONFIG_MBEDTLS=y |
| 43 | +CONFIG_PCIUTILS=y |
| 44 | + |
| 45 | +#platform locking finalization (PR0) |
| 46 | +CONFIG_IO386=y |
| 47 | +export CONFIG_FINALIZE_PLATFORM_LOCKING=y |
| 48 | + |
| 49 | + |
| 50 | +#Remote attestation support |
| 51 | +# TPM2 requirements |
| 52 | +CONFIG_TPM2_TSS=y |
| 53 | +CONFIG_OPENSSL=y |
| 54 | +#Remote Attestation common tools |
| 55 | +CONFIG_POPT=y |
| 56 | +CONFIG_QRENCODE=y |
| 57 | +CONFIG_TPMTOTP=y |
| 58 | +#HOTP based remote attestation for supported USB Security dongle |
| 59 | +#With/Without TPM support |
| 60 | +#CONFIG_HOTPKEY=y |
| 61 | +#Nitrokey Storage admin tool (deprecated) |
| 62 | +#CONFIG_NKSTORECLI=n |
| 63 | + |
| 64 | +#GUI Support |
| 65 | +#Console based Whiptail support(Console based, no FB): |
| 66 | +#CONFIG_SLANG=y |
| 67 | +#CONFIG_NEWT=y |
| 68 | +#FBWhiptail based (Graphical): |
| 69 | +CONFIG_CAIRO=y |
| 70 | +CONFIG_FBWHIPTAIL=y |
| 71 | + |
| 72 | +#Additional tools (tools.cpio): |
| 73 | +#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E) |
| 74 | +CONFIG_DROPBEAR=y |
| 75 | + |
| 76 | +#Runtime configuration |
| 77 | +#Automatically boot if HOTP is valid |
| 78 | +export CONFIG_AUTO_BOOT_TIMEOUT=5 |
| 79 | +#TPM2 requirements |
| 80 | +export CONFIG_TPM2_TOOLS=y |
| 81 | +export CONFIG_PRIMARY_KEY_TYPE=ecc |
| 82 | +#TPM1 requirements |
| 83 | +#export CONFIG_TPM=y |
| 84 | +export CONFIG_DEBUG_OUTPUT=n |
| 85 | +export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n |
| 86 | +#Enable TPM2 pcap output under /tmp |
| 87 | +export CONFIG_TPM2_CAPTURE_PCAP=n |
| 88 | +#Enable quiet mode: technical information logged under /tmp/debug.log |
| 89 | +export CONFIG_QUIET_MODE=y |
| 90 | +export CONFIG_BOOTSCRIPT=/bin/gui-init |
| 91 | +export CONFIG_BOOT_REQ_HASH=n |
| 92 | +export CONFIG_BOOT_REQ_ROLLBACK=n |
| 93 | +export CONFIG_BOOT_KERNEL_ADD="" |
| 94 | +export CONFIG_BOOT_KERNEL_REMOVE="intel_iommu=on intel_iommu=igfx_off" |
| 95 | +export CONFIG_BOARD_NAME="Thinkpad T480S-maximized" |
| 96 | +export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal" |
| 97 | + |
| 98 | +#Include bits related to ivybridge ME blob download/neutering down to BUP+ROMP |
| 99 | +BOARD_TARGETS := xx80_me_blobs |
0 commit comments