mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-18 20:47:55 +00:00
853541c6a9
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
91 lines
3.3 KiB
Makefile
91 lines
3.3 KiB
Makefile
# Configuration for a W530 running Qubes and other Linux Based OSes (through kexec)
|
|
#
|
|
# Includes
|
|
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
|
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
|
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
|
#
|
|
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
|
# This board is designed for a w530 with the K2000M Nvidia Quadro dGPU. Initialization of the dGPU is necessary in order to use an external monitor whether through the in-build VGA or mini-DisplayPort or via the dock. In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).
|
|
export CONFIG_COREBOOT=y
|
|
export CONFIG_COREBOOT_VERSION=4.22.01
|
|
export CONFIG_LINUX_VERSION=6.1.8
|
|
|
|
CONFIG_COREBOOT_CONFIG=config/coreboot-w530-dgpu-K2000m-maximized.config
|
|
CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config
|
|
|
|
#Additional hardware support
|
|
CONFIG_LINUX_USB=y
|
|
CONFIG_LINUX_E1000E=y
|
|
CONFIG_MOBILE_TETHERING=y
|
|
|
|
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_PRESKYLAKE=y
|
|
|
|
|
|
#Remote attestation support
|
|
#TPM based requirements
|
|
export CONFIG_TPM=y
|
|
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
|
|
export CONFIG_AUTO_BOOT_TIMEOUT=5
|
|
|
|
#Nitrokey Storage admin tool
|
|
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:
|
|
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
|
CONFIG_DROPBEAR=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 W530-dgpu-K2000m-hotp-maximized"
|
|
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
|
|
|
|
# xx30-*-maximized boards require of you initially call one of the
|
|
# following to have gbe.bin ifd.bin and me.bin
|
|
# - blobs/xx30/download_clean_me.sh
|
|
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
|
# reduced IFD ME region and expanded BIOS IFD region.
|
|
# - blobs/xx30/extract.sh
|
|
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
|
|
|
# Make the Coreboot build depend on the following 3rd party blobs:
|
|
$(build)/coreboot-$(CONFIG_COREBOOT_VERSION)/$(BOARD)/.build: \
|
|
$(pwd)/blobs/xx30/me.bin $(pwd)/blobs/xx30/10de,0ffb.rom $(pwd)/blobs/xx30/8086,0106.rom
|
|
|
|
#Include bits related to ivybridge ME blob download/neutering down to BUP+ROMP
|
|
BOARD_TARGETS := xx30_me_blobs
|
|
|
|
$(pwd)/blobs/xx30/10de,0ffb.rom:
|
|
$(pwd)/blobs/xx30/vbios_w530.sh
|
|
|
|
# Generate split 4MB top / 8MB bottom ROMs
|
|
BOARD_TARGETS += split_8mb4mb
|