Skip to content

Commit 126b250

Browse files
committed
Merge remote-tracking branch 'osresearch/master' into ext4_orphan_kernel_bump
2 parents 0468f07 + 4e22b50 commit 126b250

File tree

110 files changed

+2597
-560
lines changed

Some content is hidden

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

110 files changed

+2597
-560
lines changed

.circleci/config.yml

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ commands:
4545
jobs:
4646
prep_env:
4747
docker:
48-
- image: tlaurion/heads-dev-env:v0.2.1
48+
- image: tlaurion/heads-dev-env:v0.2.3
4949
resource_class: large
5050
working_directory: ~/heads
5151
steps:
@@ -87,6 +87,10 @@ jobs:
8787
name: Download and neuter xx20 ME (keep generated GBE and extracted IFD in tree)
8888
command: |
8989
./blobs/xx20/download_parse_me.sh
90+
- run:
91+
name: Download Optiplex 7010/9010 blobs
92+
command: |
93+
./blobs/xx30/optiplex_7010_9010.sh ./blobs/xx30
9094
- run:
9195
# me_cleaner.py present under heads xx30 blobs dir comes from https://github.com/corna/me_cleaner/blob/43612a630c79f3bc6f2653bfe90dfe0b7b137e08/me_cleaner.py
9296
name: Download and neuter xx30 ME (keep generated GBE and extracted IFD in tree)
@@ -111,7 +115,7 @@ jobs:
111115

112116
build_and_persist:
113117
docker:
114-
- image: tlaurion/heads-dev-env:v0.2.1
118+
- image: tlaurion/heads-dev-env:v0.2.3
115119
resource_class: large
116120
working_directory: ~/heads
117121
parameters:
@@ -139,7 +143,7 @@ jobs:
139143

140144
build:
141145
docker:
142-
- image: tlaurion/heads-dev-env:v0.2.1
146+
- image: tlaurion/heads-dev-env:v0.2.3
143147
resource_class: large
144148
working_directory: ~/heads
145149
parameters:
@@ -160,7 +164,7 @@ jobs:
160164

161165
save_cache:
162166
docker:
163-
- image: tlaurion/heads-dev-env:v0.2.1
167+
- image: tlaurion/heads-dev-env:v0.2.3
164168
resource_class: large
165169
working_directory: ~/heads
166170
steps:
@@ -327,6 +331,35 @@ workflows:
327331
requires:
328332
- x230-hotp-maximized
329333

334+
#TODO: move away of 24.02.01 coreboot and depend on optiplex specific dasharo commit
335+
- build:
336+
name: optiplex-7010_9010-maximized
337+
target: optiplex-7010_9010-maximized
338+
subcommand: ""
339+
requires:
340+
- x230-hotp-maximized
341+
342+
- build:
343+
name: optiplex-7010_9010-hotp-maximized
344+
target: optiplex-7010_9010-hotp-maximized
345+
subcommand: ""
346+
requires:
347+
- x230-hotp-maximized
348+
349+
- build:
350+
name: optiplex-7010_9010_TXT-maximized
351+
target: optiplex-7010_9010_TXT-maximized
352+
subcommand: ""
353+
requires:
354+
- x230-hotp-maximized
355+
356+
- build:
357+
name: optiplex-7010_9010_TXT-hotp-maximized
358+
target: optiplex-7010_9010_TXT-hotp-maximized
359+
subcommand: ""
360+
requires:
361+
- x230-hotp-maximized
362+
330363
- build:
331364
name: x230-maximized-fhd_edp
332365
target: x230-maximized-fhd_edp

BOARD_TESTERS.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,22 @@ Laptops
1515

1616
xx20 (Sandy):
1717
===
18-
- [ ] t420 (xx20): @alexmaloteaux @natterangell (iGPU) @akfhasodh @doob85
19-
- [ ] x220 (xx20): @Thrilleratplay @BlackMaria @srgrint
18+
- [ ] t420 (xx20): @natterangell(iGPU) @alexmaloteaux @akfhasodh @doob85
19+
- [ ] x220 (xx20): @srgrint @Thrilleratplay
2020

2121
xx30 (Ivy):
2222
===
2323
- [ ] t430 (xx30): @nestire(t430-legacy, t430-maximized) @Thrilleratplay @alexmaloteaux @lsafd @bwachter(iGPU maximized) @shamen123 @eganonoa(iGPU) @nitrosimon @jans23 @icequbes1 (iGPU) @weyounsix (t430-dgpu)
24-
- [ ] w530 (xx30): @eganonoa @zifxify @weyounsix (dGPU: w530-k2000m) @jnscmns (dGPU K1000M) @computer-user123 (w530 / & w530 k2000 : prefers iGPU)
24+
- [ ] w530 (xx30): @eganonoa @zifxify @weyounsix (dGPU: w530-k2000m) @jnscmns (dGPU K1000M) @computer-user123 (w530 / & w530 k2000 : prefers iGPU) @tlaurion
2525
- [ ] x230 (xx30): @nestire(x230-legacy, x230-maximized) @tlaurion(maximized) @osresearch @merge @jan23 @MrChromebox @shamen123 @eganonoa @bwachter @Thrilleratplay @jnscmns @doob85 @natterangell (x230i variant: irrelevant individual board)
2626
- [ ] x230-fhd/edp variant: @n4ru @computer-user123 (nitro caster board) @Tonux599 @househead @pcm720 (eDP 4.0 board and 1440p display)
27+
- [ ] x230t : @fhvyhjriur
2728
- [ ] t530 (xx30): @fhvyhjriur @3hhh (Opportunity to mainstream and close https://github.com/linuxboot/heads/issues/1682)
2829

2930
xx4x(Haswell):
3031
===
31-
- [ ] t440p: @ThePlexus @srgrint @akunterkontrolle @rbreslow
32-
- [ ] w541 (similar to t440p): @resende-gustavo @gaspar-ilom
32+
- [ ] t440p: @fhvyhjriur @ThePlexus @srgrint @akunterkontrolle @rbreslow
33+
- [ ] w541 (similar to t440p): @ResendeGHF @gaspar-ilom (Always tested late: Needs more responsive board testers or risk to become unmaintained.)
3334

3435
Librems:
3536
===
@@ -43,13 +44,13 @@ Librems:
4344
Clevo:
4445
===
4546
- [ ] Nitropad NS50 (AlderLake) : @daringer
46-
- [ ] Nitropad NV41 (AlderLake) : @daringer, @tlaurion
47+
- [ ] Nitropad NV41 (AlderLake) : @tlaurion @daringer
4748

4849

4950
Desktops/Servers
5051
==
51-
- [ ] kgpe-d16 (AMD fam15h) (dropped in coreboot 4.12): @tlaurion @Tonux599 @zifxify @arhabd
52+
- [ ] kgpe-d16 (AMD fam15h) (dropped in coreboot 4.12): @arhabd @Tonux599 @zifxify @tlaurion
5253
- [ ] Librem L1UM v1 (Broadwell): @JonathonHall-Purism
5354
- [ ] Librem L1Um v2 (CoffeeLake): @JonathonHall-Purism
54-
- [ ] Talos II (PPC64LE, Power9) : @tlaurion
55+
- [ ] Talos II (PPC64LE, Power9) : @tlaurion (Will become untested, no other known users, not worth my time nor effort even though massive investment of all forms)
5556
- [ ] z220-cmt (HP Z220 CMT): @d-wid

Makefile

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,7 @@ bin_modules-$(CONFIG_KEXEC) += kexec
604604
bin_modules-$(CONFIG_TPMTOTP) += tpmtotp
605605
bin_modules-$(CONFIG_PCIUTILS) += pciutils
606606
bin_modules-$(CONFIG_FLASHROM) += flashrom
607+
bin_modules-$(CONFIG_FLASHPROG) += flashprog
607608
bin_modules-$(CONFIG_CRYPTSETUP) += cryptsetup
608609
bin_modules-$(CONFIG_CRYPTSETUP2) += cryptsetup2
609610
bin_modules-$(CONFIG_GPG) += gpg
@@ -791,15 +792,20 @@ modules.clean:
791792
done
792793

793794
board.move_untested_to_tested:
794-
@echo "NEW_BOARD variable will remove UNTESTED_ prefix from $(BOARD)"
795+
@echo "Moving $(BOARD) from UNTESTED to tested status"
795796
@NEW_BOARD=$$(echo $(BOARD) | sed 's/^UNTESTED_//'); \
796-
echo "Renaming boards/$$BOARD/$$BOARD.config to boards/$$BOARD/$$NEW_BOARD.config"; \
797-
mv boards/$$BOARD/$$BOARD.config boards/$$BOARD/$$NEW_BOARD.config; \
798-
echo "Renaming boards/$$BOARD to boards/$$NEW_BOARD"; \
799-
rm -rf boards/$$NEW_BOARD; \
800-
mv boards/$$BOARD boards/$$NEW_BOARD; \
801-
echo "Replacing $$BOARD with $$NEW_BOARD in .circleci/config.yml"; \
802-
sed -i "s/$$BOARD/$$NEW_BOARD/g" .circleci/config.yml
797+
INCLUDE_BOARD=$$(grep "include \$$(pwd)/boards/" boards/$(BOARD)/$(BOARD).config | sed 's/.*boards\/\(.*\)\/.*/\1/'); \
798+
NEW_INCLUDE_BOARD=$$(echo $$INCLUDE_BOARD | sed 's/^UNTESTED_//'); \
799+
echo "Updating config file: boards/$(BOARD)/$(BOARD).config"; \
800+
sed -i 's/$(BOARD)/'$${NEW_BOARD}'/g' boards/$(BOARD)/$(BOARD).config; \
801+
sed -i 's/'$$INCLUDE_BOARD'/'$$NEW_INCLUDE_BOARD'/g' boards/$(BOARD)/$(BOARD).config; \
802+
echo "Renaming config file to $${NEW_BOARD}.config"; \
803+
mv boards/$(BOARD)/$(BOARD).config boards/$(BOARD)/$${NEW_BOARD}.config; \
804+
echo "Renaming board directory to $${NEW_BOARD}"; \
805+
mv boards/$(BOARD) boards/$${NEW_BOARD}; \
806+
echo "Updating .circleci/config.yml"; \
807+
sed -i "s/$(BOARD)/$${NEW_BOARD}/g" .circleci/config.yml; \
808+
echo "Operation completed for $(BOARD) -> $${NEW_BOARD}"
803809

804810
board.move_unmaintained_to_tested:
805811
@echo "NEW_BOARD variable will remove UNMAINTAINED_ prefix from $(BOARD)"
@@ -830,11 +836,13 @@ board.move_tested_to_untested:
830836
@echo "NEW_BOARD variable will add UNTESTED_ prefix to $(BOARD)"
831837
@NEW_BOARD=UNTESTED_$(BOARD); \
832838
rm -rf boards/$${NEW_BOARD}; \
839+
echo "changing $(BOARD) name under boards/$(BOARD)/$(BOARD).config to $${NEW_BOARD}"; \
840+
sed boards/$(BOARD)/$(BOARD).config 's/$(BOARD)/$${NEW_BOARD}/g'; \
833841
echo "Renaming boards/$(BOARD)/$(BOARD).config to boards/$(BOARD)/$${NEW_BOARD}.config"; \
834842
mv boards/$(BOARD)/$(BOARD).config boards/$(BOARD)/$${NEW_BOARD}.config; \
835843
echo "Renaming boards/$(BOARD) to boards/$${NEW_BOARD}"; \
836844
mv boards/$(BOARD) boards/$${NEW_BOARD}; \
837-
echo "Replacing $(BOARD) with $${NEW_BOARD} in .circleci/config.yml"; \
845+
echo "Replacing $(BOARD) with $${NEW_BOARD} in .circleci/config.yml"; \
838846
sed -i "s/$(BOARD)/$${NEW_BOARD}/g" .circleci/config.yml
839847

840848
board.move_tested_to_unmaintained:

WP_NOTES.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Flashrom was passed to flashprog under https://github.com/linuxboot/heads/pull/1769
2+
3+
Those are notes for @i-c-o-n and others wanting to move WP forward but track issues and users
4+
5+
The problem with WP is that it is desired but even if partial write protection regions is present, WP is widely unused.
6+
7+
Some random notes since support is incomplete (depends on chips, really)
8+
-QDPI is problematic for WP (same IO2 PIN)
9+
- Might be turned on by chipset for ME read https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$NCNidoPsw1ze6zv3m2jlPuGuNrdlDQmDcU81If-q55A?via=matrix.org&via=nitro.chat&via=tchncs.de
10+
- WP wanted, WP done, WP unused
11+
- WP wanted https://github.com/flashrom/flashrom/issues/185 https://github.com/linuxboot/heads/issues/985
12+
- WP done: https://github.com/linuxboot/heads/issues/1741 https://github.com/linuxboot/heads/issues/1546
13+
- Documented https://docs.dasharo.com/variants/asus_kgpe_d16/spi-wp/
14+
- WP still unused
15+
16+
Alternative, as suggested by @i-c-o-n is Chipset Platform Locking (PR0) which is enforced at platform's chipset level for a boot
17+
- This is implemented and enforced on <= Haswell from this PR merged : https://github.com/linuxboot/heads/pull/1373
18+
- Non-upstreamed work has been made from @root-hardenedvault work in vaultboot downstream fork of Heads at https://github.com/hardenedvault/vaultboot/blob/master/patches/coreboot/0001-x11.patch
19+
- Discussion point under flashrom-> flashprog PR under https://github.com/linuxboot/heads/pull/1769/files/f8eb0a27c3dcb17a8c6fcb85dd7f03e8513798ae#r1752395865 tagging @i-c-o-n
20+
21+
22+
Not sure what is the way forward here, but lets keep this file in tree to track improvements over time.

bin/fetch_source_archive.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ set -eo pipefail
44
# Mirror URLs, make sure these end in slashes.
55
BACKUP_MIRRORS=(
66
https://storage.puri.sm/heads-packages/
7+
https://storage.puri.st/heads-packages/
78
)
89

910
usage()

blobs/optiplex_9010/README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
This blobs/optiplex_9010/ifd.bin is a configuration blob, and comes from my optiplex 9010 backup.
2+
It was put in place with:
3+
4+
python ~/me_cleaner/me_cleaner.py -S -r -t -d -O /tmp/discarded.bin -D ~/heads/blobs/optiplex_9010/ifd.bin -M /tmp/temporary_me.bin optiplex_9010-internal_backup.rom
5+
./build/x86/coreboot-24.02.01/util/ifdtool/ifdtool -n blobs/optiplex_9010/layout.txt blobs/optiplex_9010/ifd.bin -O blobs/optiplex_9010/ifd.bin
6+
7+
NOTE: We rely on blobs/optiplex_9010/layout.txt which changes the size of the ME region to match Lenovo xx30 blob used in x230 and others.
8+
9+
----
10+
11+
blobs/optiplex_9010/ifd_t16650.bin comes from https://codeberg.org/libreboot/lbmk/src/branch/master/config/ifd/t1650/12_ifd
12+
Libreboot uses xx30 ME (downloaded from Lenovo, extracted+ neutered) as well, and reuses the dell t1650 IFD for their build, which we borrowed here with:
13+
14+
wget https://codeberg.org/libreboot/lbmk/raw/branch/master/config/ifd/t1650/12_ifd -O ifd.bin
15+
16+
Doc: https://libreboot.org/docs/install/dell7010.html

blobs/optiplex_9010/ifd.bin

4 KB
Binary file not shown.

blobs/optiplex_9010/ifd_t16650.bin

4 KB
Binary file not shown.

blobs/optiplex_9010/layout.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
00000000:00000fff fd
2+
00001000:00004fff gbe
3+
00005000:0001cfff me
4+
0001d000:00bfffff bios

blobs/xx30/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
me.bin
2+
IVB_BIOSAC_PRODUCTION.bin
3+
SNB_IVB_SINIT_20190708_PW.bin
4+
sch5545_ecfw.bin

0 commit comments

Comments
 (0)