Skip to content

Commit 95af626

Browse files
committed
kgpe-d16: add AGESA 15h fork support with TPM1/TPM2 variants
- Add coreboot-15h module (4.11_wip-tpm branch, commit 1afdea5572e4908c51c5b4bed43fcdc2a98fd768) - Move 4 kgpe-d16 boards from unmaintained_boards/ to boards/ - Create TPM1 (SLB9635) and TPM2 (SLB9665) variants for each board - Add coreboot configs with TPM1/TPM2 settings - Add 15h.org wiki references to board documentation - Add CircleCI jobs with coreboot-15h fork cache helpers used: - make BOARD=$board coreboot.save_in_defconfig_format_backup - make BOARD=$board coreboot.save_in_oldconfig_format_backup - make BOARD=$board linux.save_in_defconfig_format_backup - make BOARD=$board linux.save_in_olddefconfig_format_backup Signed-off-by: Thierry Laurion <insurgo@riseup.net>
1 parent 426750a commit 95af626

30 files changed

Lines changed: 3641 additions & 468 deletions

File tree

.circleci/config.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,67 @@ workflows:
526526
requires:
527527
- x86-musl-cross-make
528528

529+
# 15h.org AGESA fork
530+
- x86_coreboot:
531+
name: kgpe-d16_workstation-tpm1
532+
target: kgpe-d16_workstation-tpm1
533+
subcommand: ""
534+
coreboot_dir: coreboot-15h
535+
requires:
536+
- x86-musl-cross-make
537+
538+
# 15h.org AGESA fork: seed is kgpe-d16_workstation-tpm1 (x86_coreboot job above)
539+
# coreboot fam15h - TPM1 variants
540+
- build:
541+
name: kgpe-d16_workstation-usb_keyboard-tpm1
542+
target: kgpe-d16_workstation-usb_keyboard-tpm1
543+
subcommand: ""
544+
requires:
545+
- kgpe-d16_workstation-tpm1
546+
547+
- build:
548+
name: kgpe-d16_server-tpm1
549+
target: kgpe-d16_server-tpm1
550+
subcommand: ""
551+
requires:
552+
- kgpe-d16_workstation-tpm1
553+
554+
- build:
555+
name: kgpe-d16_server-whiptail-tpm1
556+
target: kgpe-d16_server-whiptail-tpm1
557+
subcommand: ""
558+
requires:
559+
- kgpe-d16_workstation-tpm1
560+
561+
# coreboot fam15h - TPM2 variants (use 15h fork cache from tpm1 seed)
562+
- build:
563+
name: kgpe-d16_workstation-tpm2
564+
target: kgpe-d16_workstation-tpm2
565+
subcommand: ""
566+
requires:
567+
- kgpe-d16_workstation-tpm1
568+
569+
- build:
570+
name: kgpe-d16_workstation-usb_keyboard-tpm2
571+
target: kgpe-d16_workstation-usb_keyboard-tpm2
572+
subcommand: ""
573+
requires:
574+
- kgpe-d16_workstation-tpm2
575+
576+
- build:
577+
name: kgpe-d16_server-tpm2
578+
target: kgpe-d16_server-tpm2
579+
subcommand: ""
580+
requires:
581+
- kgpe-d16_workstation-tpm2
582+
583+
- build:
584+
name: kgpe-d16_server-whiptail-tpm2
585+
target: kgpe-d16_server-whiptail-tpm2
586+
subcommand: ""
587+
requires:
588+
- kgpe-d16_workstation-tpm2
589+
529590
# Those onboarding new boards should add their entries below.
530591
# coreboot 25.09 boards
531592
- build:

unmaintained_boards/UNMAINTAINED_kgpe-d16_server/UNMAINTAINED_kgpe-d16_server.config renamed to boards/kgpe-d16_server-tpm1/kgpe-d16_server-tpm1.config

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Configuration for a kgpe-d16_server
22
# per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php work, with patches merged into Heads
33
#
4+
# Hardware: Requires 16 MiB SPI flash chip upgrade (e.g., W25Q128) - stock 2 MiB (W25Q16V) is insufficient.
5+
#
46
# Tested: ASMBV4 reprogrammed per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php
57
#
68
# Status:
@@ -16,10 +18,10 @@
1618
# - Please contribute documentation on heads-wiki
1719
# - Please support https://github.com/osresearch/heads/issues/719
1820
export CONFIG_COREBOOT=y
19-
export CONFIG_COREBOOT_VERSION=4.11
21+
export CONFIG_COREBOOT_VERSION=15h
2022
export CONFIG_LINUX_VERSION=6.1.8
2123

22-
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server.config
24+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-tpm1.config
2325
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server.config
2426

2527
CONFIG_CRYPTSETUP2=y
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Configuration for a kgpe-d16_server (TPM2 variant)
2+
# See https://15h.org/index.php/ASUS_KGPE-D16 for full hardware details
3+
#
4+
# Hardware:
5+
# - Dual socket G34 for AMD Opteron 6200/6300 series (6100 series unsupported)
6+
# - AMD SR5690 northbridge, AMD SP5100 southbridge
7+
# - Winbond W83667HG-A Super I/O, ASPEED AST2050 BMC
8+
# - 16 DDR3 slots (8 channels), up to 512GB ECC UDIMM/RDIMM/LRDIMM
9+
# - Requires 16 MiB SPI flash chip upgrade (e.g., W25Q128) - stock 2 MiB (W25Q16V) is insufficient
10+
# - Intel 82574L dual gigabit Ethernet
11+
#
12+
# Display:
13+
# - VGA_SW1 jumper: "Enable" = onboard AST2050 VGA, "Disable" = PCIe GPU
14+
# - This config uses onboard VGA (text mode) via BMC serial console
15+
#
16+
# Fan Control:
17+
# - CPUFAN_SEL1: CPU fan zone (4-pin PWM recommended)
18+
# - CHAFAN_SEL1: Chassis fan zone (4-pin PWM recommended)
19+
# - 3-pin fans will run at 100% in PWM mode
20+
#
21+
# TPM:
22+
# - Infineon SLB9665 (Asus TPM-L R2.0)
23+
# - See https://15h.org/index.php/KGPE-D16_(Raptor)#TPM
24+
#
25+
# Status:
26+
# - TPM support still in progress (see 15h.org wiki)
27+
# - Two black SATA ports are inactive
28+
# - SeaBIOS does not respond to keyboards behind USB hub
29+
# - S3 Suspend/Resume unsupported
30+
# - No microcode included (see Linux panics with latest microcode)
31+
# AMD Opteron 6300 series users: ensure OS loads microcode updates
32+
#
33+
# Flashing:
34+
# - External flashing required (3.3V CH341A programmer)
35+
# - CMOS clear required after flashing: move CLRTC1 to 2-3, wait 20s, restore
36+
# - Flash chip location: bottom right corner of board (labeled BIOS)
37+
#
38+
# BMC:
39+
# - Connect via ttyS1 at 115200n8
40+
# - https://github.com/osresearch/heads/issues/134#issuecomment-368922440
41+
#
42+
# Links:
43+
# - https://15h.org/index.php/ASUS_KGPE-D16
44+
# - https://15h.org/index.php/Coreboot-15h
45+
# - Please contribute documentation to heads-wiki
46+
47+
export CONFIG_COREBOOT=y
48+
export CONFIG_COREBOOT_VERSION=15h
49+
export CONFIG_LINUX_VERSION=6.1.8
50+
51+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-tpm2.config
52+
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server.config
53+
54+
CONFIG_CRYPTSETUP2=y
55+
CONFIG_FLASHPROG=y
56+
CONFIG_FLASHPROG_AST1100=y
57+
CONFIG_FLASHTOOLS=y
58+
CONFIG_GPG2=y
59+
CONFIG_KEXEC=y
60+
CONFIG_UTIL_LINUX=y
61+
CONFIG_LVM2=y
62+
CONFIG_MBEDTLS=y
63+
CONFIG_PCIUTILS=y
64+
CONFIG_POPT=y
65+
CONFIG_QRENCODE=y
66+
CONFIG_TPMTOTP=y
67+
CONFIG_DROPBEAR=y
68+
69+
CONFIG_LINUX_USB=y
70+
CONFIG_LINUX_E1000E=y
71+
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y
72+
73+
export CONFIG_TPM=y
74+
export CONFIG_TPM2=y
75+
export CONFIG_DEBUG_OUTPUT=n
76+
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n
77+
export CONFIG_TPM2_CAPTURE_PCAP=n
78+
export CONFIG_QUIET_MODE=y
79+
export CONFIG_BOOTSCRIPT=/bin/generic-init.sh
80+
81+
# Console: dual output to BMC (ttyS1) and local VGA (tty0)
82+
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 console=tty0"
83+
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
84+
export CONFIG_BOOT_STATIC_IP=192.168.2.3
85+
86+
export CONFIG_BOOT_REQ_HASH=n
87+
export CONFIG_BOOT_REQ_ROLLBACK=n
88+
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
89+
export CONFIG_BOARD_NAME="KGPE-D16 Server TPM2"
90+
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
91+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"

unmaintained_boards/UNMAINTAINED_kgpe-d16_server-whiptail/UNMAINTAINED_kgpe-d16_server-whiptail.config renamed to boards/kgpe-d16_server-whiptail-tpm1/kgpe-d16_server-whiptail-tpm1.config

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Configuration for a kgpe-d16_server with whiptail, permitting usage of gui-init on console without FB graphic
22
# per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php work, with patches merged into Heads
33
#
4+
# Hardware: Requires 16 MiB SPI flash chip upgrade (e.g., W25Q128) - stock 2 MiB (W25Q16V) is insufficient.
5+
#
46
# Tested: ASMBV4 reprogrammed per https://www.raptorengineering.com/coreboot/kgpe-d16-bmc-port-status.php
57
#
68
# Status:
@@ -18,10 +20,10 @@
1820
# sure their operating system loads microcode updates.
1921

2022
export CONFIG_COREBOOT=y
21-
export CONFIG_COREBOOT_VERSION=4.11
23+
export CONFIG_COREBOOT_VERSION=15h
2224
export CONFIG_LINUX_VERSION=6.1.8
2325

24-
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-whiptail.config
26+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-whiptail-tpm1.config
2527
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server-whiptail.config
2628

2729
CONFIG_CRYPTSETUP2=y
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# Configuration for a kgpe-d16_server with whiptail (TPM2 variant)
2+
# See https://15h.org/index.php/ASUS_KGPE-D16 for full hardware details
3+
#
4+
# Hardware:
5+
# - Dual socket G34 for AMD Opteron 6200/6300 series (6100 series unsupported)
6+
# - AMD SR5690 northbridge, AMD SP5100 southbridge
7+
# - Winbond W83667HG-A Super I/O, ASPEED AST2050 BMC
8+
# - 16 DDR3 slots (8 channels), up to 512GB ECC UDIMM/RDIMM/LRDIMM
9+
# - Requires 16 MiB SPI flash chip upgrade (e.g., W25Q128) - stock 2 MiB (W25Q16V) is insufficient
10+
# - Intel 82574L dual gigabit Ethernet
11+
#
12+
# Display:
13+
# - VGA_SW1 jumper: "Enable" = onboard AST2050 VGA, "Disable" = PCIe GPU
14+
# - This config uses onboard VGA (text mode) via BMC serial console
15+
#
16+
# Fan Control:
17+
# - CPUFAN_SEL1: CPU fan zone (4-pin PWM recommended)
18+
# - CHAFAN_SEL1: Chassis fan zone (4-pin PWM recommended)
19+
# - 3-pin fans will run at 100% in PWM mode
20+
#
21+
# TPM:
22+
# - Infineon SLB9665 (Asus TPM-L R2.0)
23+
# - See https://15h.org/index.php/KGPE-D16_(Raptor)#TPM
24+
#
25+
# Status:
26+
# - TPM support still in progress (see 15h.org wiki)
27+
# - Two black SATA ports are inactive
28+
# - SeaBIOS does not respond to keyboards behind USB hub
29+
# - S3 Suspend/Resume unsupported
30+
# - No microcode included (see Linux panics with latest microcode)
31+
# AMD Opteron 6300 series users: ensure OS loads microcode updates
32+
#
33+
# Flashing:
34+
# - External flashing required (3.3V CH341A programmer)
35+
# - CMOS clear required after flashing: move CLRTC1 to 2-3, wait 20s, restore
36+
# - Flash chip location: bottom right corner of board (labeled BIOS)
37+
#
38+
# BMC:
39+
# - Connect via ttyS1 at 115200n8
40+
# - https://github.com/osresearch/heads/issues/134#issuecomment-368922440
41+
#
42+
# Links:
43+
# - https://15h.org/index.php/ASUS_KGPE-D16
44+
# - https://15h.org/index.php/Coreboot-15h
45+
# - Please contribute documentation to heads-wiki
46+
47+
export CONFIG_COREBOOT=y
48+
export CONFIG_COREBOOT_VERSION=15h
49+
export CONFIG_LINUX_VERSION=6.1.8
50+
51+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-whiptail-tpm2.config
52+
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server-whiptail.config
53+
54+
CONFIG_CRYPTSETUP2=y
55+
CONFIG_FLASHPROG=y
56+
CONFIG_FLASHTOOLS=y
57+
CONFIG_GPG2=y
58+
CONFIG_KEXEC=y
59+
CONFIG_UTIL_LINUX=y
60+
CONFIG_LVM2=y
61+
CONFIG_MBEDTLS=y
62+
CONFIG_PCIUTILS=y
63+
CONFIG_POPT=y
64+
CONFIG_QRENCODE=y
65+
CONFIG_TPMTOTP=y
66+
CONFIG_DROPBEAR=y
67+
68+
CONFIG_SLANG=y
69+
CONFIG_NEWT=y
70+
71+
CONFIG_LINUX_USB=y
72+
CONFIG_LINUX_E1000E=y
73+
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y
74+
75+
export CONFIG_TPM=y
76+
export CONFIG_TPM2=y
77+
export CONFIG_DEBUG_OUTPUT=n
78+
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n
79+
export CONFIG_TPM2_CAPTURE_PCAP=n
80+
export CONFIG_QUIET_MODE=y
81+
export CONFIG_BOOTSCRIPT=/bin/gui-init.sh
82+
83+
# Console: BMC serial console output
84+
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 "
85+
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
86+
export CONFIG_BOOT_STATIC_IP=192.168.2.3
87+
88+
export CONFIG_BOOT_REQ_HASH=n
89+
export CONFIG_BOOT_REQ_ROLLBACK=n
90+
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
91+
export CONFIG_BOARD_NAME="KGPE-D16 Server-whiptail TPM2"
92+
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
93+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"

unmaintained_boards/UNMAINTAINED_kgpe-d16_workstation/UNMAINTAINED_kgpe-d16_workstation.config renamed to boards/kgpe-d16_workstation-tpm1/kgpe-d16_workstation-tpm1.config

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,29 @@
22
# Linux configuration supporting Nvidia, AMD GPUs, enforcing post on nvidia.
33
# Please make sure jumper forces external GPU
44
#
5+
# Hardware: Requires 16 MiB SPI flash chip upgrade (e.g., W25Q128) - stock 2 MiB (W25Q16V) is insufficient.
56
#
67
# Status:
78
# - TPM support in romstage (not bootblock) with TPM SLB9635 TT 1.2 by Infineon
89
# - To connect to BMC: https://github.com/osresearch/heads/issues/134#issuecomment-368922440
9-
# - Please contribute documentation on heads-wiki
10+
# - Please contribute documentation on heads-wiki / 15h.org
1011
# - Please support https://github.com/osresearch/heads/issues/719
1112
# - Disk Unlock Key released by TPM since not deactivated
1213
# - Currently, no microcode is included with coreboot. This is due to to a bug
1314
# in which newer Linux releases panics when the newest microcode is loaded by
1415
# coreboot. AMD Opteron 6300 series users are STRONGLY encouraged to make
1516
# sure their operating system loads microcode updates.
16-
17+
#
18+
# Since Qubes OS version 4.2 you need to use a speculative execution workaround to utilize qubes with pcie devices attached see https://15h.org/index.php/Qubes_OS
19+
# ask in the 15h.org matrix group about this if you are unsure or have trouble getting it to work
20+
#
21+
# read more about this board https://15h.org/index.php/KGPE-D16
1722

1823
export CONFIG_COREBOOT=y
19-
export CONFIG_COREBOOT_VERSION=4.11
24+
export CONFIG_COREBOOT_VERSION=15h
2025
export CONFIG_LINUX_VERSION=6.1.8
2126

22-
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_workstation.config
27+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_workstation-tpm1.config
2328
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_workstation.config
2429

2530
CONFIG_CRYPTSETUP2=y

0 commit comments

Comments
 (0)