Skip to content

circleci,modules/coreboot,doc: share crossgcc toolchain across Dasharo 24.12 forks; blobs: add lib.sh and unify hash pre-checks#2119

Merged
tlaurion merged 2 commits into
linuxboot:masterfrom
tlaurion:dasharo-shared-toolchain
May 15, 2026
Merged

circleci,modules/coreboot,doc: share crossgcc toolchain across Dasharo 24.12 forks; blobs: add lib.sh and unify hash pre-checks#2119
tlaurion merged 2 commits into
linuxboot:masterfrom
tlaurion:dasharo-shared-toolchain

Conversation

@tlaurion

@tlaurion tlaurion commented May 14, 2026

Copy link
Copy Markdown
Collaborator

dasharo_nv4x is the toolchain provider. dasharo_v56, dasharo_msi_z690, dasharo_msi_z790 consume its crossgcc via the second coreboot_module() argument. All Dasharo boards except novacustom-nv4x_adl are build jobs (no cache) -- they get crossgcc from workspace and clone fork source fresh.

Fix pre-existing hyphen/underscore variable name typo in modules/coreboot that made the toolchain-module nobuild override a silent no-op. Fix pre-existing portability issue: printf instead of echo -e.

Rename CI jobs for clarity: [cache keys], [ME GBE IFD], [cross compiler], [seed:coreboot-VERSION]. Update doc/circleci.md to document the cache model, job types, and Dasharo shared toolchain design.

Add blobs/lib.sh with check_outputs() unifying hash verification across all 10 blob download scripts. All scripts now check output file hashes before and after processing, reporting CHECKING/OK/MISSING/HASH MISMATCH per file. Fix fallthrough bugs, variable name mismatches, and missing pre-checks. (2 commits)

Copilot AI review requested due to automatic review settings May 14, 2026 21:54
@tlaurion

This comment was marked as off-topic.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reduces redundant CI work for Dasharo coreboot forks by introducing a shared “dasharo_common” crossgcc toolchain module and restructuring the CircleCI workflow so multiple Dasharo forks reuse a single toolchain build via workspace chaining.

Changes:

  • Added coreboot-dasharo_common and updated four Dasharo coreboot fork modules to consume it as their toolchain.
  • Updated CircleCI workflow so novacustom-nv4x_adl builds the shared toolchain and other Dasharo seed jobs depend on it.
  • Updated CircleCI documentation to describe the shared toolchain model and the re-verification procedure based on util/crossgcc/sum/ diffs.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
modules/coreboot Adds a shared Dasharo toolchain module and points Dasharo forks to reuse it via the coreboot_module() toolchain argument.
doc/circleci.md Documents the Dasharo shared toolchain approach and updates the pipeline shape/edit map accordingly.
.circleci/config.yml Reworks the Dasharo seed job dependency graph so only one crossgcc toolchain build is performed and reused via workspace.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread modules/coreboot Outdated
Comment thread doc/circleci.md Outdated
Comment thread .circleci/config.yml Outdated
@tlaurion

tlaurion commented May 14, 2026

Copy link
Copy Markdown
Collaborator Author

Will see what circleci gives, but yeah, that's why we build 4 buildstacks in master for dasharo forks per their different FSP requirements/changes per bords family, see comment above replicated below in master:

# Dasharo forks cannot share toolchains with upstream coreboot releases because
# Dasharo uses custom FSP packages (3rdparty/dasharo-blobs/) with different/missing
# headers vs upstream (e.g. MemInfoHob.h, FirmwareVersionInfoHob.h).

Seems like it worked locally? Actually, we can share build system and FSP are in specialized repo for board builds!

@tlaurion tlaurion force-pushed the dasharo-shared-toolchain branch 5 times, most recently from 6779152 to 4804431 Compare May 14, 2026 23:47
@tlaurion tlaurion requested a review from Copilot May 14, 2026 23:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

Comment thread modules/coreboot
Comment thread modules/coreboot
Comment thread doc/circleci.md Outdated
@tlaurion tlaurion force-pushed the dasharo-shared-toolchain branch from 4804431 to 2bd5a14 Compare May 15, 2026 00:00
@tlaurion tlaurion requested a review from Copilot May 15, 2026 00:02
@tlaurion tlaurion changed the title circleci,modules/coreboot: share crossgcc toolchain across Dasharo 24.12 forks circleci,modules/coreboot: share crossgcc toolchain across Dasharo 24.12 forks, fix FSP misconception May 15, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment thread doc/circleci.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread modules/coreboot Outdated
Comment thread doc/circleci.md Outdated
@tlaurion tlaurion force-pushed the dasharo-shared-toolchain branch 4 times, most recently from ede00be to 2dd4926 Compare May 15, 2026 00:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@tlaurion tlaurion force-pushed the dasharo-shared-toolchain branch 4 times, most recently from d85f6af to e3cbeea Compare May 15, 2026 16:29
@tlaurion tlaurion requested a review from Copilot May 15, 2026 16:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment thread .circleci/config.yml

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

Comment thread doc/circleci.md Outdated
Comment thread doc/circleci.md Outdated
Comment thread .circleci/config.yml Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

Comment thread modules/coreboot Outdated
Comment thread doc/circleci.md Outdated
Comment thread doc/circleci.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread .circleci/config.yml
Comment thread doc/circleci.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

Comment thread .circleci/config.yml Outdated
Comment thread doc/circleci.md Outdated
Comment thread doc/circleci.md Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

Comment thread .circleci/config.yml Outdated
@tlaurion

tlaurion commented May 15, 2026

Copy link
Copy Markdown
Collaborator Author

ok enough. merging, its clear enough and already a big improvement.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.

Comment thread blobs/xx80/t480s_download_clean_deguard_me_pad_tb.sh Outdated
Comment thread blobs/xx30/optiplex_7010_9010.sh Outdated
Comment thread blobs/p8z77-m_pro/download_BIOS_clean.sh Outdated
Comment thread blobs/lib.sh Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Comment thread blobs/lib.sh Outdated
Comment thread blobs/p8z77-m_pro/download_BIOS_clean.sh Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Comment thread blobs/xx30/download_clean_me_manually.sh

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Comment thread blobs/lib.sh
Comment thread doc/circleci.md Outdated
Comment thread blobs/xx30/download_clean_me_manually.sh

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Comment thread blobs/xx30/download_clean_me_manually.sh Outdated
Comment thread blobs/lib.sh

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Comment thread blobs/xx30/vbios_w530.sh Outdated
Comment thread blobs/xx30/vbios_t530.sh Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Comment thread blobs/xx30/download_clean_me.sh Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

blobs/xx30/download_clean_me.sh:16

  • usage/help text is now inaccurate: the script no longer parses a -m <me_cleaner> option, and it also requires COREBOOT_DIR to be set (plus optionally takes an output dir as the first positional arg). Update the usage/help output (and/or reintroduce -m parsing) so users can run the script correctly.
function usage {
  echo "Usage: $0 -m <me_cleaner>(optional)"
}

ME_BIN_HASH="c140d04d792bed555e616065d48bdc327bb78f0213ccc54c0ae95f12b28896a4"

if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
  if [[ "${1:-}" == "--help" ]]; then
    usage
  else
    if [[ -z "${COREBOOT_DIR}" ]]; then
      echo "ERROR: No COREBOOT_DIR variable defined."
      exit 1

Comment thread blobs/xx30/download_clean_me_manually.sh Outdated
tlaurion added 2 commits May 15, 2026 15:52
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…o 24.12 forks

Signed-off-by: Thierry Laurion <insurgo@riseup.net>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Comment thread blobs/lib.sh
Comment on lines +21 to +33
check_outputs() {
local all_ok=y
local pair hash path
for pair in "$@"; do
pair="$(echo "$pair" | tr -s ' ')"
hash="${pair%% *}"
path="${pair#* }"
echo -n "CHECKING: ${path}... "
if [[ ! -f "$path" ]]; then
echo "MISSING"
all_ok=
elif echo "${hash} ${path}" | sha256sum --check >/dev/null 2>&1; then
echo "OK"
Comment thread blobs/lib.sh
Comment on lines +6 to +14
chk_sha256sum() {
local sha256_hash="$1"
local filename="$2"
echo "$sha256_hash" "$filename" "$(pwd)"
sha256sum "$filename"
if ! echo "${sha256_hash} ${filename}" | sha256sum --check; then
echo "ERROR: SHA256 checksum for ${filename} doesn't match."
exit 1
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants