Skip to content

Coreboot version bump 24.02.01 -> 24.12 for most board + Thinkpad T480 addition (coreboot upstream in WiP state) #1908

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 92 commits into from
Mar 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
bce1881
Add additional coreboot version for T480
akunterkontrolle Feb 3, 2025
ca1bd20
Add coreboot patches for T480
akunterkontrolle Feb 3, 2025
b101d31
Add coreboot config for T480
akunterkontrolle Feb 4, 2025
effa9f6
Add board config for T480
akunterkontrolle Feb 4, 2025
3a4be96
add a new t480.mk dealing with blobs
notgivenby Feb 10, 2025
0be89cb
add dependencies and a script to download and modify essential blobs …
notgivenby Feb 10, 2025
277e4da
change gbe and ifd_16 files
notgivenby Feb 11, 2025
fd3745c
modules/coreboot: t480; do not reuse 24.02.01 coreboot buildtack, sin…
tlaurion Feb 11, 2025
820931b
Revert "modules/coreboot: t480; do not reuse 24.02.01 coreboot buildt…
tlaurion Feb 11, 2025
304f6b9
blobs/t480/download-clean-deguard-me.sh: deguard local call needs pyt…
tlaurion Feb 11, 2025
5ce5705
boards/t480-maximized/t480-maximized.config: use t480 target that cal…
tlaurion Feb 11, 2025
c44285c
config/linux-t480.config: use config/linux-librem_common-6.1.8.config…
tlaurion Feb 11, 2025
de0a1f4
config/coreboot-t480.config: adapt from config/coreboot-librem_15v4.c…
tlaurion Feb 11, 2025
bdb09c6
bin/fetch_coreboot_crossgcc_archive.sh: change acpica default PFG_BAS…
tlaurion Feb 11, 2025
6176f6c
modules/coreboot: t480; state its based on 24.12, do not reuse corebo…
tlaurion Feb 11, 2025
44b4d6a
config/coreboot-t480.config: change Dsp_*.fd paths to non-existing fi…
tlaurion Feb 11, 2025
4310d89
CircleCI: add t480 without reusing any other cache then muslc-cross-m…
tlaurion Feb 11, 2025
d666b81
config/coreboot-t480.config: Set CONFIG_FSP_FULL_FD=y so that vendorf…
tlaurion Feb 11, 2025
7f673d4
patches/coreboot-t480/85278-post-skylake-pr0.patch: add unmerged upst…
tlaurion Feb 11, 2025
32fc31b
patches/coreboot-t480/85278-post-skylake-pr0.patch: remove xeon bits …
tlaurion Feb 11, 2025
e62b84b
config/coreboot-t480.config: add PR0, unify against nv41, save in old…
tlaurion Feb 11, 2025
002d107
config/coreboot-t480.config: unset CONFIG_DISPLAY_FSP_VERSION_INFO ot…
tlaurion Feb 11, 2025
e8974da
boards/t480-maximized/t480-maximized.config: enable pr0 (impacts only…
tlaurion Feb 11, 2025
f75ddb8
add t480 board
gaspar-ilom Jan 14, 2025
f9ba787
config/coreboot-t480.config: set CONFIG_FSP_USE_REPO=y otherwise buil…
tlaurion Feb 12, 2025
fd55341
fix t480p-hotp-maximized -> t480-hotp-maximized; unify against x230; …
tlaurion Feb 12, 2025
e6d6001
Merge remote-tracking branch 'gaspar-ilom/t480' into poc_t480
tlaurion Feb 12, 2025
ae595f2
t480: remove blobs/t480 prior work of @notgivenby since we rely on si…
tlaurion Feb 12, 2025
8149c30
t480-maximized -> t480: we are not neutering ME anymore, therefore th…
tlaurion Feb 12, 2025
aff8e13
targets/t480_me_blobs.mk: remove leftover artifact of @notgivenby fro…
tlaurion Feb 12, 2025
cfeb1e3
CircleCI: build workspace cache when building t480-hotp so t480 can r…
tlaurion Feb 13, 2025
296e7be
try fixing tpm config for t480
gaspar-ilom Feb 13, 2025
1391bf9
t480 board configs: revew vs nv41, unify between each other and enabl…
tlaurion Feb 14, 2025
073d244
remove resolved todo as config is now confirmed
gaspar-ilom Feb 14, 2025
5a50de6
set the mac address to 00:de:ad:c0:ff:ee in the gbe.bin blob for the …
gaspar-ilom Feb 14, 2025
b2637ce
t480 boards and coreboot config: rename to maximized since ifd reuses…
tlaurion Feb 14, 2025
796a6c3
t480: remove unneeded patches from libreboot under patches/coreboot-2…
tlaurion Feb 14, 2025
0d53e8a
rename coreboot-2412 to coreboot-24.12 for versioning consistency, mo…
tlaurion Feb 14, 2025
82cc410
t480 board configs: add notes that MAC is forged in GBE provided in t…
tlaurion Feb 14, 2025
acd6c85
fix mac address in t480 config comments
gaspar-ilom Feb 14, 2025
447754e
fix whitespace/formatting of download_clean_deguard_me.sh
gaspar-ilom Feb 14, 2025
930b977
fix gbe.bin hash for t480
gaspar-ilom Feb 14, 2025
820c38c
fix t480 board config comments
gaspar-ilom Feb 14, 2025
f02ab49
System Info (battery info): dependant functions: add tracing and debug
tlaurion Feb 18, 2025
9978aa6
add some warning to the t480 board config about the TPM GPIO reset at…
gaspar-ilom Feb 18, 2025
384e243
TESTING: CircleCI: force AVAILABLE_MEM_GB=8 so that we respect guaran…
tlaurion Feb 19, 2025
67a027d
CircleCI: add coreboot 24.12 in save_cache/restore_cache statements i…
tlaurion Feb 19, 2025
84c0b2d
CircleCI: drop building d16 which causes build issues with changes to…
tlaurion Feb 19, 2025
0416162
add more volunteers as board testers for the T480
gaspar-ilom Feb 19, 2025
fe1e196
bump all boards from 24.02.01 to reuse libreboot's coreboot fork comm…
tlaurion Feb 17, 2025
e946097
coreboot-qemu*: fix XRES and YRES that changed by saving in oldconfig.
tlaurion Feb 13, 2025
5b950c4
CircleCI: refactor 24.02.01 coreboot buildstack cache reusal ordering…
tlaurion Feb 17, 2025
aadbe93
move me_cleaner.py to a common utils dir under blobs/ so that it can …
gaspar-ilom Feb 21, 2025
1e0258b
use common me_cleaner.py for T480
gaspar-ilom Feb 21, 2025
cb8d23c
fix battery health and charging display in system info
gaspar-ilom Feb 21, 2025
60faa5f
fix show system info battery display in case there is more than 1 bat…
gaspar-ilom Feb 22, 2025
543ab55
refactor how battery status string is composed
gaspar-ilom Feb 22, 2025
a45c483
properly escape % chars in format string to display battery status
gaspar-ilom Feb 23, 2025
9eb7618
add more board tester for the T480
gaspar-ilom Feb 24, 2025
02bfdee
apply the same fix for displaying the battery state to: initrd/bin/oe…
gaspar-ilom Feb 24, 2025
6f2e7cb
disable debugging on the T480
gaspar-ilom Feb 24, 2025
7ce3ac7
functions: remove now unused calc helper, readd TRACE_FUNC and DEBUG …
tlaurion Feb 24, 2025
d9f4cbc
t480 boards: disable tracing output as for all other boards
tlaurion Feb 24, 2025
1fb37f0
blobs/xx80/README: fix gbe hash
tlaurion Feb 24, 2025
de722cd
BOARD_TESTERS.md: remove space between @ and avatar name
tlaurion Feb 24, 2025
60219a4
update the T480 blob readme to better explain which blobs are there a…
gaspar-ilom Feb 24, 2025
a86dfe0
Merge remote-tracking branch 'gaspar-ilom/poc_t480' into poc_t480
tlaurion Feb 24, 2025
e00944f
Merge remote-tracking branch 'gaspar-ilom/poc_t480' into poc_t480
tlaurion Feb 24, 2025
e647e20
refactor printing of battery state to confuse less users
gaspar-ilom Feb 26, 2025
54356dd
Merge remote-tracking branch 'gaspar-ilom/poc_t480' into poc_t480
tlaurion Feb 27, 2025
557ccb6
Merge remote-tracking branch 'osresearch/master' into poc_t480
tlaurion Feb 27, 2025
3f8317f
create tb.bin blob when creating me.bin blob
gaspar-ilom Feb 27, 2025
77cccad
remove leftovers from libreboot's coreboot kconfig modification for f…
gaspar-ilom Feb 27, 2025
01a164a
fix t480 make file
gaspar-ilom Feb 27, 2025
429e8aa
fix whitespace in t480 make file
gaspar-ilom Feb 27, 2025
aa2b15d
patches/coreboot-24.12/0003-mb-lenovo-Add-ThinkPad-T480-and-ThinkPad-…
tlaurion Feb 27, 2025
d0fa045
Merge remote-tracking branch 'osresearch/master' into coreboot_bump_2412
tlaurion Feb 27, 2025
f20e519
config/coreboot-z220-cmt.config: fix changes of path for VBT (libgfxi…
tlaurion Feb 27, 2025
81151d9
add documentation for tb.bin Thunderbolt flashing on the T480
gaspar-ilom Feb 28, 2025
8005541
Merge remote-tracking branch 'gaspar-ilom/poc_t480' into coreboot_bum…
tlaurion Mar 2, 2025
438a061
changes the tb.bin Thunderbolt blob script to create the same blob as…
gaspar-ilom Mar 2, 2025
c7d40ea
Merge remote-tracking branch 'tlaurion-github/poc_t480' into coreboot…
tlaurion Mar 2, 2025
730fdd1
t480: move to unmaintained, remove t480 from circleci. Upstream will …
tlaurion Mar 3, 2025
3466272
do not break building other thinkpads with the hacks for the t480/s m…
gaspar-ilom Mar 6, 2025
bb120b1
Revert "t480: move to unmaintained, remove t480 from circleci. Upstre…
gaspar-ilom Mar 7, 2025
dc207ea
Revert "patches/coreboot-24.12/0003-mb-lenovo-Add-ThinkPad-T480-and-T…
gaspar-ilom Mar 7, 2025
f765586
fix preprocessor checks
gaspar-ilom Mar 7, 2025
4cb6985
rename patches in correct order to prepare for more
gaspar-ilom Mar 9, 2025
876e37e
t530 boards: move to untested with board.move_tested_to_untested help…
tlaurion Mar 10, 2025
382949d
z220-cmt boards: move to untested with board.move_tested_to_untested …
tlaurion Mar 10, 2025
25ffc3e
CircleCI: clarify AVAILABLE_MEM_GB=8 usage, which results in CircleCI…
tlaurion Mar 10, 2025
10f854c
BOARD_TESTERS: add Optiplex 9010/7010 SFF/DT to @tlaurion
tlaurion Mar 10, 2025
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
150 changes: 65 additions & 85 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ commands:
echo "Sourcing /devenv.sh since docker entrypoint doesn't do it as expected"
source /devenv.sh
rm -rf build/<< parameters.arch >>/<< parameters.target >>/* build/<< parameters.arch >>/log/*
make V=1 BOARD=<< parameters.target >> << parameters.subcommand >> | ts || touch ./tmpDir/failed_build
#Pass AVAILABLE_MEM_GB=8 to respect CircleCI free tier RAM assignation, which otherwise randomly fails. See Makefile calculations.
# Without AVAILABLE_MEM_GB=8: CircleCI passes '-j36 --load-average=54'
# With AVAILABLE_MEM_GB=8: CircleCI passes '-j8 --load-average=12'
make V=1 BOARD=<< parameters.target >> << parameters.subcommand >> AVAILABLE_MEM_GB=8 | ts || touch ./tmpDir/failed_build
no_output_timeout: 3h
- run:
name: Output hashes
Expand Down Expand Up @@ -91,11 +94,15 @@ jobs:
name: Download Optiplex 7010/9010 blobs
command: |
./blobs/xx30/optiplex_7010_9010.sh ./blobs/xx30
# me_cleaner.py present under heads blobs/utils/me_cleaner dir comes from https://github.com/corna/me_cleaner/blob/43612a630c79f3bc6f2653bfe90dfe0b7b137e08/me_cleaner.py
- run:
# me_cleaner.py present under heads xx30 blobs dir comes from https://github.com/corna/me_cleaner/blob/43612a630c79f3bc6f2653bfe90dfe0b7b137e08/me_cleaner.py
name: Download and neuter xx30 ME (keep generated GBE and extracted IFD in tree)
command: |
./blobs/xx30/download_clean_me_manually.sh -m $(readlink -f ./blobs/xx30/me_cleaner.py)
./blobs/xx30/download_clean_me_manually.sh -m $(readlink -f ./blobs/utils/me_cleaner/me_cleaner.py)
- run:
name: Download, neuter and deguard xx80 ME (keep generated GBE and extracted IFD in tree)
command: |
./blobs/xx80/download_clean_deguard_me_pad_tb.sh -m $(readlink -f ./blobs/utils/me_cleaner/me_cleaner.py) ./blobs/xx80/
- run:
name: Download and extract t530 vbios roms for dgpu boards
command: |
Expand Down Expand Up @@ -188,6 +195,7 @@ jobs:
- build/ppc64/musl-cross-make-38e52db8358c043ae82b346a2e6e66bc86a53bc1
- build/x86/coreboot-4.11
- build/x86/coreboot-24.02.01
- build/x86/coreboot-24.12
- build/x86/coreboot-dasharo
- build/x86/coreboot-purism
- build/x86/musl-cross-make-38e52db8358c043ae82b346a2e6e66bc86a53bc1
Expand Down Expand Up @@ -230,31 +238,27 @@ workflows:

# coreboot 24.02.01
- build_and_persist:
name: x230-hotp-maximized
target: x230-hotp-maximized
name: novacustom-nv4x_adl
target: novacustom-nv4x_adl
subcommand: ""
requires:
- x86-musl-cross-make

# coreboot purism
# coreboot purism: based on coreboot 24.02.01, reuse dasharo 24.02.01 crossgcc
- build_and_persist:
name: librem_14
target: librem_14
subcommand: ""
requires:
- x230-hotp-maximized
- novacustom-nv4x_adl

# coreboot nitropad
# Nitropads depending on x230-hotp-maximized cache since kernel is 6.x and coreboot is git is unshared
# We use nitropad's coreboot's fork crossgcc
# No need to wait further for other board's cache
# We reuse built modules from x230-hotp-maximized cache only
# t480 is based on 24.12 coreboot release, not sharing any buildstack from now, depend on muscl-cross cache
- build_and_persist:
name: novacustom-nv4x_adl
target: novacustom-nv4x_adl
name: t480-hotp-maximized
target: t480-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- x86-musl-cross-make

# coreboot talos_2
- build_and_persist:
Expand All @@ -278,186 +282,185 @@ workflows:
- save_cache:
requires:
- UNTESTED_talos-2
- librem_14
- t480-hotp-maximized

# Those onboarding new boards should add their entries below.
# coreboot 24.02.01 boards
# coreboot 24.12 boards
- build:
name: x220-hotp-maximized
target: x220-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: x220-maximized
target: x220-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: t420-hotp-maximized
target: t420-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: t420-maximized
target: t420-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: x230-hotp-maximized_usb-kb
target: x230-hotp-maximized_usb-kb
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: t430-hotp-maximized
target: t430-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

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

#TODO: move away of 24.02.01 coreboot and depend on optiplex specific dasharo commit
- build:
name: optiplex-7010_9010-maximized
target: optiplex-7010_9010-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: optiplex-7010_9010-hotp-maximized
target: optiplex-7010_9010-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: optiplex-7010_9010_TXT-maximized
target: optiplex-7010_9010_TXT-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: optiplex-7010_9010_TXT-hotp-maximized
target: optiplex-7010_9010_TXT-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: x230-maximized-fhd_edp
target: x230-maximized-fhd_edp
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: x230-hotp-maximized-fhd_edp
target: x230-hotp-maximized-fhd_edp
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: w530-hotp-maximized
target: w530-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: t430-maximized
target: t430-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: w530-maximized
target: w530-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: t530-maximized
target: t530-maximized
name: UNTESTED_t530-maximized
target: UNTESTED_t530-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: t530-hotp-maximized
target: t530-hotp-maximized
name: UNTESTED_t530-hotp-maximized
target: UNTESTED_t530-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized

- t480-hotp-maximized

- build:
name: UNTESTED_t440p-maximized
target: UNTESTED_t440p-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: UNTESTED_t440p-hotp-maximized
target: UNTESTED_t440p-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: UNTESTED_w541-maximized
target: UNTESTED_w541-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: UNTESTED_w541-hotp-maximized
target: UNTESTED_w541-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: qemu-coreboot-fbwhiptail-tpm2-hotp
target: qemu-coreboot-fbwhiptail-tpm2-hotp
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: z220-cmt-maximized
target: z220-cmt-maximized
name: UNTESTED_z220-cmt-maximized
target: UNTESTED_z220-cmt-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

- build:
name: z220-cmt-hotp-maximized
target: z220-cmt-hotp-maximized
name: UNTESTED_z220-cmt-hotp-maximized
target: UNTESTED_z220-cmt-hotp-maximized
subcommand: ""
requires:
- x230-hotp-maximized
- t480-hotp-maximized

# coreboot purism
# librem boards
Expand Down Expand Up @@ -510,6 +513,14 @@ workflows:
requires:
- librem_14

# t480 is based on 24.12 coreboot release, not sharing any buildstack from now, depend on muscl-cross cache
- build:
name: t480-maximized
target: t480-maximized
subcommand: ""
requires:
- t480-hotp-maximized

# dasharo release, share 24.02.01 utils/crossgcc
- build:
name: UNTESTED_nitropad-ns50
Expand All @@ -518,48 +529,17 @@ workflows:
requires:
- novacustom-nv4x_adl

#NovaCustom v56 boards are based on coreboot 24.02.01 fork, so depend on x230
- build:
name: novacustom-v560tu
target: novacustom-v560tu
subcommand: ""
requires:
- x230-hotp-maximized
- novacustom-nv4x_adl

- build:
name: novacustom-v540tu
target: novacustom-v540tu
subcommand: ""
requires:
- x230-hotp-maximized

# coreboot 4.11
- build:
name: UNMAINTAINED_kgpe-d16_workstation
target: UNMAINTAINED_kgpe-d16_workstation
subcommand: ""
requires:
- librem_l1um

# coreboot 4.11
- build:
name: UNMAINTAINED_kgpe-d16_workstation-usb_keyboard
target: UNMAINTAINED_kgpe-d16_workstation-usb_keyboard
subcommand: ""
requires:
- librem_l1um

# coreboot 4.11
- build:
name: UNMAINTAINED_kgpe-d16_server
target: UNMAINTAINED_kgpe-d16_server
subcommand: ""
requires:
- librem_l1um

# coreboot 4.11
- build:
name: UNMAINTAINED_kgpe-d16_server-whiptail
target: UNMAINTAINED_kgpe-d16_server-whiptail
subcommand: ""
requires:
- librem_l1um
- novacustom-nv4x_adl
5 changes: 5 additions & 0 deletions BOARD_TESTERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,17 @@ xx30 (Ivy):
- [ ] x230-fhd/edp variant: @n4ru @computer-user123 (nitro caster board) @Tonux599 @househead @pcm720 (eDP 4.0 board and 1440p display) @doob85 https://matrix.to/#/@rsabdpy:matrix.org (agan mod board)
- [ ] x230t : @fhvyhjriur
- [ ] t530 (xx30): @fhvyhjriur @3hhh (Opportunity to mainstream and close https://github.com/linuxboot/heads/issues/1682)
- [ ] Optiplex 7010/9010 SFF/DT: @tlaurion (owns DT variant)

xx4x(Haswell):
===
- [ ] t440p: @fhvyhjriur @ThePlexus @srgrint @akunterkontrolle @rbreslow
- [ ] w541 (similar to t440p): @ResendeGHF @gaspar-ilom (Always tested late: Needs more responsive board testers or risk to become unmaintained.)

xx8x(Kaby Lake Refresh):
===
- [ ] t480: @gaspar-ilom @doritos4mlady @MattClifton76 @notgivenby @akunterkontrolle

Librems:
===
- [ ] Librem 11(JasperLake): @JonathonHall-Purism
Expand Down
2 changes: 1 addition & 1 deletion bin/fetch_coreboot_crossgcc_archive.sh
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ case "$PKG_NAME" in
acpica)
# Original acpica sources are gone. Most of the older releases
# can be found here
PKG_BASEURL="https://distfiles.macports.org/acpica/"
PKG_BASEURL="https://mirror.math.princeton.edu/pub/libreboot/misc/acpica/"
# Version 20220331 (currently used by talos_2) isn't there, but
# there is an old link from Intel that is still up. This is
# specific to this release.
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions blobs/xx80/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
me.bin
tb.bin
Loading