Skip to content

Commit 77f8d5a

Browse files
authored
Merge pull request #967 from tlaurion/x230-maximized-fhd
Add x230-maximized-fhd_edp and x230-hotp-maximized-fhd_edp boards
2 parents 8ec0cd3 + 2b05a6b commit 77f8d5a

File tree

5 files changed

+444
-0
lines changed

5 files changed

+444
-0
lines changed

.circleci/config.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,20 @@ workflows:
352352
requires:
353353
- x230-hotp-maximized
354354

355+
- build:
356+
name: x230-maximized-fhd_edp
357+
target: x230-maximized-fhd_edp
358+
subcommand: ""
359+
requires:
360+
- x230-hotp-maximized
361+
362+
- build:
363+
name: x230-hotp-maximized-fhd_edp
364+
target: x230-hotp-maximized-fhd_edp
365+
subcommand: ""
366+
requires:
367+
- x230-hotp-maximized
368+
355369
- build:
356370
name: t530-hotp-maximized
357371
target: t530-hotp-maximized
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Configuration for a X230 running Qubes 4.1 and other Linux Based OSes (through kexec)
2+
#
3+
# Based on https://review.coreboot.org/c/coreboot/+/28950 for FHD mod
4+
# This has been reported to work with the following panels:
5+
# LP125WF2-SPB4 (1920*1080, 12.5")
6+
# LQ125T1JW02 (2560*1440, 12.5")
7+
# LQ133M1JW21 (1920*1080, 13.3")
8+
# LTN133HL10-201 (1920*1080, 13.3")
9+
# B133HAN04.6 (1920*1080, 13.3")
10+
# B133QAN02.0 (2560*1600, 13.3")
11+
#
12+
# Other eDP panels not on this list should work as well.
13+
# Please verify if your panel needs a firmware mod.
14+
#
15+
# Includes
16+
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
17+
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
18+
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
19+
#
20+
# - Includes: Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
21+
export CONFIG_COREBOOT=y
22+
export CONFIG_COREBOOT_VERSION=4.13
23+
export CONFIG_LINUX_VERSION=4.14.62
24+
25+
CONFIG_COREBOOT_CONFIG=config/coreboot-x230-maximized-fhd_edp.config
26+
CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config
27+
28+
#Additional hardware support
29+
CONFIG_LINUX_USB=y
30+
CONFIG_LINUX_E1000E=y
31+
32+
CONFIG_CRYPTSETUP2=y
33+
CONFIG_FLASHROM=y
34+
CONFIG_FLASHTOOLS=y
35+
CONFIG_GPG2=y
36+
CONFIG_KEXEC=y
37+
CONFIG_UTIL_LINUX=y
38+
CONFIG_LVM2=y
39+
CONFIG_MBEDTLS=y
40+
CONFIG_PCIUTILS=y
41+
42+
#Remote attestation support
43+
#TPM based requirements
44+
export CONFIG_TPM=y
45+
CONFIG_POPT=y
46+
CONFIG_QRENCODE=y
47+
CONFIG_TPMTOTP=y
48+
#HOTP based remote attestation for supported USB Security dongle
49+
#With/Without TPM support
50+
CONFIG_HOTPKEY=y
51+
52+
#Nitrokey Storage admin tool
53+
CONFIG_NKSTORECLI=n
54+
55+
#GUI Support
56+
#Console based Whiptail support(Console based, no FB):
57+
#CONFIG_SLANG=y
58+
#CONFIG_NEWT=y
59+
#FBWhiptail based (Graphical):
60+
CONFIG_CAIRO=y
61+
CONFIG_FBWHIPTAIL=y
62+
63+
#Additional tools:
64+
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
65+
CONFIG_DROPBEAR=y
66+
67+
export CONFIG_BOOTSCRIPT=/bin/gui-init
68+
export CONFIG_BOOT_REQ_HASH=n
69+
export CONFIG_BOOT_REQ_ROLLBACK=n
70+
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
71+
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
72+
export CONFIG_BOOT_DEV="/dev/sda1"
73+
export CONFIG_BOARD_NAME="Thinkpad X230-hotp-maximized-eDP"
74+
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
75+
76+
# xx30-*-maximized boards require of you initially call one of the
77+
# following to have gbe.bin ifd.bin and me.bin
78+
# - blobs/xx30/download_clean_me.sh
79+
# To download Lenovo original ME binary, neuter+deactivate ME, produce
80+
# reduced IFD ME region and expanded BIOS IFD region.
81+
# - blobs/xx30/extract.sh
82+
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
83+
#
84+
# This board has two SPI flash chips, an 8 MB that holds the IFD,
85+
# the ME image and part of the coreboot image, and a 4 MB one that
86+
# has the rest of the coreboot and the reset vector.
87+
#
88+
# As a consequence, this replaces the need of having to flash x230-flash
89+
# and expands available CBFS region (11.5Mb available CBFS space)
90+
#
91+
# When flashing via an external programmer it is easiest to have
92+
# two separate files for these pieces.
93+
all: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
94+
@sha256sum $@ | tee -a "$(HASHES)"
95+
96+
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
97+
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
98+
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
99+
@sha256sum $@ | tee -a "$(HASHES)"
100+
101+
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
102+
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
103+
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
104+
@sha256sum $@ | tee -a "$(HASHES)"
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Configuration for a X230 running Qubes 4.1 and other Linux Based OSes (through kexec)
2+
#
3+
# Based on https://review.coreboot.org/c/coreboot/+/28950 for FHD mod
4+
# This has been reported to work with the following panels:
5+
# LP125WF2-SPB4 (1920*1080, 12.5")
6+
# LQ125T1JW02 (2560*1440, 12.5")
7+
# LQ133M1JW21 (1920*1080, 13.3")
8+
# LTN133HL10-201 (1920*1080, 13.3")
9+
# B133HAN04.6 (1920*1080, 13.3")
10+
# B133QAN02.0 (2560*1600, 13.3")
11+
#
12+
# Other eDP panels not on this list should work as well.
13+
# Please verify if your panel needs a firmware mod.
14+
#
15+
# Includes
16+
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
17+
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
18+
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
19+
#
20+
# - DOES NOT INCLUDE Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
21+
export CONFIG_COREBOOT=y
22+
export CONFIG_COREBOOT_VERSION=4.13
23+
export CONFIG_LINUX_VERSION=4.14.62
24+
25+
CONFIG_COREBOOT_CONFIG=config/coreboot-x230-maximized-fhd_edp.config
26+
CONFIG_LINUX_CONFIG=config/linux-x230-maximized.config
27+
28+
#Additional hardware support
29+
CONFIG_LINUX_USB=y
30+
CONFIG_LINUX_E1000E=y
31+
32+
CONFIG_CRYPTSETUP2=y
33+
CONFIG_FLASHROM=y
34+
CONFIG_FLASHTOOLS=y
35+
CONFIG_GPG2=y
36+
CONFIG_KEXEC=y
37+
CONFIG_UTIL_LINUX=y
38+
CONFIG_LVM2=y
39+
CONFIG_MBEDTLS=y
40+
CONFIG_PCIUTILS=y
41+
42+
#Remote attestation support
43+
#TPM based requirements
44+
export CONFIG_TPM=y
45+
CONFIG_POPT=y
46+
CONFIG_QRENCODE=y
47+
CONFIG_TPMTOTP=y
48+
#HOTP based remote attestation for supported USB Security dongle
49+
#With/Without TPM support
50+
#CONFIG_HOTPKEY=y
51+
52+
#Nitrokey Storage admin tool
53+
CONFIG_NKSTORECLI=n
54+
55+
#GUI Support
56+
#Console based Whiptail support(Console based, no FB):
57+
#CONFIG_SLANG=y
58+
#CONFIG_NEWT=y
59+
#FBWhiptail based (Graphical):
60+
CONFIG_CAIRO=y
61+
CONFIG_FBWHIPTAIL=y
62+
63+
#Additional tools:
64+
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
65+
CONFIG_DROPBEAR=y
66+
67+
export CONFIG_BOOTSCRIPT=/bin/gui-init
68+
export CONFIG_BOOT_REQ_HASH=n
69+
export CONFIG_BOOT_REQ_ROLLBACK=n
70+
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
71+
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
72+
export CONFIG_BOOT_DEV="/dev/sda1"
73+
export CONFIG_BOARD_NAME="Thinkpad X230-maximized-eDP"
74+
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
75+
76+
# xx30-*-maximized boards require of you initially call one of the
77+
# following to have gbe.bin ifd.bin and me.bin
78+
# - blobs/xx30/download_clean_me.sh
79+
# To download Lenovo original ME binary, neuter+deactivate ME, produce
80+
# reduced IFD ME region and expanded BIOS IFD region.
81+
# - blobs/xx30/extract.sh
82+
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
83+
#
84+
# This board has two SPI flash chips, an 8 MB that holds the IFD,
85+
# the ME image and part of the coreboot image, and a 4 MB one that
86+
# has the rest of the coreboot and the reset vector.
87+
#
88+
# As a consequence, this replaces the need of having to flash x230-flash
89+
# and expands available CBFS region (11.5Mb available CBFS space)
90+
#
91+
# When flashing via an external programmer it is easiest to have
92+
# two separate files for these pieces.
93+
all: $(board_build)/$(CB_OUTPUT_FILE)
94+
@sha256sum $@ | tee -a "$(HASHES)"
95+
96+
all: $(board_build)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
97+
$(board_build)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(board_build)/$(CB_OUTPUT_FILE)
98+
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
99+
@sha256sum $@ | tee -a "$(HASHES)"
100+
101+
all: $(board_build)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
102+
$(board_build)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(board_build)/$(CB_OUTPUT_FILE)
103+
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
104+
@sha256sum $@ | tee -a "$(HASHES)"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# CONFIG_USE_BLOBS is not set
2+
CONFIG_VENDOR_LENOVO=y
3+
CONFIG_NO_POST=y
4+
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
5+
CONFIG_CBFS_SIZE=0xB80000
6+
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/variants/x230_edp/data.vbt"
7+
CONFIG_IFD_BIN_PATH="@BLOB_DIR@/xx30/ifd.bin"
8+
CONFIG_ME_BIN_PATH="@BLOB_DIR@/xx30/me.bin"
9+
CONFIG_GBE_BIN_PATH="@BLOB_DIR@/xx30/gbe.bin"
10+
CONFIG_HAVE_IFD_BIN=y
11+
CONFIG_BOARD_LENOVO_X230_EDP=y
12+
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
13+
CONFIG_UART_PCI_ADDR=0
14+
CONFIG_HAVE_ME_BIN=y
15+
CONFIG_HAVE_GBE_BIN=y
16+
CONFIG_DRIVERS_PS2_KEYBOARD=y
17+
CONFIG_TPM_MEASURED_BOOT=y
18+
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000
19+
CONFIG_PAYLOAD_LINUX=y
20+
CONFIG_PAYLOAD_FILE="@BOARD_BUILD_DIR@/bzImage"
21+
CONFIG_LINUX_INITRD="@BOARD_BUILD_DIR@/initrd.cpio.xz"

0 commit comments

Comments
 (0)