Skip to content
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

Add new board: Purism Librem Server L1UM #858

Merged
merged 8 commits into from
Oct 18, 2020

Conversation

MrChromebox
Copy link
Contributor

Add new board: Purism Librem Server L1UM

  • Add option to build using coreboot 4.11
  • Port measured boot, cross-compiler patches forward
  • Add measured boot support for FSP Broadwell-DE platform
  • Add coreboot patch to read board serial from file CBFS
  • Add coreboot Librem server L1UM board support patch
  • Add board, coreboot, kernel configs
  • Add special handling for librem_l1um board in flash.sh to persist PCIe lane config

Signed-off-by: Matt DeVillier matt.devillier@puri.sm

Port patches from coreboot 4.8.1 to 4.11:
* 0000-measure-boot -> 0001
* 0010-cross-compiler-support

All other patches for coreboot 4.8.1 have either already been
integrated, or are for platforms which do not need to be migrated
to coreboot 4.11 (they will move to 4.12 or newer).

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Add a patch for FSP Broadwell-DE to make use of Heads' measured boot.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Will be used by multiple Librem boards.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Add board config, coreboot config, kernel config files.
Add conditional purism-blobs dependency to coreboot-4.11 module.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Add support for persisting PCIe config via PCHSTRP9 in flash descriptor.
This is needed to support multiple variants of the L1UM server which
use the same firmware but differ in PCIe lane configuration via the
PCH straps configuration in the flash descriptor.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Cherry-picked from upstream coreboot (post-4.11), fixes compilation issue.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
@Tonux599
Copy link
Contributor

@MrChromebox @tlaurion I really think there needs to be a discussion here. What do theses measured boot patches measure that vboot's doesn't?

@tlaurion
Copy link
Collaborator

@Tonux599 you are questionning 7d8cdba#diff-d5759d1bcdfe5d4b89192dc06d8778657c930c2298b9bc770535d05cefc5535a ?

My understanding here is that this patch permits to activate Measuredboot without VBOOT. where my understanding of coreboot not being large enough makes me realize that a lot of things were not present inside of Kconfig (LOCAL_VERSION) including ANY_TOOLCHAIN, which means that even if those options were specified under coreboot config, they were not retained as valid confiuration options and returned to default prior of KGPE-D16 coreboot compilation. I will get back at doing my homeworks on understanding what options are actually kept when doing make savedefconfig after having passed kgpe-d16 config to coreboot build dir's .config

@Tonux599 maybe point those questionning under KGPE-d16 WIP branch to document and question there? Else @MrChromebox has a lot more experience with coreboot then I have. Have to upgrade those skills.

@tlaurion
Copy link
Collaborator

tlaurion commented Oct 18, 2020

@MrChromebox : please add this board inside of CircleCI configuration so we at least know that the builds is a success.

diff --git a/.circleci/config.yml b/.circleci/config.yml
index b40385a..d762aa0 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -60,6 +60,24 @@ jobs:
 #          path: build/qemu-linuxboot/hashes.txt
 
       - run:
+          name: librem_l1um
+          command: |
+            rm -rf build/librem_l1um/* build/log/* && make CPUS=4 \
+                V=1 \
+                BOARD=librem_l1um || (find ./build/ -name "*.log" -type f -mmin -1|while read log; do echo ""; echo '==>' "$log" '<=='; echo ""; cat $log;done; exit 1) \
+          no_output_timeout: 3h
+      - run:
+          name: Ouput librem_l1um hashes
+          command: |
+            cat build/librem_l1um/hashes.txt \
+      - run:
+          name: Archiving build logs for librem_l1um
+          command: |
+             tar zcvf build/librem_l1um/logs.tar.gz build/log/*
+      - store-artifacts:
+          path: build/librem_l1um
+
+      - run:
           name: librem_mini
           command: |
             rm -rf build/librem_mini/* build/log/* && make CPUS=4 \

tlaurion added a commit to tlaurion/heads that referenced this pull request Oct 18, 2020
tlaurion added a commit to tlaurion/heads that referenced this pull request Oct 18, 2020
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
@tlaurion tlaurion merged commit 85d7e29 into linuxboot:master Oct 18, 2020
@MrChromebox MrChromebox deleted the add_librem_l1um branch October 21, 2020 21:18
MrChromebox added a commit to MrChromebox/heads that referenced this pull request Oct 21, 2020
PR linuxboot#859 should have included this after linuxboot#858 was merged,
but was missed

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
tlaurion pushed a commit that referenced this pull request Oct 21, 2020
PR #859 should have included this after #858 was merged,
but was missed

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants