Skip to content

Commit

Permalink
x230t : add hotp/non-hotp variant and specialized coreboot config, ad…
Browse files Browse the repository at this point in the history
…d x230t to BOARD_TESTERS.md

Repro
git checkout -b x230t_addition
cp -r boards/x230-maximized/ boards/x230t-maximized
cp -r boards/x230-hotp-maximized boards/x230t-hotp-maximized
mv boards/x230t-hotp-maximized/x230-hotp-maximized.config boards/x230t-hotp-maximized/x230t-hotp-maximized.config
mv boards/x230t-maximized/x230-maximized.config boards/x230t-maximized/x230t-maximized.config
cp config/coreboot-x230-maximized.config config/coreboot-x230t-maximized.config
vim boards/x230t-maximized/x230t-maximized.config
vim boards/x230t-hotp-maximized/x230t-hotp-maximized.config
docker run -e DISPLAY=$DISPLAY --network host --rm -ti -v $(pwd):$(pwd) -w $(pwd) tlaurion/heads-dev-env:latest -- make BOARD=x230t-maximized coreboot.modify_and_save_oldconfig_in_place
meld config/coreboot-x230t-maximized.config config/coreboot-x230-maximized.config
docker run -e DISPLAY=$DISPLAY --network host --rm -ti -v $(pwd):$(pwd) -w $(pwd) tlaurion/heads-dev-env:latest -- make BOARD=x230t-maximized coreboot.save_in_defconfig_format_in_place
meld config/coreboot-x230t-maximized.config config/coreboot-x230-maximized.config
docker run -e DISPLAY=$DISPLAY --network host --rm -ti -v $(pwd):$(pwd) -w $(pwd) tlaurion/heads-dev-env:latest -- make BOARD=x230t-maximized coreboot.modify_and_save_oldconfig_in_place
git add boards/x230t-hotp-maximized/x230t-hotp-maximized.config boards/x230t-maximized/x230t-maximized.config config/coreboot-x230t-maximized.config
vim .circleci/config.yml
git add .circleci/config.yml
vim BOARD_TESTERS.md
git add BOARD_TESTERS.md
git commit --signoff -m
git push --force tlaurion-github

Signed-off-by: Thierry Laurion <[email protected]>
  • Loading branch information
tlaurion committed Sep 11, 2024
1 parent 3fef9e0 commit 537b4cb
Show file tree
Hide file tree
Showing 5 changed files with 882 additions and 0 deletions.
14 changes: 14 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,20 @@ workflows:
requires:
- x230-hotp-maximized

- build:
name: x230t-maximized
target: x230t-maximized
subcommand: ""
requires:
- x230-hotp-maximized

- build:
name: x230t-hotp-maximized
target: x230t-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized

- build:
name: x230-maximized
target: x230-maximized
Expand Down
1 change: 1 addition & 0 deletions BOARD_TESTERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ xx30 (Ivy):
- [ ] x230 (xx30): @nestire(x230-legacy, x230-maximized) @tlaurion(maximized) @osresearch @merge @jan23 @MrChromebox @shamen123 @eganonoa @bwachter @Thrilleratplay @jnscmns @doob85 @natterangell (x230i variant: irrelevant individual board)
- [ ] x230-fhd/edp variant: @n4ru @computer-user123 (nitro caster board) @Tonux599 @househead @pcm720 (eDP 4.0 board and 1440p display)
- [ ] t530 (xx30): @fhvyhjriur @3hhh (Opportunity to mainstream and close https://github.com/linuxboot/heads/issues/1682)
- [ ] x230t : @fhvyhjriur

xx4x(Haswell):
===
Expand Down
89 changes: 89 additions & 0 deletions boards/x230t-hotp-maximized/x230t-hotp-maximized.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Configuration for a X230t running Qubes 4.1 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)
export CONFIG_COREBOOT=y
export CONFIG_COREBOOT_VERSION=24.02.01
export CONFIG_LINUX_VERSION=5.10.5

CONFIG_COREBOOT_CONFIG=config/coreboot-x230t-maximized.config
CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config

#Enable DEBUG output
#export CONFIG_DEBUG_OUTPUT=y
#export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y

#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_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
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


#platform locking finalization (PR0)
# This prevents SPI from being writeable outside of Heads
CONFIG_IO386=y
export CONFIG_FINALIZE_PLATFORM_LOCKING_PRESKYLAKE=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_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 X230-hotp-maximized"
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"

#Include bits related to ivybridge ME blob download/neutering down to BUP+ROMP
BOARD_TARGETS := xx30_me_blobs

# Generate split 4MB top / 8MB bottom ROMs
BOARD_TARGETS += split_8mb4mb
77 changes: 77 additions & 0 deletions boards/x230t-maximized/x230t-maximized.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Configuration for a X230t running Qubes 4.1 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
#
# - 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.02.01
export CONFIG_LINUX_VERSION=5.10.5

CONFIG_COREBOOT_CONFIG=config/coreboot-x230t-maximized.config
CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config

#Enable DEBUG output
#export CONFIG_DEBUG_OUTPUT=y
#export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=y

#Additional hardware support
CONFIG_LINUX_USB=y
CONFIG_LINUX_E1000E=y
CONFIG_MOBILE_TETHERING=y

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

#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

#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 X230-maximized"
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"

#Include bits related to ivybridge ME blob download/neutering down to BUP+ROMP
BOARD_TARGETS := xx30_me_blobs

# Generate split 4MB top / 8MB bottom ROMs
BOARD_TARGETS += split_8mb4mb
Loading

0 comments on commit 537b4cb

Please sign in to comment.