-
-
Notifications
You must be signed in to change notification settings - Fork 195
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
Conversation
Signed-off-by: Thierry Laurion <[email protected]>
Signed-off-by: Thierry Laurion <[email protected]>
Signed-off-by: Thierry Laurion <[email protected]>
Signed-off-by: Thierry Laurion <[email protected]>
Signed-off-by: Thierry Laurion <[email protected]>
…for t480 Signed-off-by: Thierry Laurion <[email protected]>
Signed-off-by: Thierry Laurion <[email protected]>
…ce its not sharing the same coreboot buildstack (something 25.X.X, need to check) Signed-off-by: Thierry Laurion <[email protected]>
…ack, since its not sharing the same coreboot buildstack (something 25.X.X, need to check)" This reverts commit b1f279354388fd8e71abd9f1514246d7e9f6ed1c. Hmmm.... WGET="" bin/fetch_coreboot_crossgcc_archive.sh "/home/user/heads/build/x86/coreboot-t480" "binutils" "/home/user/heads/packages/x86" --2025-02-11 14:46:38-- https://ftpmirror.gnu.org/binutils/binutils-2.43.1.tar.xz Resolving ftpmirror.gnu.org (ftpmirror.gnu.org)... 209.51.188.200, 2001:470:142:5::200 Connecting to ftpmirror.gnu.org (ftpmirror.gnu.org)|209.51.188.200|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://mirror.csclub.uwaterloo.ca/gnu/binutils/binutils-2.43.1.tar.xz [following] --2025-02-11 14:46:40-- https://mirror.csclub.uwaterloo.ca/gnu/binutils/binutils-2.43.1.tar.xz Resolving mirror.csclub.uwaterloo.ca (mirror.csclub.uwaterloo.ca)... 129.97.134.71, 2620:101:f000:4901:c5c:0:f:1055 Connecting to mirror.csclub.uwaterloo.ca (mirror.csclub.uwaterloo.ca)|129.97.134.71|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 28174300 (27M) [text/plain] Saving to: '/home/user/heads/packages/x86/coreboot-crossgcc-binutils-2.43.1.tar.xz.tmp' /home/user/heads/packages/x86/coreboot-crossgcc-binu 100%[=====================================================================================================================>] 26.87M 8.88MB/s in 3.0s 2025-02-11 14:46:44 (8.88 MB/s) - '/home/user/heads/packages/x86/coreboot-crossgcc-binutils-2.43.1.tar.xz.tmp' saved [28174300/28174300] /home/user/heads/packages/x86/coreboot-crossgcc-binutils-2.43.1.tar.xz.tmp: OK touch "/home/user/heads/build/x86/coreboot-t480/.heads-crossgcc-pkg-binutils" WGET="" bin/fetch_coreboot_crossgcc_archive.sh "/home/user/heads/build/x86/coreboot-t480" "gcc" "/home/user/heads/packages/x86" --2025-02-11 14:46:44-- https://ftpmirror.gnu.org/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz Resolving ftpmirror.gnu.org (ftpmirror.gnu.org)... 209.51.188.200, 2001:470:142:5::200 Connecting to ftpmirror.gnu.org (ftpmirror.gnu.org)|209.51.188.200|:443... connected. HTTP request sent, awaiting response... 302 Moved Temporarily Location: https://mirror2.evolution-host.com/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz [following] --2025-02-11 14:46:44-- https://mirror2.evolution-host.com/gnu/gcc/gcc-14.2.0/gcc-14.2.0.tar.xz Resolving mirror2.evolution-host.com (mirror2.evolution-host.com)... 167.114.8.249, 2607:5300:60:450d:c259:13f4:6df0:1 Connecting to mirror2.evolution-host.com (mirror2.evolution-host.com)|167.114.8.249|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 92306460 (88M) [application/x-xz] Saving to: '/home/user/heads/packages/x86/coreboot-crossgcc-gcc-14.2.0.tar.xz.tmp' /home/user/heads/packages/x86/coreboot-crossgcc-gcc- 100%[=====================================================================================================================>] 88.03M 32.9MB/s in 2.7s 2025-02-11 14:46:48 (32.9 MB/s) - '/home/user/heads/packages/x86/coreboot-crossgcc-gcc-14.2.0.tar.xz.tmp' saved [92306460/92306460] /home/user/heads/packages/x86/coreboot-crossgcc-gcc-14.2.0.tar.xz.tmp: OK touch "/home/user/heads/build/x86/coreboot-t480/.heads-crossgcc-pkg-gcc" WGET="" bin/fetch_coreboot_crossgcc_archive.sh "/home/user/heads/build/x86/coreboot-t480" "nasm" "/home/user/heads/packages/x86" --2025-02-11 14:46:48-- https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.bz2 Resolving www.nasm.us (www.nasm.us)... 198.137.202.136, 2607:7c80:54:3::136 Connecting to www.nasm.us (www.nasm.us)|198.137.202.136|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1361988 (1.3M) [application/x-bzip2] Saving to: '/home/user/heads/packages/x86/coreboot-crossgcc-nasm-2.16.03.tar.bz2.tmp' /home/user/heads/packages/x86/coreboot-crossgcc-nasm 100%[=====================================================================================================================>] 1.30M 2.90MB/s in 0.4s 2025-02-11 14:46:49 (2.90 MB/s) - '/home/user/heads/packages/x86/coreboot-crossgcc-nasm-2.16.03.tar.bz2.tmp' saved [1361988/1361988] /home/user/heads/packages/x86/coreboot-crossgcc-nasm-2.16.03.tar.bz2.tmp: OK touch "/home/user/heads/build/x86/coreboot-t480/.heads-crossgcc-pkg-nasm" WGET="" bin/fetch_coreboot_crossgcc_archive.sh "/home/user/heads/build/x86/coreboot-t480" "iasl" "/home/user/heads/packages/x86" --2025-02-11 14:46:49-- https://distfiles.macports.org/acpica/acpica-unix-20241212.tar.gz Resolving distfiles.macports.org (distfiles.macports.org)... 151.101.138.132 Connecting to distfiles.macports.org (distfiles.macports.org)|151.101.138.132|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2025-02-11 14:46:50 ERROR 404: Not Found. Failed to download https://distfiles.macports.org/acpica/acpica-unix-20241212.tar.gz Try mirrors for coreboot-crossgcc-acpica-unix-20241212.tar.gz --2025-02-11 14:46:50-- https://storage.puri.st/heads-packages/coreboot-crossgcc-acpica-unix-20241212.tar.gz Resolving storage.puri.st (storage.puri.st)... 146.190.140.226 Connecting to storage.puri.st (storage.puri.st)|146.190.140.226|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2025-02-11 14:46:51 ERROR 404: Not Found. Failed to download https://storage.puri.st/heads-packages/coreboot-crossgcc-acpica-unix-20241212.tar.gz --2025-02-11 14:46:51-- https://storage.puri.sm/heads-packages/coreboot-crossgcc-acpica-unix-20241212.tar.gz Resolving storage.puri.sm (storage.puri.sm)... 146.190.140.226 Connecting to storage.puri.sm (storage.puri.sm)|146.190.140.226|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2025-02-11 14:46:52 ERROR 404: Not Found. Failed to download https://storage.puri.sm/heads-packages/coreboot-crossgcc-acpica-unix-20241212.tar.gz Signed-off-by: Thierry Laurion <[email protected]>
…hon when used under nix docker Signed-off-by: Thierry Laurion <[email protected]>
…ls blobs scripts Signed-off-by: Thierry Laurion <[email protected]>
… as base Signed-off-by: Thierry Laurion <[email protected]>
…onfig and config/coreboot-novacustom-nv4x_adl.config Then saved back in oldconfig with ./docker_repro.sh make BOARD=t480-maximized coreboot.modify_and_save_oldconfig_in_place Notes: - Pr0 requirements don't stick, investigate - real quick overview of config, just rying to get thing build here Signed-off-by: Thierry Laurion <[email protected]>
…EURL to use one of libreboot web mirror Signed-off-by: Thierry Laurion <[email protected]>
…ot 24.02 buildstack) Signed-off-by: Thierry Laurion <[email protected]>
…les in tree as per http://web.archive.org/web/20250211155526/https://notgivenby.github.io/heads-wiki/t480-port/#coreboot-config-for-t480 : No joy building, but will dump progress for others to pickup Signed-off-by: Thierry Laurion <[email protected]>
…ake first layer Will fail at Updating git submodules. payloads/external/Makefile.mk:399: "Using host toolchain to build Linuxboot" GEN build.h IFDTOOL -p sklkbl -F t480-maximized/fmap-template.fmd ../../../blobs/t480/ifd_16 HOSTCC cbfstool/fmd_parser.o HOSTCC cbfstool/fmd_scanner.o make[1]: *** No rule to make target '../../../vendorfiles/kabylake/Fsp_M.fd', needed by 't480-maximized/coreboot.pre'. Stop. make[1]: *** Waiting for unfinished jobs.... File ../../../blobs/t480/ifd_16 is 4096 bytes Wrote layout to t480-maximized/fmap-template.fmd Signed-off-by: Thierry Laurion <[email protected]>
…iles exist For repro: - To remove all files created by patches (would error to help dev remove them manually) - echo "bogus" | tee build/x86/coreboot-t480/.canary - sudo rm -rf build/x86/coreboot-t480/src/mainboard/lenovo/sklkbl_thinkpad/variants/t480* - sudo rm build/x86/libgpg-error-1.46/src/syscfg/lock-obj-pub.powerpc64le-unknown-linux-musl.h - Remove all .canary files, outside of detected git forks to speedup local builds, rebuilding only new files with make magic - ./docker_repro.sh make BOARD=t480-maximized real.remove_canary_files-extract_patch_rebuild_what_changed - Rebuild from sources: unpack archives/git clone, patch, build from source - ./docker_repro.sh make BOARD=t480-maximized Signed-off-by: Thierry Laurion <[email protected]>
…ream PR0 patchset https://review.coreboot.org/c/coreboot/+/85278 Repro: git fetch https://review.coreboot.org/coreboot refs/changes/78/85278/3 && git format-patch -1 --stdout FETCH_HEAD > patches/coreboot-t480/85278-post-skylake-pr0.patch Unfortunately Applying patch file : patches/coreboot-t480/85278-post-skylake-pr0.patch Checking patch build/x86/coreboot-t480/src/soc/intel/alderlake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/cannonlake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/common/block/lpc/Makefile.mk... Checking patch build/x86/coreboot-t480/src/soc/intel/common/block/smm/smihandler.c... Checking patch build/x86/coreboot-t480/src/soc/intel/common/pch/include/intelpch/lockdown.h... Checking patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/Kconfig... Checking patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/Makefile.mk... Checking patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/lockdown.c... Checking patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/lockdown_lpc.c... Checking patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/lockdown_spi.c... Checking patch build/x86/coreboot-t480/src/soc/intel/denverton_ns/lpc.c... Checking patch build/x86/coreboot-t480/src/soc/intel/elkhartlake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/jasperlake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/meteorlake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/pantherlake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/skylake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/tigerlake/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/xeon_sp/finalize.c... Checking patch build/x86/coreboot-t480/src/soc/intel/xeon_sp/lockdown.c... error: while searching for: static void lpc_lockdown_config(void) { /* Set BIOS Interface Lock, BIOS Lock */ lpc_set_bios_interface_lock_down(); /* Only allow writes in SMM */ if (CONFIG(BOOTMEDIA_SMM_BWP)) { lpc_set_eiss(); lpc_enable_wp(); } lpc_set_lock_enable(); } void soc_lockdown_config(int chipset_lockdown) { if (chipset_lockdown == CHIPSET_LOCKDOWN_FSP) return; lpc_lockdown_config(); pmc_lockdown_config(); sata_lockdown_config(chipset_lockdown); spi_lockdown_config(chipset_lockdown); error: patch failed: build/x86/coreboot-t480/src/soc/intel/xeon_sp/lockdown.c:6 Applied patch build/x86/coreboot-t480/src/soc/intel/alderlake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/cannonlake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/block/lpc/Makefile.mk cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/block/smm/smihandler.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/pch/include/intelpch/lockdown.h cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/Kconfig cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/Makefile.mk cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/lockdown.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/lockdown_lpc.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/common/pch/lockdown/lockdown_spi.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/denverton_ns/lpc.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/elkhartlake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/jasperlake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/meteorlake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/pantherlake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/skylake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/tigerlake/finalize.c cleanly. Applied patch build/x86/coreboot-t480/src/soc/intel/xeon_sp/finalize.c cleanly. Applying patch build/x86/coreboot-t480/src/soc/intel/xeon_sp/lockdown.c with 1 reject... Rejected hunk #1. make: *** [Makefile:570: /home/user/heads/build/x86/coreboot-t480/.canary] Error 1 Will have to edit patch Signed-off-by: Thierry Laurion <[email protected]>
…we are not interested into which are conflicting against coreboot upstream commit 2f1e4e5e8515dd350cc9d68b48d32a5b6b02ae6a Signed-off-by: Thierry Laurion <[email protected]>
…config Signed-off-by: Thierry Laurion <[email protected]>
…herwise build error Signed-off-by: Thierry Laurion <[email protected]>
… after kexec call to final OS. Otherwise, problem with coreboot config) Signed-off-by: Thierry Laurion <[email protected]>
Signed-off-by: gaspar-ilom <[email protected]>
…d error Signed-off-by: Thierry Laurion <[email protected]>
…add the CircleCI Signed-off-by: Thierry Laurion <[email protected]>
Resolve conflicts, enable TPM2 support into board configs that was missing sorry - remove blobs/kabylake/fetch_split_fsp.sh since unneeded if depending on full FSP from tree - removed fsp.fd files placed in blobs and references to it in @gaspar-ilom branch - removed blobs/kabylake/* altogether since unneeded - remove patches/coreboot-24.02.01/* since we use another fork (currently modules/coreboot: t480, might be renamed to coreboot release to be reused later) - t480 boards depend on targets/xx80_me_blobs.mk now, next commit will cleanup prior work artifacts not needed; @gaspar-ilom approach cleaner Signed-off-by: Thierry Laurion <[email protected]>
…mpler/merged of @gaspar-ilom Signed-off-by: Thierry Laurion <[email protected]>
…ose are not maximized boards. We have to draw the line somewhere. - Reuse good tweeks from gaspar-ilom's provided config/coreboot-t480-maximized.config - move config/coreboot-t480-maximized.config to config/coreboot-t480.config, delete config/coreboot-t480-maximized.config - rename boards/t480-hotp-maximized -> boards/t480-hotp, boards/t480-maximized/t480-maximized -> boards/t480-maximized/t480 - Adapt CircleCI board naming accordingly TODO: - discuss need of thunderbold firmware presence in fw, that were part of @notgivenby prior work and now gone. Should it be brought back? - Tweaks of config/coreboot-t480.config against prior commit, outside of blobs paths having change. Signed-off-by: Thierry Laurion <[email protected]>
…m cleaner merged/adapted work from @gaspar-ilom Signed-off-by: Thierry Laurion <[email protected]>
I think there are different options:
Personally, I have no strong preference. I just thought that 2 and 3 might be cleaner and less maintenance work as we could ideally just forget about haswell NRI. 1. might have the advantage that we only need to test haswell boards (just W541 and T440p iirc). |
@gaspar-ilom On reply for previous comment, it's gonna be a seperate effort. Discussion continues at |
more patches are going to come for haswell nri so we want a clean naming scheme Signed-off-by: gaspar-ilom <[email protected]>
Originally posted by @tlaurion in #1923 (comment) |
4cb6985 doesn't change anything and doesn't invalidate past test reports: it just prepares for Haswell NRI separate effort under #1923 which @gaspar-ilom being in fire is already preparing for merge once we confirm no regression for other boards here! |
@tlaurion @gaspar-ilom t420, t430, t480 no regression. All booted:-) |
Of all boards needing testing in OP(modified)
Were not tested yet nor sign of life of when it could be tested soon. Since helpers are now in tree, I will push commit to move those back to untested, while still maintained (Someone will have to open issue to say they were tested when they are; the goal of which is not to say that those boards can be internally flashed by silent board owners without an external programmer to unbrick, as previously discussed under #1682 (comment) and led to notes added to https://osresearch.net/Prerequisites#supported-devices EDIT: Board owners could revert the commit in subsequent PR when tested, or open an issue saying it was tested. Those boards, once again, need more declared board owners with external programmers in case of bricking on important version bumps like these where coreboot might affect platform initialization and cause bricks. |
…er, per notice at linuxboot#1908 (comment) Signed-off-by: Thierry Laurion <[email protected]>
…helper, per notice at linuxboot#1908 (comment) Signed-off-by: Thierry Laurion <[email protected]>
I commented upstream at https://review.coreboot.org/c/coreboot/+/83274/comment/cf07c1ed_e35c2724/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @tlaurion for all the work you have put in in guiding us though the port of the T480 and in the coreboot version bump.
I have not gone through every coreboot and board config file for this review. I had already reviewed the new files under these directories for #1906 so I hope that this is fine.
…helper, per notice at linuxboot#1908 (comment) Unfortunately the helper doesn't deal well with board inclusion: sed call is imperfect, and board config needs to be manually edited. TODO: fix the helper when it will be the time to move back to tested/untested Signed-off-by: Thierry Laurion <[email protected]>
a65a36f
to
382949d
Compare
… passing: -j8 --load-average=12 from current Makefile helper Signed-off-by: Thierry Laurion <[email protected]>
Signed-off-by: Thierry Laurion <[email protected]>
Tested working on Optiplex 9010 DT (board added under 10f854c) Testing added in OP crosslinking here |
Wating for 10f854c to build and its a merge. TODO: |
@notgivenby agreeing with @gaspar-ilom, ideally linuxboot/heads-wiki#174 is ready to merge at the same time :) |
Hi @tlaurion , either the message missed me or I forgot (I was in the middle of something at that point last month), but I've just tested the latest master/main artifact on my Z220 CMT and found it to work fine. Apologies for the delay. |
I will gently ask for a PR putting it back to tested from board owners @d-wid. Two months delay between PR and it's actual testing grants untested title properly in my opinion, this title being aimed to protect end users not owning an external programmer and not willing to risk a brick because no internally flashing untested built rom from master, untested because no board owners are willing to promptly test pull request in a timely manner when needed prior of changes reaching master (sorry but here this is you alone for z220-cmt, which is not planned to become more populair anytime soon, @d-wid ). You can open an issue to put that board out of untested status if unwilling to provide a PR l, using main Makefile helper to switch untested board to tested, sign commit and create a pull request of of that change. I'm not willing to play those games anymore. If a board is not used enough, and consequently has no tester when needed, I cannot maintain it blindly, risking end users without external flashers to risk bricking their platform. If the board is important to you, you should donate, test in timely manner, or be able to out the board back ingested state since you haven't tested it when needed. You should understand. Thank you. Do not expect me to switch it back to tested. Nobody else is know to own that platform and this is problematic. |
Leah blocked me on mastodon because I urged to work upstream and lbmk stop building things in bubble, since this harms ecosystem, including coreboot upstream which won't participate much in review process if patchset proposed cause regressions. Oh well.
Since f765586 now permits to version bump all prior 24.02.01 boards to 24.12, including t480, we need to retest all boards prior of merging:
@bwachter(iGPU maximized) @shamen123 @eganonoa(iGPU) @nitrosimon @jans23 @icequbes1 (iGPU) @weyounsix (t430-dgpu)
Old, prior of f765586
t480 REMOVED FROM THIS PR
This depends on #1906 being merged first.
This depends on patches adding t480 which are not merged upstream yet, which https://review.coreboot.org/c/coreboot/+/83274/25/src/ec/lenovo/h8/acpi/ec.asl#b334 is a blocker otherwise breaking other thinkpads in CircleCI as can be seen prior of removing the line at aa2b15d
This is early bump, simply because t480 depends on 24.12+libreboot patches and it seems logical to bump most of supported boards to 24.12 coreboot (we are on 24.02.01 which means a year old coreboot version on most boards).
Will rebase on master once #1908 is/if merged
tested