Skip to content

Commit 86963db

Browse files
committed
kgpe-d16: add AGESA 15h fork support with TPM1/TPM2 variants
Add coreboot-15h module pointing to the AGESA-based 15h fork: repo: https://git.15h.org/mrothfuss/coreboot-15h.git branch: 4.11_wip-tpm commit: 1afdea5572e4908c51c5b4bed43fcdc2a98fd768 Move all four kgpe-d16 boards out of unmaintained_boards/ to boards/ and create TPM1/TPM2 variants: - kgpe-d16_server-tpm1, kgpe-d16_server-tpm2 - kgpe-d16_workstation-tpm1, kgpe-d16_workstation-tpm2 - kgpe-d16_server-whiptail-tpm1, kgpe-d16_server-whiptail-tpm2 - kgpe-d16_workstation-usb_keyboard-tpm1, kgpe-d16_workstation-usb_keyboard-tpm2 Rename coreboot configs to match TPM variant (-tpm1/-tpm2 suffix). Add coreboot TPM configs: - TPM1: CONFIG_TPM1=y, CONFIG_TPM_INIT=y, CONFIG_USER_TPM1=y - TPM2: CONFIG_TPM2=y, CONFIG_TPM2_MODE=spt, CONFIG_TPM2_PPI=y, CONFIG_USER_TPM2=y Add board documentation with 15h.org wiki references: - Hardware specs (sockets, chipset, memory, PCIe slots) - TPM chip compatibility (SLB9635/SLB9655 for TPM1, SLB9665 for TPM2) - VGA_SW1 jumper for display selection - Fan control zones (CPUFAN_SEL1, CHAFAN_SEL1) - Flashing instructions (CH341a, CMOS clear) - BMC console configuration Add workstation GPU support: - Tested: Nvidia GPUs (require NvForcePost=1 for post) - Linux config: nouveau, radeon, amdgpu enabled Fix modules/coreboot typo: fan contol -> fan control circleci: add kgpe-d16 tpm1 and tpm2 build jobs Reproduction notes - saving configs in proper format: ./docker_repro.sh make BOARD=$board coreboot.save_in_defconfig_format_backup ./docker_repro.sh make BOARD=$board coreboot.save_in_oldconfig_format_backup ./docker_repro.sh make BOARD=$board linux.save_in_defconfig_format_backup ./docker_repro.sh make BOARD=$board linux.save_in_olddefconfig_format_backup for board in $(ls -d boards/*/ | grep kgpe | sed 's|boards/||g' | sed 's|/$||g'); do ./docker_repro.sh make BOARD=$board coreboot.save_in_defconfig_format_backup done Signed-off-by: Thierry Laurion <insurgo@riseup.net>
1 parent 426750a commit 86963db

34 files changed

Lines changed: 4033 additions & 469 deletions

File tree

.circleci/config.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,63 @@ workflows:
800800
requires:
801801
- novacustom-v560tu
802802

803+
# coreboot fam15h (AGESA 15h fork)
804+
- build:
805+
name: kgpe-d16_workstation-tpm1
806+
target: kgpe-d16_workstation-tpm1
807+
subcommand: ""
808+
requires:
809+
- x86-musl-cross-make
810+
811+
- build:
812+
name: kgpe-d16_workstation-tpm2
813+
target: kgpe-d16_workstation-tpm2
814+
subcommand: ""
815+
requires:
816+
- kgpe-d16_workstation-tpm1
817+
818+
- build:
819+
name: kgpe-d16_workstation-usb_keyboard-tpm1
820+
target: kgpe-d16_workstation-usb_keyboard-tpm1
821+
subcommand: ""
822+
requires:
823+
- kgpe-d16_workstation-tpm2
824+
825+
- build:
826+
name: kgpe-d16_workstation-usb_keyboard-tpm2
827+
target: kgpe-d16_workstation-usb_keyboard-tpm2
828+
subcommand: ""
829+
requires:
830+
- kgpe-d16_workstation-usb_keyboard-tpm1
831+
832+
- build:
833+
name: kgpe-d16_server-tpm1
834+
target: kgpe-d16_server-tpm1
835+
subcommand: ""
836+
requires:
837+
- kgpe-d16_workstation-usb_keyboard-tpm2
838+
839+
- build:
840+
name: kgpe-d16_server-tpm2
841+
target: kgpe-d16_server-tpm2
842+
subcommand: ""
843+
requires:
844+
- kgpe-d16_server-tpm1
845+
846+
- build:
847+
name: kgpe-d16_server-whiptail-tpm1
848+
target: kgpe-d16_server-whiptail-tpm1
849+
subcommand: ""
850+
requires:
851+
- kgpe-d16_server-tpm2
852+
853+
- build:
854+
name: kgpe-d16_server-whiptail-tpm2
855+
target: kgpe-d16_server-whiptail-tpm2
856+
subcommand: ""
857+
requires:
858+
- kgpe-d16_server-whiptail-tpm1
859+
803860
# Dasharo msi_z690: shares dasharo_msi_z690 toolchain with UNTESTED_msi_z690a_ddr4
804861
- build:
805862
name: UNTESTED_msi_z690a_ddr5
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Configuration for a kgpe-d16_server (TPM1.2 variant)
2+
# See https://15h.org/index.php/ASUS_KGPE-D16 for full hardware details
3+
#
4+
# Hardware:
5+
# - Board revisions: 1.02G, 1.03G, 1.04, 1.05 (revisions 1.04/1.05 recommended)
6+
# - Dual socket G34 for AMD Opteron 6200/6300 series (6100 series unsupported)
7+
# - AMD SR5690 northbridge, AMD SP5100 southbridge
8+
# - Winbond W83667HG-A Super I/O, ASPEED AST2050 BMC
9+
# - 16 DDR3 slots (8 channels), up to 512GB ECC UDIMM/RDIMM/LRDIMM
10+
# - 2 MiB DIP-8 flash socket (W25Q16V) - REPLACE WITH 16 MiB CHIP FOR HEADS
11+
# - Intel 82574L dual gigabit Ethernet
12+
#
13+
# Display:
14+
# - VGA_SW1 jumper: "Enable" = onboard AST2050 VGA, "Disable" = PCIe GPU
15+
# - This config uses onboard VGA (text mode) via BMC serial console
16+
#
17+
# Fan Control:
18+
# - CPUFAN_SEL1: CPU fan zone (4-pin PWM recommended)
19+
# - CHAFAN_SEL1: Chassis fan zone (4-pin PWM recommended)
20+
# - 3-pin fans will run at 100% in PWM mode
21+
#
22+
# TPM:
23+
# - Infineon SLB9635 (Asus MC01B0-B01)
24+
# - Infineon SLB9655 (Supermicro AOM-TPM-9655V)
25+
# - See https://15h.org/index.php/KGPE-D16_(Raptor)#TPM
26+
#
27+
# Status:
28+
# - TPM support still in progress (see 15h.org wiki)
29+
# - Two black SATA ports are inactive
30+
# - SeaBIOS does not respond to keyboards behind USB hub
31+
# - S3 Suspend/Resume unsupported
32+
# - No microcode included (see Linux panics with latest microcode)
33+
# AMD Opteron 6300 series users: ensure OS loads microcode updates
34+
#
35+
# Initial flash (REQUIRED):
36+
# - Stock 2 MiB flash (W25Q16V) is NOT big enough for Heads
37+
# - MUST replace with 16 MiB flash chip (e.g., W25Q128JV)
38+
# - Initial flash MUST be done externally (3.3V CH341A SPI programmer)
39+
# - Chip location: bottom right corner of board (labeled BIOS)
40+
# - CMOS clear after flashing: move CLRTC1 to 2-3, wait 20s, restore
41+
# - After initial external flash, internal upgrades work like any other Heads board
42+
#
43+
# BMC:
44+
# - Connect via ttyS1 at 115200n8
45+
# - https://github.com/osresearch/heads/issues/134#issuecomment-368922440
46+
#
47+
# Links:
48+
# - https://15h.org/index.php/ASUS_KGPE-D16
49+
# - https://15h.org/index.php/Coreboot-15h
50+
# - Please contribute documentation to heads-wiki
51+
52+
export CONFIG_COREBOOT=y
53+
export CONFIG_COREBOOT_VERSION=15h
54+
export CONFIG_LINUX_VERSION=6.1.8
55+
56+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-tpm1.config
57+
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server.config
58+
59+
CONFIG_CRYPTSETUP2=y
60+
CONFIG_FLASHPROG=y
61+
CONFIG_FLASHPROG_AST1100=y
62+
CONFIG_FLASHTOOLS=y
63+
CONFIG_GPG2=y
64+
CONFIG_KEXEC=y
65+
CONFIG_UTIL_LINUX=y
66+
CONFIG_LVM2=y
67+
CONFIG_MBEDTLS=y
68+
CONFIG_PCIUTILS=y
69+
CONFIG_POPT=y
70+
CONFIG_QRENCODE=y
71+
CONFIG_TPMTOTP=y
72+
CONFIG_DROPBEAR=y
73+
74+
CONFIG_LINUX_USB=y
75+
CONFIG_LINUX_E1000E=y
76+
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y
77+
78+
export CONFIG_TPM=y
79+
export CONFIG_DEBUG_OUTPUT=n
80+
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n
81+
export CONFIG_TPM2_CAPTURE_PCAP=n
82+
export CONFIG_QUIET_MODE=y
83+
export CONFIG_BOOTSCRIPT=/bin/generic-init.sh
84+
85+
# Console: dual output to BMC (ttyS1) and local VGA (tty0)
86+
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 console=tty0"
87+
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
88+
export CONFIG_BOOT_STATIC_IP=192.168.2.3
89+
90+
export CONFIG_BOOT_REQ_HASH=n
91+
export CONFIG_BOOT_REQ_ROLLBACK=n
92+
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
93+
export CONFIG_BOARD_NAME="KGPE-D16 Server"
94+
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
95+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
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+
# - Board revisions: 1.02G, 1.03G, 1.04, 1.05 (revisions 1.04/1.05 recommended)
6+
# - Dual socket G34 for AMD Opteron 6200/6300 series (6100 series unsupported)
7+
# - AMD SR5690 northbridge, AMD SP5100 southbridge
8+
# - Winbond W83667HG-A Super I/O, ASPEED AST2050 BMC
9+
# - 16 DDR3 slots (8 channels), up to 512GB ECC UDIMM/RDIMM/LRDIMM
10+
# - 2 MiB DIP-8 flash socket (W25Q16V) - REPLACE WITH 16 MiB CHIP FOR HEADS
11+
# - Intel 82574L dual gigabit Ethernet
12+
#
13+
# Display:
14+
# - VGA_SW1 jumper: "Enable" = onboard AST2050 VGA, "Disable" = PCIe GPU
15+
# - This config uses onboard VGA (text mode) via BMC serial console
16+
#
17+
# Fan Control:
18+
# - CPUFAN_SEL1: CPU fan zone (4-pin PWM recommended)
19+
# - CHAFAN_SEL1: Chassis fan zone (4-pin PWM recommended)
20+
# - 3-pin fans will run at 100% in PWM mode
21+
#
22+
# TPM:
23+
# - Infineon SLB9665 (Asus TPM-L R2.0)
24+
# - See https://15h.org/index.php/KGPE-D16_(Raptor)#TPM
25+
#
26+
# Status:
27+
# - TPM support still in progress (see 15h.org wiki)
28+
# - Two black SATA ports are inactive
29+
# - SeaBIOS does not respond to keyboards behind USB hub
30+
# - S3 Suspend/Resume unsupported
31+
# - No microcode included (see Linux panics with latest microcode)
32+
# AMD Opteron 6300 series users: ensure OS loads microcode updates
33+
#
34+
# Initial flash (REQUIRED):
35+
# - Stock 2 MiB flash (W25Q16V) is NOT big enough for Heads
36+
# - MUST replace with 16 MiB flash chip (e.g., W25Q128JV)
37+
# - Initial flash MUST be done externally (3.3V CH341A SPI programmer)
38+
# - Chip location: bottom right corner of board (labeled BIOS)
39+
# - CMOS clear after flashing: move CLRTC1 to 2-3, wait 20s, restore
40+
# - After initial external flash, internal upgrades work like any other Heads board
41+
#
42+
# BMC:
43+
# - Connect via ttyS1 at 115200n8
44+
# - https://github.com/osresearch/heads/issues/134#issuecomment-368922440
45+
#
46+
# Links:
47+
# - https://15h.org/index.php/ASUS_KGPE-D16
48+
# - https://15h.org/index.php/Coreboot-15h
49+
# - Please contribute documentation to heads-wiki
50+
51+
export CONFIG_COREBOOT=y
52+
export CONFIG_COREBOOT_VERSION=15h
53+
export CONFIG_LINUX_VERSION=6.1.8
54+
55+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-tpm2.config
56+
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server.config
57+
58+
CONFIG_CRYPTSETUP2=y
59+
CONFIG_OPENSSL=y
60+
CONFIG_FLASHPROG=y
61+
CONFIG_FLASHPROG_AST1100=y
62+
CONFIG_FLASHTOOLS=y
63+
CONFIG_GPG2=y
64+
CONFIG_KEXEC=y
65+
CONFIG_UTIL_LINUX=y
66+
CONFIG_LVM2=y
67+
CONFIG_MBEDTLS=y
68+
CONFIG_PCIUTILS=y
69+
CONFIG_POPT=y
70+
CONFIG_QRENCODE=y
71+
CONFIG_TPMTOTP=y
72+
CONFIG_DROPBEAR=y
73+
74+
CONFIG_LINUX_USB=y
75+
CONFIG_LINUX_E1000E=y
76+
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y
77+
78+
export CONFIG_TPM=y
79+
export CONFIG_TPM2=y
80+
export CONFIG_DEBUG_OUTPUT=n
81+
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n
82+
export CONFIG_TPM2_CAPTURE_PCAP=n
83+
export CONFIG_QUIET_MODE=y
84+
export CONFIG_BOOTSCRIPT=/bin/generic-init.sh
85+
86+
# Console: dual output to BMC (ttyS1) and local VGA (tty0)
87+
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 console=tty0"
88+
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
89+
export CONFIG_BOOT_STATIC_IP=192.168.2.3
90+
91+
export CONFIG_BOOT_REQ_HASH=n
92+
export CONFIG_BOOT_REQ_ROLLBACK=n
93+
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
94+
export CONFIG_BOARD_NAME="KGPE-D16 Server TPM2"
95+
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
96+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
# Configuration for a kgpe-d16_server with whiptail (TPM1.2 variant)
2+
# See https://15h.org/index.php/ASUS_KGPE-D16 for full hardware details
3+
#
4+
# Hardware:
5+
# - Board revisions: 1.02G, 1.03G, 1.04, 1.05 (revisions 1.04/1.05 recommended)
6+
# - Dual socket G34 for AMD Opteron 6200/6300 series (6100 series unsupported)
7+
# - AMD SR5690 northbridge, AMD SP5100 southbridge
8+
# - Winbond W83667HG-A Super I/O, ASPEED AST2050 BMC
9+
# - 16 DDR3 slots (8 channels), up to 512GB ECC UDIMM/RDIMM/LRDIMM
10+
# - 2 MiB DIP-8 flash socket (W25Q16V) - REPLACE WITH 16 MiB CHIP FOR HEADS
11+
# - Intel 82574L dual gigabit Ethernet
12+
#
13+
# Display:
14+
# - VGA_SW1 jumper: "Enable" = onboard AST2050 VGA, "Disable" = PCIe GPU
15+
# - This config uses onboard VGA (text mode) via BMC serial console
16+
#
17+
# Fan Control:
18+
# - CPUFAN_SEL1: CPU fan zone (4-pin PWM recommended)
19+
# - CHAFAN_SEL1: Chassis fan zone (4-pin PWM recommended)
20+
# - 3-pin fans will run at 100% in PWM mode
21+
#
22+
# TPM:
23+
# - Infineon SLB9635 (Asus MC01B0-B01)
24+
# - Infineon SLB9655 (Supermicro AOM-TPM-9655V)
25+
# - See https://15h.org/index.php/KGPE-D16_(Raptor)#TPM
26+
#
27+
# Status:
28+
# - TPM support still in progress (see 15h.org wiki)
29+
# - Two black SATA ports are inactive
30+
# - SeaBIOS does not respond to keyboards behind USB hub
31+
# - S3 Suspend/Resume unsupported
32+
# - No microcode included (see Linux panics with latest microcode)
33+
# AMD Opteron 6300 series users: ensure OS loads microcode updates
34+
#
35+
# Initial flash (REQUIRED):
36+
# - Stock 2 MiB flash (W25Q16V) is NOT big enough for Heads
37+
# - MUST replace with 16 MiB flash chip (e.g., W25Q128JV)
38+
# - Initial flash MUST be done externally (3.3V CH341A SPI programmer)
39+
# - Chip location: bottom right corner of board (labeled BIOS)
40+
# - CMOS clear after flashing: move CLRTC1 to 2-3, wait 20s, restore
41+
# - After initial external flash, internal upgrades work like any other Heads board
42+
#
43+
# BMC:
44+
# - Connect via ttyS1 at 115200n8
45+
# - https://github.com/osresearch/heads/issues/134#issuecomment-368922440
46+
#
47+
# Links:
48+
# - https://15h.org/index.php/ASUS_KGPE-D16
49+
# - https://15h.org/index.php/Coreboot-15h
50+
# - Please contribute documentation to heads-wiki
51+
52+
export CONFIG_COREBOOT=y
53+
export CONFIG_COREBOOT_VERSION=15h
54+
export CONFIG_LINUX_VERSION=6.1.8
55+
56+
CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-whiptail-tpm1.config
57+
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server-whiptail.config
58+
59+
CONFIG_CRYPTSETUP2=y
60+
CONFIG_FLASHPROG=y
61+
CONFIG_FLASHTOOLS=y
62+
CONFIG_GPG2=y
63+
CONFIG_KEXEC=y
64+
CONFIG_UTIL_LINUX=y
65+
CONFIG_LVM2=y
66+
CONFIG_MBEDTLS=y
67+
CONFIG_PCIUTILS=y
68+
CONFIG_POPT=y
69+
CONFIG_QRENCODE=y
70+
CONFIG_TPMTOTP=y
71+
CONFIG_DROPBEAR=y
72+
73+
CONFIG_SLANG=y
74+
CONFIG_NEWT=y
75+
76+
CONFIG_LINUX_USB=y
77+
CONFIG_LINUX_E1000E=y
78+
export CONFIG_LINUX_USB_COMPANION_CONTROLLER=y
79+
80+
export CONFIG_TPM=y
81+
export CONFIG_DEBUG_OUTPUT=n
82+
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n
83+
export CONFIG_TPM2_CAPTURE_PCAP=n
84+
export CONFIG_QUIET_MODE=y
85+
export CONFIG_BOOTSCRIPT=/bin/gui-init.sh
86+
87+
# Console: BMC serial console output
88+
export CONFIG_BOOT_KERNEL_ADD="nohz=on console=ttyS1,115200n8 "
89+
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
90+
export CONFIG_BOOT_STATIC_IP=192.168.2.3
91+
92+
export CONFIG_BOOT_REQ_HASH=n
93+
export CONFIG_BOOT_REQ_ROLLBACK=n
94+
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
95+
export CONFIG_BOARD_NAME="KGPE-D16 Server-whiptail"
96+
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
97+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"

0 commit comments

Comments
 (0)