Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
f90e742
coreboot: Add Star Labs 26.07
Sean-StarLabs Jul 21, 2026
e1e2ef3
boards: Add Star Labs common configuration
Sean-StarLabs Jul 21, 2026
72cce96
boards: Add StarLite Mk V
Sean-StarLabs Jul 21, 2026
fbd5788
boards: Add Star Labs compact profiles
Sean-StarLabs Jul 27, 2026
a1b6d1e
boards: Add Star Labs QEMU gate
Sean-StarLabs Jul 27, 2026
830cd86
boards: Add StarBook MTL
Sean-StarLabs Jul 27, 2026
d0ccf50
boards: Add StarBook ADL
Sean-StarLabs Jul 27, 2026
284230f
boards: Add StarBook ADL-N
Sean-StarLabs Jul 27, 2026
9a9b9ee
boards: Add StarBook RPL
Sean-StarLabs Jul 27, 2026
34e6c7e
boards: Add StarBook TGL
Sean-StarLabs Jul 27, 2026
e838858
boards: Add LabTop CML
Sean-StarLabs Jul 27, 2026
4da05a1
boards: Add ADL Horizon
Sean-StarLabs Jul 27, 2026
7d68198
boards: Add Byte ADL
Sean-StarLabs Jul 27, 2026
a327131
boards: Add Byte TWL
Sean-StarLabs Jul 27, 2026
9246ce1
boards: Add StarFighter MTL
Sean-StarLabs Jul 27, 2026
78f2106
boards: Add StarFighter RPL
Sean-StarLabs Jul 27, 2026
49a2f0a
initrd: Load USB keyboards before early prompts
Sean-StarLabs Aug 20, 2026
94167c9
initrd: Support /boot on root filesystems
Sean-StarLabs Aug 20, 2026
e63a6de
coreboot: restore SPI protection before lockdown
Sean-StarLabs Aug 27, 2026
759db97
coreboot: honor configured ME default
Sean-StarLabs Aug 27, 2026
2bb31b4
starlabs: make compact profiles self-contained
Sean-StarLabs Aug 20, 2026
2e22940
initrd: normalize root filesystem boot paths
Sean-StarLabs Aug 20, 2026
fc43b8c
config: Save Star Labs coreboot oldconfigs
tlaurion Aug 20, 2026
307cab9
config: Disable coreboot SBOM for Star Labs boards
Sean-StarLabs Aug 20, 2026
8781293
boards: Address Star Labs review feedback
Sean-StarLabs Aug 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 94 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ jobs:
# See doc/circleci.md for full documentation.
# Workspace chain: create_hashes -> x86_blobs -> x86_musl_cross_make -> x86_coreboot
# Seeds (one per unique toolchain): coreboot-4.11, coreboot-25.09,
# coreboot-dasharo_nv4x, coreboot-purism
# coreboot-dasharo_nv4x, coreboot-purism, coreboot-starlabs_2607
# Dasharo v56/msi_z690/msi_z790 are build jobs, not x86_coreboot.
x86_coreboot:
executor: heads-docker
Expand Down Expand Up @@ -527,6 +527,99 @@ workflows:
requires:
- x86-musl-cross-make [cross compiler]

# Star Labs 26.07 fork
- x86_coreboot:
name: starlabs_lite_adl [seed:coreboot-starlabs_2607]
target: starlabs_lite_adl
subcommand: ""
coreboot_dir: coreboot-starlabs_2607
requires:
- x86-musl-cross-make [cross compiler]

- build:
name: starlabs_adl_horizon
target: starlabs_adl_horizon
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_byte_adl
target: starlabs_byte_adl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_byte_twl
target: starlabs_byte_twl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_labtop_cml
target: starlabs_labtop_cml
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_qemu
target: starlabs_qemu
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_starbook_adl
target: starlabs_starbook_adl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_starbook_adl_n
target: starlabs_starbook_adl_n
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_starbook_mtl
target: starlabs_starbook_mtl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_starbook_rpl
target: starlabs_starbook_rpl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_starbook_tgl
target: starlabs_starbook_tgl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_starfighter_mtl
target: starlabs_starfighter_mtl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

- build:
name: starlabs_starfighter_rpl
target: starlabs_starfighter_rpl
subcommand: ""
requires:
- starlabs_lite_adl [seed:coreboot-starlabs_2607]

# ── coreboot 25.09 boards (alphabetical) ───────────────────────────────
- build:
name: EOL_m900_tower-hotp-maximized
Expand Down
11 changes: 7 additions & 4 deletions bin/validate_cbfs_ifd_fit.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,14 @@ CBFS_SIZE_DEC=$((CBFS_SIZE))
# Extract IFD path from config
IFD_PATH=$(grep "^CONFIG_IFD_BIN_PATH=" "$CONFIG_FILE" | cut -d'"' -f2)

# Resolve relative IFD path to absolute, preferring coreboot base dir
# Resolve relative IFD paths from the coreboot source tree. Some shared-
# toolchain layouts pass a board object directory, so retain its parent as a
# fallback before trying the caller's working directory.
if [ -n "$IFD_PATH" ] && [[ "$IFD_PATH" != /* ]] && [[ "$IFD_PATH" != *"@"* ]]; then
COREBOOT_BASE_DIR="$(dirname "$COREBOOT_DIR")"
if [ -d "$COREBOOT_BASE_DIR" ]; then
IFD_PATH="$COREBOOT_BASE_DIR/$IFD_PATH"
if [ -f "$COREBOOT_DIR/$IFD_PATH" ]; then
IFD_PATH="$COREBOOT_DIR/$IFD_PATH"
elif [ -f "$(dirname "$COREBOOT_DIR")/$IFD_PATH" ]; then
IFD_PATH="$(dirname "$COREBOOT_DIR")/$IFD_PATH"
else
IFD_PATH="$PWD/$IFD_PATH"
fi
Expand Down
44 changes: 44 additions & 0 deletions boards/starlabs/common.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Common Star Labs Heads configuration.
export CONFIG_COREBOOT=y
export CONFIG_COREBOOT_VERSION=starlabs_2607
export CONFIG_LINUX_VERSION=6.1.8

CONFIG_LINUX_CONFIG=config/linux-starlabs-common.config

CONFIG_LINUX_USB=y
CONFIG_LINUX_E1000=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

CONFIG_TPM2_TSS=y
CONFIG_OPENSSL=y
CONFIG_POPT=y
CONFIG_QRENCODE=y
CONFIG_TPMTOTP=y
CONFIG_HOTPKEY=y

CONFIG_CAIRO=y
CONFIG_FBWHIPTAIL=y

export CONFIG_AUTO_BOOT_TIMEOUT=5
export CONFIG_TPM2_TOOLS=y
export CONFIG_PRIMARY_KEY_TYPE=ecc
export CONFIG_DEBUG_OUTPUT=n
export CONFIG_ENABLE_FUNCTION_TRACING_OUTPUT=n
export CONFIG_TPM2_CAPTURE_PCAP=n
export CONFIG_QUIET_MODE=y
export CONFIG_BOOTSCRIPT=/bin/gui-init.sh
export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
export CONFIG_BOOT_KERNEL_ADD=""
export CONFIG_BOOT_KERNEL_REMOVE="quiet rhgb splash"
export CONFIG_KEYBOARD_KEYMAP="/usr/lib/kbd/keymaps/i386/qwerty/us.map"
8 changes: 8 additions & 0 deletions boards/starlabs/compact-intel.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Space-constrained Intel boards retain the deferred platform lock.
include $(pwd)/boards/starlabs/compact.config

CONFIG_IO386=y
export CONFIG_FINALIZE_PLATFORM_LOCKING=y
export CONFIG_FINALIZE_PLATFORM_LOCKING_APM_CNT=0xb2
export CONFIG_FINALIZE_PLATFORM_LOCKING_APM_STS=0xb3
export CONFIG_FINALIZE_PLATFORM_LOCKING_CODE=0xcb
23 changes: 23 additions & 0 deletions boards/starlabs/compact.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Space-constrained physical Star Labs boards retain the graphical Heads UI,
# GPG verification, TPM2 tools, flash tools, USB storage, and kexec.
include $(pwd)/boards/starlabs/physical.config

# Omit encrypted-storage, enrollment, filesystem-maintenance, networking, and
# tools that do not fit alongside recovery and measured boot.
CONFIG_BUSYBOX_COMPACT=y
CONFIG_CRYPTSETUP2=n
CONFIG_LVM2=n
CONFIG_TPMTOTP=n
CONFIG_HOTPKEY=n
CONFIG_QRENCODE=n
CONFIG_MOBILE_TETHERING=n
CONFIG_MBEDTLS=n
CONFIG_PCIUTILS=n
CONFIG_PCIUTILS_LIB_ONLY=y
CONFIG_POPT=n
CONFIG_UTIL_LINUX=n
CONFIG_EXFATPROGS=n
CONFIG_E2FSPROGS=n
CONFIG_KBD=n
CONFIG_KBD_LOADKEYS=n
CONFIG_LINUX_E1000=n
7 changes: 7 additions & 0 deletions boards/starlabs/physical-intel.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
include $(pwd)/boards/starlabs/physical.config

CONFIG_IO386=y
export CONFIG_FINALIZE_PLATFORM_LOCKING=y
export CONFIG_FINALIZE_PLATFORM_LOCKING_APM_CNT=0xb2
export CONFIG_FINALIZE_PLATFORM_LOCKING_APM_STS=0xb3
export CONFIG_FINALIZE_PLATFORM_LOCKING_CODE=0xcb
4 changes: 4 additions & 0 deletions boards/starlabs/physical.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/common.config

# Keep the descriptor, ME, EC, SMMSTORE and per-unit data out of internal updates.
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal --fmap -i COREBOOT"
4 changes: 4 additions & 0 deletions boards/starlabs_adl_horizon/starlabs_adl_horizon.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/compact-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_adl_horizon.config
export CONFIG_BOARD_NAME="Star Labs StarBook Horizon"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarBook\ Horizon

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"\ " wanted across all board configs for SMBIOS_PRODUCT_NAME override?

5 changes: 5 additions & 0 deletions boards/starlabs_byte_adl/starlabs_byte_adl.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include $(pwd)/boards/starlabs/compact-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_byte_adl.config
export CONFIG_BOARD_NAME="Star Labs Byte Mk II"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=Byte
export CONFIG_USB_KEYBOARD_REQUIRED=y
5 changes: 5 additions & 0 deletions boards/starlabs_byte_twl/starlabs_byte_twl.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
include $(pwd)/boards/starlabs/compact-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_byte_twl.config
export CONFIG_BOARD_NAME="Star Labs Byte Mk III"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=Byte
export CONFIG_USB_KEYBOARD_REQUIRED=y
4 changes: 4 additions & 0 deletions boards/starlabs_labtop_cml/starlabs_labtop_cml.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/physical-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_labtop_cml.config
export CONFIG_BOARD_NAME="Star Labs LabTop Mk IV"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=LabTop
22 changes: 22 additions & 0 deletions boards/starlabs_lite_adl/starlabs_lite_adl.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Star Labs StarLite Mk V (Lite ADL).
# Initial installation and recovery require an external SPI programmer.
# https://support.starlabs.systems/hc/star-labs/articles/starlite-mk-v-installingrecovering-firmware-with-external-programmer
include $(pwd)/boards/starlabs/physical-intel.config

CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_lite_adl.config

export CONFIG_BOARD_NAME="Star Labs StarLite Mk V"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarLite
export CONFIG_USB_KEYBOARD_REQUIRED=y

# The fixed COREBOOT region cannot contain the full Heads package set.
CONFIG_CRYPTSETUP2=n
CONFIG_LVM2=n
CONFIG_MOBILE_TETHERING=n
CONFIG_POPT=n
CONFIG_UTIL_LINUX=n
CONFIG_EXFATPROGS=n
CONFIG_E2FSPROGS=n
CONFIG_KBD=n
CONFIG_KBD_LOADKEYS=n
CONFIG_LINUX_E1000=n
14 changes: 14 additions & 0 deletions boards/starlabs_qemu/starlabs_qemu.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Star Labs software gate. This uses the same coreboot fork, Linux kernel,
# userspace, graphical UI, and TPM2 stack as the physical targets.
include $(pwd)/boards/starlabs/common.config

CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_qemu.config
CONFIG_LINUX_CONFIG=config/linux-qemu.config
CONFIG_MOBILE_TETHERING=n

export CONFIG_BOARD_NAME=qemu-starlabs
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=starlabs_qemu
export CONFIG_BOOT_RECOVERY_SERIAL="/dev/ttyS0"
export CONFIG_BOOT_KERNEL_ADD="console=ttyS0 console=tty systemd.zram=0 debug"

BOARD_TARGETS := qemu
4 changes: 4 additions & 0 deletions boards/starlabs_starbook_adl/starlabs_starbook_adl.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/physical-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_starbook_adl.config
export CONFIG_BOARD_NAME="Star Labs StarBook Mk VI (Alder Lake)"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarBook
4 changes: 4 additions & 0 deletions boards/starlabs_starbook_adl_n/starlabs_starbook_adl_n.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/compact-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_starbook_adl_n.config
export CONFIG_BOARD_NAME="Star Labs StarBook Mk VII (Alder Lake-N)"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarBook
7 changes: 7 additions & 0 deletions boards/starlabs_starbook_mtl/starlabs_starbook_mtl.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# StarBook Mk VII (Meteor Lake) proof board.
include $(pwd)/boards/starlabs/physical-intel.config

CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_starbook_mtl.config

export CONFIG_BOARD_NAME="Star Labs StarBook Mk VII (Meteor Lake)"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarBook
4 changes: 4 additions & 0 deletions boards/starlabs_starbook_rpl/starlabs_starbook_rpl.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/physical-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_starbook_rpl.config
export CONFIG_BOARD_NAME="Star Labs StarBook Mk VI (Raptor Lake)"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarBook
4 changes: 4 additions & 0 deletions boards/starlabs_starbook_tgl/starlabs_starbook_tgl.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/compact-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_starbook_tgl.config
export CONFIG_BOARD_NAME="Star Labs StarBook Mk V"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarBook
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/physical-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_starfighter_mtl.config
export CONFIG_BOARD_NAME="Star Labs StarFighter Mk II"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarFighter
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
include $(pwd)/boards/starlabs/physical-intel.config
CONFIG_COREBOOT_CONFIG=config/coreboot-starlabs_starfighter_rpl.config
export CONFIG_BOARD_NAME="Star Labs StarFighter Mk I"
export CONFIG_COREBOOT_SMBIOS_PRODUCT_NAME=StarFighter
Loading