Skip to content

Commit 4daf592

Browse files
committed
Merge remote-tracking branch 'osresearch/master' into cryptsetup_version_bump-reencryption_cleanup
Signed-off-by: Thierry Laurion <[email protected]>
2 parents 0f5e747 + d128fa3 commit 4daf592

File tree

80 files changed

+447
-172
lines changed

Some content is hidden

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

80 files changed

+447
-172
lines changed

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: 39 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,13 +836,37 @@ 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

848+
board.move_tested_to_unmaintained:
849+
@echo "Moving $(BOARD) from tested to unmaintained status"
850+
@NEW_BOARD=UNMAINTAINED_$(BOARD); \
851+
INCLUDE_BOARD=$$(grep "include \$$(pwd)/boards/" boards/$(BOARD)/$(BOARD).config | sed 's/.*boards\/\(.*\)\/.*/\1/'); \
852+
NEW_INCLUDE_BOARD=UNMAINTAINED_$${INCLUDE_BOARD}; \
853+
echo "Updating config file: boards/$(BOARD)/$(BOARD).config"; \
854+
sed -i 's/$(BOARD)/'$${NEW_BOARD}'/g' boards/$(BOARD)/$(BOARD).config; \
855+
if [ -n "$$INCLUDE_BOARD" ]; then \
856+
sed -i 's/'$$INCLUDE_BOARD'/'$$NEW_INCLUDE_BOARD'/g' boards/$(BOARD)/$(BOARD).config; \
857+
fi; \
858+
echo "Creating unmaintained_boards directory if it doesn't exist"; \
859+
mkdir -p unmaintained_boards/$${NEW_BOARD}; \
860+
echo "Moving and renaming config file to unmaintained_boards/$${NEW_BOARD}/$${NEW_BOARD}.config"; \
861+
mv boards/$(BOARD)/$(BOARD).config unmaintained_boards/$${NEW_BOARD}/$${NEW_BOARD}.config; \
862+
echo "Moving board directory contents to unmaintained_boards/$${NEW_BOARD}"; \
863+
mv boards/$(BOARD)/* unmaintained_boards/$${NEW_BOARD}/; \
864+
rmdir boards/$(BOARD); \
865+
echo "Updating .circleci/config.yml"; \
866+
sed -i "s/$(BOARD)/$${NEW_BOARD}/g" .circleci/config.yml; \
867+
echo "Operation completed for $(BOARD) -> $${NEW_BOARD}"; \
868+
echo "Please manually review and remove any unnecessary entries in .circleci/config.yml"
869+
840870
# Inject a GPG key into the image - this is most useful when testing in qemu,
841871
# since we can't reflash the firmware in qemu to update the keychain. Instead,
842872
# inject the public key ahead of time. Specify the location of the key with

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.

boards/UNMAINTAINED_kgpe-d16_server-whiptail/UNMAINTAINED_kgpe-d16_server-whiptail.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server-whiptail.config
2525
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server-whiptail.config
2626

2727
CONFIG_CRYPTSETUP=y
28-
CONFIG_FLASHROM=y
28+
CONFIG_FLASHPROG=y
2929
CONFIG_FLASHTOOLS=y
3030
CONFIG_GPG2=y
3131
CONFIG_KEXEC=y
@@ -72,5 +72,5 @@ export CONFIG_BOOT_REQ_ROLLBACK=n
7272
export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
7373
export CONFIG_BOARD_NAME="KGPE-D16 Server-whiptail"
7474
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
75-
export CONFIG_FLASHROM_OPTIONS="--force --noverify -p internal"
75+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
7676
#export CONFIG_BOOT_STATIC_IP=192.168.1.2

boards/UNMAINTAINED_kgpe-d16_server/UNMAINTAINED_kgpe-d16_server.config

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_server.config
2323
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_server.config
2424

2525
CONFIG_CRYPTSETUP=y
26-
CONFIG_FLASHROM=y
26+
CONFIG_FLASHPROG=y
27+
#flashprog to support internal flashing of BMC
28+
CONFIG_FLASHPROG_AST1100=y
2729
CONFIG_FLASHTOOLS=y
2830
CONFIG_GPG2=y
2931
CONFIG_KEXEC=y
@@ -59,5 +61,5 @@ export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
5961
export CONFIG_BOARD_NAME="KGPE-D16 Server"
6062
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
6163

62-
export CONFIG_FLASHROM_OPTIONS="--force --noverify -p internal"
64+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
6365
#export CONFIG_BOOT_STATIC_IP=192.168.1.2

boards/UNMAINTAINED_kgpe-d16_workstation-usb_keyboard/UNMAINTAINED_kgpe-d16_workstation-usb_keyboard.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_workstation-usb_keyboard.config
1919
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_workstation.config
2020

2121
CONFIG_CRYPTSETUP=y
22-
CONFIG_FLASHROM=y
22+
CONFIG_FLASHPROG=y
2323
CONFIG_FLASHTOOLS=y
2424
CONFIG_GPG2=y
2525
CONFIG_KEXEC=y
@@ -67,4 +67,4 @@ export CONFIG_BOOT_REQ_ROLLBACK=n
6767
#export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
6868
export CONFIG_BOARD_NAME="KGPE-D16 Workstation-USB-Keyboard"
6969
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
70-
export CONFIG_FLASHROM_OPTIONS="--force --noverify -p internal"
70+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"

boards/UNMAINTAINED_kgpe-d16_workstation/UNMAINTAINED_kgpe-d16_workstation.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ CONFIG_COREBOOT_CONFIG=config/coreboot-kgpe-d16_workstation.config
2323
CONFIG_LINUX_CONFIG=config/linux-kgpe-d16_workstation.config
2424

2525
CONFIG_CRYPTSETUP=y
26-
CONFIG_FLASHROM=y
26+
CONFIG_FLASHPROG=y
2727
CONFIG_FLASHTOOLS=y
2828
CONFIG_GPG2=y
2929
CONFIG_KEXEC=y
@@ -68,4 +68,4 @@ export CONFIG_BOOT_REQ_ROLLBACK=n
6868
#export CONFIG_BOOT_KERNEL_REMOVE="plymouth.ignore-serial-consoles"
6969
export CONFIG_BOARD_NAME="KGPE-D16 Workstation"
7070
export CONFIG_USB_BOOT_DEV="/dev/sdb1"
71-
export CONFIG_FLASHROM_OPTIONS="--force --noverify -p internal"
71+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"

boards/librem_11/librem_11.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export CONFIG_COREBOOT_VERSION=purism
77
export CONFIG_LINUX_VERSION=6.1.8
88

99
CONFIG_CRYPTSETUP2=y
10-
CONFIG_FLASHROM=y
10+
CONFIG_FLASHPROG=y
1111
CONFIG_FLASHTOOLS=y
1212
CONFIG_GPG2=y
1313
CONFIG_KEXEC=y
@@ -36,7 +36,7 @@ export CONFIG_BOOT_REQ_ROLLBACK=n
3636
export CONFIG_BOOT_KERNEL_ADD=""
3737
export CONFIG_BOOT_KERNEL_REMOVE=""
3838
export CONFIG_BOARD_NAME="Librem 11"
39-
export CONFIG_FLASHROM_OPTIONS="-p internal"
39+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
4040
export CONFIG_USB_KEYBOARD_REQUIRED=y
4141
export CONFIG_AUTO_BOOT_TIMEOUT=5
4242
export CONFIG_ROOT_DEV="/dev/nvme0n1p2"

boards/librem_13v2/librem_13v2.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export CONFIG_COREBOOT_VERSION=purism
77
export CONFIG_LINUX_VERSION=6.1.8
88

99
CONFIG_CRYPTSETUP2=y
10-
CONFIG_FLASHROM=y
10+
CONFIG_FLASHPROG=y
1111
CONFIG_FLASHTOOLS=y
1212
CONFIG_GPG2=y
1313
CONFIG_KEXEC=y
@@ -36,7 +36,7 @@ export CONFIG_BOOT_REQ_ROLLBACK=n
3636
export CONFIG_BOOT_KERNEL_ADD=""
3737
export CONFIG_BOOT_KERNEL_REMOVE=""
3838
export CONFIG_BOARD_NAME="Librem 13 v2/v3"
39-
export CONFIG_FLASHROM_OPTIONS="-p internal"
39+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
4040
export CONFIG_AUTO_BOOT_TIMEOUT=5
4141
export CONFIG_ROOT_DEV="/dev/nvme0n1p2"
4242
export CONFIG_ROOT_DIRLIST="bin boot lib sbin usr"

boards/librem_13v4/librem_13v4.config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export CONFIG_COREBOOT_VERSION=purism
77
export CONFIG_LINUX_VERSION=6.1.8
88

99
CONFIG_CRYPTSETUP2=y
10-
CONFIG_FLASHROM=y
10+
CONFIG_FLASHPROG=y
1111
CONFIG_FLASHTOOLS=y
1212
CONFIG_GPG2=y
1313
CONFIG_KEXEC=y
@@ -36,7 +36,7 @@ export CONFIG_BOOT_REQ_ROLLBACK=n
3636
export CONFIG_BOOT_KERNEL_ADD=""
3737
export CONFIG_BOOT_KERNEL_REMOVE=""
3838
export CONFIG_BOARD_NAME="Librem 13 v4"
39-
export CONFIG_FLASHROM_OPTIONS="-p internal"
39+
export CONFIG_FLASH_OPTIONS="flashprog --progress --programmer internal"
4040
export CONFIG_AUTO_BOOT_TIMEOUT=5
4141
export CONFIG_ROOT_DEV="/dev/nvme0n1p2"
4242
export CONFIG_ROOT_DIRLIST="bin boot lib sbin usr"

0 commit comments

Comments
 (0)