Skip to content

Commit 31f6364

Browse files
committed
Merge remote-tracking branch 'osresearch/master' into HEAD (+ fix conflicts)
2 parents e6ba702 + 58f709e commit 31f6364

88 files changed

Lines changed: 1642 additions & 3323 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ jobs:
196196
- build/ppc64/musl-cross-make-fd6be58297ee21fcba89216ccd0d4aca1e3f1c5c
197197
- build/x86/coreboot-4.11
198198
- build/x86/coreboot-24.02.01
199-
- build/x86/coreboot-24.12
199+
- build/x86/coreboot-25.09
200200
- build/x86/coreboot-dasharo
201201
- build/x86/coreboot-purism
202202
- build/x86/musl-cross-make-fd6be58297ee21fcba89216ccd0d4aca1e3f1c5c
@@ -214,6 +214,7 @@ jobs:
214214
workflows:
215215
version: 2
216216
build_and_test:
217+
max_auto_reruns: 3
217218
jobs:
218219
- prep_env
219220

@@ -253,7 +254,7 @@ workflows:
253254
requires:
254255
- novacustom-nv4x_adl
255256

256-
# t480 is based on 24.12 coreboot release, not sharing any buildstack from now, depend on muslc-cross cache
257+
# t480 is based on 25.09 coreboot release, not sharing any buildstack from now, depend on muscl-cross cache
257258
- build_and_persist:
258259
name: EOL_t480-hotp-maximized
259260
target: EOL_t480-hotp-maximized
@@ -286,7 +287,7 @@ workflows:
286287
- EOL_t480-hotp-maximized
287288

288289
# Those onboarding new boards should add their entries below.
289-
# coreboot 24.12 boards
290+
# coreboot 25.09 boards
290291
- build:
291292
name: EOL_x220-hotp-maximized
292293
target: EOL_x220-hotp-maximized
@@ -330,29 +331,29 @@ workflows:
330331
- EOL_t480-hotp-maximized
331332

332333
- build:
333-
name: EOL_optiplex-7010_9010-maximized
334-
target: EOL_optiplex-7010_9010-maximized
334+
name: EOL_UNTESTED_optiplex-7010_9010-maximized
335+
target: EOL_UNTESTED_optiplex-7010_9010-maximized
335336
subcommand: ""
336337
requires:
337338
- EOL_t480-hotp-maximized
338339

339340
- build:
340-
name: EOL_optiplex-7010_9010-hotp-maximized
341-
target: EOL_optiplex-7010_9010-hotp-maximized
341+
name: EOL_UNTESTED_optiplex-7010_9010-hotp-maximized
342+
target: EOL_UNTESTED_optiplex-7010_9010-hotp-maximized
342343
subcommand: ""
343344
requires:
344345
- EOL_t480-hotp-maximized
345346

346347
- build:
347-
name: EOL_optiplex-7010_9010_TXT-maximized
348-
target: EOL_optiplex-7010_9010_TXT-maximized
348+
name: EOL_UNTESTED_optiplex-7010_9010_TXT-maximized
349+
target: EOL_UNTESTED_optiplex-7010_9010_TXT-maximized
349350
subcommand: ""
350351
requires:
351352
- EOL_t480-hotp-maximized
352353

353354
- build:
354-
name: EOL_optiplex-7010_9010_TXT-hotp-maximized
355-
target: EOL_optiplex-7010_9010_TXT-hotp-maximized
355+
name: EOL_UNTESTED_optiplex-7010_9010_TXT-hotp-maximized
356+
target: EOL_UNTESTED_optiplex-7010_9010_TXT-hotp-maximized
356357
subcommand: ""
357358
requires:
358359
- EOL_t480-hotp-maximized
@@ -386,8 +387,8 @@ workflows:
386387
- EOL_t480-hotp-maximized
387388

388389
- build:
389-
name: EOL_w530-hotp-maximized
390-
target: EOL_w530-hotp-maximized
390+
name: EOL_UNTESTED_w530-hotp-maximized
391+
target: EOL_UNTESTED_w530-hotp-maximized
391392
subcommand: ""
392393
requires:
393394
- EOL_t480-hotp-maximized
@@ -400,8 +401,8 @@ workflows:
400401
- EOL_t480-hotp-maximized
401402

402403
- build:
403-
name: EOL_w530-maximized
404-
target: EOL_w530-maximized
404+
name: EOL_UNTESTED_w530-maximized
405+
target: EOL_UNTESTED_w530-maximized
405406
subcommand: ""
406407
requires:
407408
- EOL_t480-hotp-maximized
@@ -435,15 +436,15 @@ workflows:
435436
- EOL_t480-hotp-maximized
436437

437438
- build:
438-
name: EOL_UNTESTED_w541-maximized
439-
target: EOL_UNTESTED_w541-maximized
439+
name: EOL_w541-maximized
440+
target: EOL_w541-maximized
440441
subcommand: ""
441442
requires:
442443
- EOL_t480-hotp-maximized
443444

444445
- build:
445-
name: EOL_UNTESTED_w541-hotp-maximized
446-
target: EOL_UNTESTED_w541-hotp-maximized
446+
name: EOL_w541-hotp-maximized
447+
target: EOL_w541-hotp-maximized
447448
subcommand: ""
448449
requires:
449450
- EOL_t480-hotp-maximized
@@ -456,15 +457,15 @@ workflows:
456457
- EOL_t480-hotp-maximized
457458

458459
- build:
459-
name: EOL_UNTESTED_z220-cmt-maximized
460-
target: EOL_UNTESTED_z220-cmt-maximized
460+
name: EOL_z220-cmt-maximized
461+
target: EOL_z220-cmt-maximized
461462
subcommand: ""
462463
requires:
463464
- EOL_t480-hotp-maximized
464465

465466
- build:
466-
name: EOL_UNTESTED_z220-cmt-hotp-maximized
467-
target: EOL_UNTESTED_z220-cmt-hotp-maximized
467+
name: EOL_z220-cmt-hotp-maximized
468+
target: EOL_z220-cmt-hotp-maximized
468469
subcommand: ""
469470
requires:
470471
- EOL_t480-hotp-maximized
@@ -527,7 +528,7 @@ workflows:
527528
requires:
528529
- librem_14
529530

530-
# t480 is based on 24.12 coreboot release, not sharing any buildstack from now, depend on muslc-cross cache
531+
# t480 is based on 25.09 coreboot release, not sharing any buildstack from now, depend on muscl-cross cache
531532
- build:
532533
name: EOL_t480-maximized
533534
target: EOL_t480-maximized

Makefile

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ $(info !!!!!! Build starts !!!!!!)
7272
DATE=`date --rfc-3339=seconds`
7373

7474
BOARD ?= qemu-coreboot-fbwhiptail-tpm1
75+
76+
ifeq "y" "$(shell [[ $(BOARD) =~ (^EOL_|^)UNMAINTAINED_.* ]] && echo y)""
77+
CONFIG := $(pwd)/unmaintained_boards/$(BOARD)/$(BOARD).config
78+
else
7579
CONFIG := $(pwd)/boards/$(BOARD)/$(BOARD).config
80+
endif
7681

7782
ifneq "y" "$(shell [ -r '$(CONFIG)' ] && echo y)"
7883
$(error $(CONFIG): board configuration does not exist)
@@ -907,7 +912,7 @@ $(board_build)/$(CB_OUTPUT_BASENAME)-gpg-injected.rom: $(board_build)/$(CB_OUTPU
907912

908913
board.move_untested_to_tested:
909914
@echo "Moving $(BOARD) from UNTESTED to tested status"
910-
@NEW_BOARD=$$(echo $(BOARD) | sed 's/^UNTESTED_//'); \
915+
@NEW_BOARD=$$(echo $(BOARD) | sed -E 's/(^EOL_|^)UNTESTED_/\1/'); \
911916
INCLUDE_BOARD=$$(grep "include \$$(pwd)/boards/" boards/$(BOARD)/$(BOARD).config | sed 's/.*boards\/\(.*\)\/.*/\1/'); \
912917
NEW_INCLUDE_BOARD=$$(echo $$INCLUDE_BOARD | sed 's/^UNTESTED_//'); \
913918
echo "Updating config file: boards/$(BOARD)/$(BOARD).config"; \
@@ -923,11 +928,12 @@ board.move_untested_to_tested:
923928

924929
board.move_unmaintained_to_tested:
925930
@echo "NEW_BOARD variable will remove UNMAINTAINED_ prefix from $(BOARD)"
926-
@NEW_BOARD=$$(echo $(BOARD) | sed 's/^UNMAINTAINED_//'); \
927-
echo "Renaming boards/$$BOARD/$$BOARD.config to boards/$$BOARD/$$NEW_BOARD.config"; \
928-
git mv boards/$$BOARD/$$BOARD.config boards/$$BOARD/$$NEW_BOARD.config; \
931+
@NEW_BOARD=$$(echo $(BOARD) | sed -E 's/(^EOL_|^)UNMAINTAINED_/\1/'); \
932+
echo "Renaming unmaintained_boards/$$BOARD/$$BOARD.config to boards/$$BOARD/$$NEW_BOARD.config"; \
933+
mkdir -p boards/$$BOARD; \
934+
git mv unmaintained_boards/$$BOARD/$$BOARD.config boards/$$BOARD/$$NEW_BOARD.config; \
929935
echo "Renaming boards/$$BOARD to boards/$$NEW_BOARD"; \
930-
rm -rf boards/$$NEW_BOARD; \
936+
rm -rf boards/$$NEW_BOARD unmaintained_boards/$$BOARD; \
931937
git mv boards/$$BOARD boards/$$NEW_BOARD; \
932938
echo "Replacing $$BOARD with $$NEW_BOARD in .circleci/config.yml"; \
933939
sed -i "s/$$BOARD/$$NEW_BOARD/g" .circleci/config.yml; \
@@ -936,19 +942,19 @@ board.move_unmaintained_to_tested:
936942

937943
board.move_untested_to_unmaintained:
938944
@echo "NEW_BOARD variable will move from UNTESTED_ to UNMAINTAINED_ from $(BOARD)"
939-
@NEW_BOARD=$$(echo $(BOARD) | sed 's/^UNTESTED_/UNMAINTAINED_/g'); \
940-
echo "Renaming boards/$$BOARD/$$BOARD.config to boards/$$BOARD/$$NEW_BOARD.config"; \
945+
@NEW_BOARD=$$(echo $(BOARD) | sed -E 's/(^EOL_|^)UNTESTED_/\1UNMAINTAINED_/'); \
946+
echo "Renaming boards/$$BOARD to unmaintained_boards/$$NEW_BOARD"; \
941947
mkdir -p unmaintained_boards; \
942-
git mv boards/$$BOARD/$$BOARD.config unmaintained_boards/$$BOARD/$$NEW_BOARD.config; \
943-
echo "Renaming boards/$$BOARD to unmaintainted_boards/$$NEW_BOARD"; \
944-
rm -rf boards/$$NEW_BOARD; \
945948
git mv boards/$$BOARD unmaintained_boards/$$NEW_BOARD; \
949+
echo "Renaming unmaintained_boards/$$NEW_BOARD/$$BOARD.config to unmaintained_boards/$$NEW_BOARD/$$NEW_BOARD.config"; \
950+
rm -rf boards/$$NEW_BOARD; \
951+
git mv unmaintained_boards/$$NEW_BOARD/$$BOARD.config unmaintained_boards/$$NEW_BOARD/$$NEW_BOARD.config; \
946952
echo "Replacing $$BOARD with $$NEW_BOARD in .circleci/config.yml. Delete manually entries"; \
947953
sed -i "s/$$BOARD/$$NEW_BOARD/g" .circleci/config.yml
948954

949955
board.move_tested_to_untested:
950956
@echo "NEW_BOARD variable will add UNTESTED_ prefix to $(BOARD)"
951-
@NEW_BOARD=UNTESTED_$(BOARD); \
957+
@NEW_BOARD=$$(echo $(BOARD) | sed -E 's/(^EOL_|^)/\1UNTESTED_/'); \
952958
rm -rf boards/$${NEW_BOARD}; \
953959
echo "Renaming boards/$(BOARD)/$(BOARD).config to boards/$(BOARD)/$${NEW_BOARD}.config"; \
954960
git mv boards/$(BOARD)/$(BOARD).config boards/$(BOARD)/$${NEW_BOARD}.config; \
@@ -970,7 +976,7 @@ board.move_tested_to_EOL:
970976

971977
board.move_tested_to_unmaintained:
972978
@echo "Moving $(BOARD) from tested to unmaintained status"
973-
@NEW_BOARD=UNMAINTAINED_$(BOARD); \
979+
@NEW_BOARD=$$(echo $(BOARD) | sed -E 's/(^EOL_|^)/\1UNMAINTAINED_/'); \
974980
INCLUDE_BOARD=$$(grep "include \$$(pwd)/boards/" boards/$(BOARD)/$(BOARD).config | sed 's/.*boards\/\(.*\)\/.*/\1/'); \
975981
NEW_INCLUDE_BOARD=UNMAINTAINED_$${INCLUDE_BOARD}; \
976982
echo "Updating config file: boards/$(BOARD)/$(BOARD).config"; \

bin/seed_package_mirror.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ echo "Downloading packages..."
5656
make packages BOARD=qemu-coreboot-fbwhiptail-tpm1-hotp
5757
make packages BOARD=UNTESTED_talos-2 # newt, PPC
5858
make packages BOARD=librem_l1um_v2 # TPM2
59-
make packages BOARD=librem_l1um # coreboot 4.11
60-
make packages BOARD=x230-maximized # io386
59+
make packages BOARD=EOL_librem_l1um # coreboot 4.11
60+
make packages BOARD=EOL_x230-maximized # io386
6161
echo
6262
echo "Copying to mirror directory..."
6363
mkdir -p "$ARG_MIRROR_DIR"

blobs/w541/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
Coreboot on the W541 requires the following binary blobs:
99

1010
- `mrc.bin` - Consists of Intel’s Memory Reference Code (MRC) and [is used to initialize the DRAM](https://doc.coreboot.org/northbridge/intel/haswell/mrc.bin.html).
11+
- Known issues with ram initilization are listed below.
1112
- `me.bin` - Consists of Intel’s Management Engine (ME), which we modify using [me_cleaner](https://github.com/corna/me_cleaner) to remove all but the modules which are necessary for the CPU to function.
1213
- `gbe.bin` - Consists of hardware/software configuration data for the Gigabit Ethernet (GbE) controller. Intel publishes the data structure [here](https://web.archive.org/web/20230122164346/https://www.intel.com/content/dam/www/public/us/en/documents/design-guides/i-o-controller-hub-8-9-nvm-map-guide.pdf), and an [ImHex](https://github.com/WerWolv/ImHex) hex editor pattern is available [here](https://github.com/rbreslow/ImHex-Patterns/blob/rb/intel-ich8/patterns/intel/ich8_lan_nvm.hexpat).
1314
- `ifd.bin` - Consists of the Intel Flash Descriptor (IFD). Intel publishes the data structure [here](https://web.archive.org/web/20221208011432/https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/io-controller-hub-8-datasheet.pdf), and an ImHex hex editor pattern is available [here](https://github.com/rbreslow/ImHex-Patterns/blob/rb/intel-ich8/patterns/intel/ich8_flash_descriptor.hexpat).
@@ -38,3 +39,7 @@ Now, you can rebuild Heads:
3839
```console
3940
$ make BOARD=w541-hotp-maximized
4041
```
42+
43+
# Known Issues
44+
- Ram initialization with the MRC blob is very slow (~40s until boot splash) and so far native ram init (NRI) which was merged upstream has not been able to resolve the issue under heads. Work on HRI is tracked here: https://github.com/linuxboot/heads/pull/1923
45+
- S3 resume from suspend has been reported as flaky on some boards (4 DIMMs with a total of 32GB ram).

blobs/xx30/optiplex_7010_9010.sh

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,17 @@ if [[ ! -f "${output_dir}/IVB_BIOSAC_PRODUCTION.bin" ]] || [[ ! -f "${output_dir
3434
#Download sinit
3535
# Original URL got rid of needed file, keeping original URL. Let's use archive.org
3636
#wget https://cdrdv2.intel.com/v1/dl/getContent/630744 -O sinit.zip
37-
wget http://web.archive.org/web/20230712081031/https://cdrdv2.intel.com/v1/dl/getContent/630744 -O sinit.zip
38-
unzip sinit.zip
39-
mv 630744_002/SNB_IVB_SINIT_20190708_PW.bin "${output_dir}/"
40-
41-
popd || exit
37+
if wget http://web.archive.org/web/20230712081031/https://cdrdv2.intel.com/v1/dl/getContent/630744 -O sinit.zip; then
38+
unzip sinit.zip
39+
mv 630744_002/SNB_IVB_SINIT_20190708_PW.bin "${output_dir}/"
40+
popd || exit
41+
elif wget https://dl.3mdeb.com/mirror/intel/acm/SNB_IVB_SINIT_20190708_PW.bin -O "${output_dir}/SNB_IVB_SINIT_20190708_PW.bin"; then
42+
# As per https://github.com/Dasharo/dasharo-issues/issues/1283#issuecomment-3178940096 : use 3mdeb's intel mirror for sinit blob
43+
popd || exit
44+
else
45+
echo "Can't download sinit blob, failing"
46+
exit 1
47+
fi
4248
fi
4349

4450
if ! echo "${EC_BLOB_HASH} ${output_dir}/sch5545_ecfw.bin" | sha256sum --check; then

blobs/xx80/README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ The following blobs are needed:
77
* `me.bin`
88
* `tb.bin` (optional but recommended flashing this blob to the separate Thunderbolt SPI chip to fix a bug in the original firmware)
99

10-
## me.bin: automatically extract, neuter and deguard
10+
## me.bin: automatically extract, deactivate, partially neuter and deguard
1111

12-
download_clean_me.sh : Download vulnerable ME from Dell, verify checksum, extract ME, neuter ME and trim it, then apply the deguard patch and place it into me.bin
12+
download_clean_deguard_me_pad_tb.sh : Download vulnerable ME from Dell, verify checksum, extract ME, deactivate ME and paritally neuter it, then apply the deguard patch and place it into me.bin.
13+
For the technical details please read the documentation in the script itself, as removing modules is limited on the platform.
1314

1415
The ME blob dumped in this directory comes from the following link: https://dl.dell.com/FOLDER04573471M/1/Inspiron_5468_1.3.0.exe
1516

@@ -31,7 +32,7 @@ The GBE MAC address was forged to: `00:DE:AD:C0:FF:EE MAC`
3132
## tb.bin
3233

3334
This blob was extracted from https://download.lenovo.com/pccbbs/mobiles/n24th13w.exe
34-
It is zero-padded to 1MB and should be flashed to the Thunderbolt SPI chip, which is not the same as the 16MB chip to which the heads rom is flashed. External flashing is recommended as the only way to reliably fix a bug in the original Thunderbolt software on the SPI chip. You can find a guide here: https://osresearch.net/T430-maximized-flashing/
35+
It is zero-padded to 1MB and should be flashed to the Thunderbolt SPI chip, which is not the same as the 16MB chip to which the heads rom is flashed. External flashing is recommended as the only way to reliably fix a bug in the original Thunderbolt software on the SPI chip. You can find a guide here: https://osresearch.net/T480-maximized-flashing/
3536

3637
## Integrity
3738

@@ -50,4 +51,6 @@ See the board configs `boards/t480-[hotp-]maximized/t480-[hotp-]maximized.config
5051
# Documentation
5152

5253
A guide on how to flash this board (both the Heads rom and the Thunderbolt `tb.bin` blob) can be found here:
53-
https://osresearch.net/T430-maximized-flashing/
54+
https://osresearch.net/T480-maximized-flashing/
55+
56+
The upstream documentation is available here. It includes a list of known issues: https://doc.coreboot.org/mainboard/lenovo/t480.html

blobs/xx80/t480_download_clean_deguard_me_pad_tb.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,17 @@ function download_and_clean() {
7171

7272
extracted_me_filename="1 Inspiron_5468_1.3.0 -- 3 Intel Management Engine (Non-VPro) Update v${ME_version}.bin"
7373

74-
# Neutralize and shrink Intel ME. Note that this doesn't include
74+
# Deactivate, partially neuter and shrink Intel ME. Note that this doesn't include
7575
# --soft-disable to set the "ME Disable" or "ME Disable B" (e.g.,
7676
# High Assurance Program) bits, as they are defined within the Flash
7777
# Descriptor.
7878
# However, the HAP bit must be enabled to make the deguarded ME work. We only clean the ME in this function.
79+
# For ME 11.x this means we must keep the rbe, bup, kernel and syslib modules.
80+
# https://github.com/corna/me_cleaner/wiki/How-does-it-work%3F#me-versions-from-11x-skylake-1
81+
# Furthermore, deguard requires keeping the MFS, the HAP bit set, and we cannot relocate the FTPR partition.
82+
# Some more general info on shrinking:
7983
# https://github.com/corna/me_cleaner/wiki/External-flashing#neutralize-and-shrink-intel-me-useful-only-for-coreboot
8084

81-
# MFS is needed for deguard so we whitelist it here and also do not relocate the FTPR partition
8285
python "$me_cleaner" --whitelist MFS -t -O "$me_output" "${me_installer_filename}_extracted/Firmware/${extracted_me_filename}"
8386
rm -rf ./*
8487
popd || exit

boards/EOL_optiplex-7010_9010-hotp-maximized/EOL_optiplex-7010_9010-hotp-maximized.config renamed to boards/EOL_UNTESTED_optiplex-7010_9010-hotp-maximized/EOL_UNTESTED_optiplex-7010_9010-hotp-maximized.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#
99
# - Includes: Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
1010
export CONFIG_COREBOOT=y
11-
export CONFIG_COREBOOT_VERSION=24.12
11+
export CONFIG_COREBOOT_VERSION=25.09
1212
export CONFIG_LINUX_VERSION=6.1.8
1313

1414
CONFIG_COREBOOT_CONFIG=config/coreboot-optiplex-7019_9010-maximized.config

boards/EOL_optiplex-7010_9010-maximized/EOL_optiplex-7010_9010-maximized.config renamed to boards/EOL_UNTESTED_optiplex-7010_9010-maximized/EOL_UNTESTED_optiplex-7010_9010-maximized.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#
99
# - DOES NOT INCLUDE Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
1010
export CONFIG_COREBOOT=y
11-
export CONFIG_COREBOOT_VERSION=24.12
11+
export CONFIG_COREBOOT_VERSION=25.09
1212
export CONFIG_LINUX_VERSION=6.1.8
1313

1414
CONFIG_COREBOOT_CONFIG=config/coreboot-optiplex-7019_9010-maximized.config

boards/EOL_optiplex-7010_9010_TXT-hotp-maximized/EOL_optiplex-7010_9010_TXT-hotp-maximized.config renamed to boards/EOL_UNTESTED_optiplex-7010_9010_TXT-hotp-maximized/EOL_UNTESTED_optiplex-7010_9010_TXT-hotp-maximized.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#
99
# - Includes: Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
1010
export CONFIG_COREBOOT=y
11-
export CONFIG_COREBOOT_VERSION=24.12
11+
export CONFIG_COREBOOT_VERSION=25.09
1212
export CONFIG_LINUX_VERSION=6.1.8
1313

1414
CONFIG_COREBOOT_CONFIG=config/coreboot-optiplex-7019_9010_TXT-maximized.config

0 commit comments

Comments
 (0)