Skip to content

config/coreboot-msi: resolve $(MAINBOARDDIR) in IFD/ME blob paths for MSI boards#2110

Merged
tlaurion merged 1 commit intolinuxboot:masterfrom
tlaurion:msi-mainboarddir-blob-paths
May 8, 2026
Merged

config/coreboot-msi: resolve $(MAINBOARDDIR) in IFD/ME blob paths for MSI boards#2110
tlaurion merged 1 commit intolinuxboot:masterfrom
tlaurion:msi-mainboarddir-blob-paths

Conversation

@tlaurion
Copy link
Copy Markdown
Collaborator

@tlaurion tlaurion commented May 8, 2026

  • Replace unexpanded coreboot make variable $(MAINBOARDDIR) with literal resolved paths in CONFIG_IFD_BIN_PATH and CONFIG_ME_BIN_PATH
  • Z690 (ms7d25): 3rdparty/dasharo-blobs/msi/ms7d25/{descriptor,me}.bin
  • Z790 (ms7e06): 3rdparty/dasharo-blobs/msi/ms7e06/{descriptor,me}.bin
  • This allows bin/validate_cbfs_ifd_fit.sh to locate the IFD descriptor for IFD vs CBFS size validation, which was silently skipped before

ifd/cbfs size avalidation now works as any other boards, while MSI boards have the biggest SPI chips outhere which is problematic since tools didn't follow (max 16mb chips supported by flashtools/cbfs issue #2074)

ie:


"/home/user/heads/build/x86/coreboot-dasharo_msi_z790/msi_z790p_ddr5/cbfstool" "/home/user/heads/build/x86/coreboot-dasharo_msi_z790/msi_z790p_ddr5/coreboot.rom" print
FMAP REGION: COREBOOT
Name                           Offset     Type           Size   Comp
cbfs_master_header             0x0        cbfs header        32 none
fallback/payload               0x80       simple elf    9320936 none
fallback/romstage              0x8e3ac0   stage          100504 none
fallback/ramstage              0x8fc3c0   stage          165704 LZMA (381712 decompressed)
config                         0x924b80   raw              4794 LZMA (17084 decompressed)
revision                       0x925e80   raw               873 none
fallback/dsdt.aml              0x926240   raw             11398 none
vbt.bin                        0x928f00   raw              1258 LZMA (8704 decompressed)
(empty)                        0x929440   null             2404 none
fspm.bin                       0x929dc0   fsp            786432 none
fsps.bin                       0x9e9e00   fsp            283761 LZ4  (389120 decompressed)
fallback/postcar               0xa2f2c0   stage           32440 none
(empty)                        0xa371c0   null          1805348 none
build_info                     0xbefe00   raw               141 none
(empty)                        0xbeff00   null           523940 none
bpa.bin                        0xc6fdc0   raw             65536 none
(empty)                        0xc7fe00   null          7536548 none
msi_romhole.bin                0x13afdc0  raw            119081 none
(empty)                        0x13ccf40  null           142948 none
cpu_microcode_blob.bin         0x13efdc0  microcode      445440 none
(empty)                        0x145ca00  null          7680932 none
intel_fit                      0x1bafdc0  intel_fit          80 none
(empty)                        0x1bafe80  null           220964 none
bootblock                      0x1be5dc0  bootblock       40960 none

Validating final CBFS/IFD configuration...
===================================================================
IFD vs CBFS Size Validation
===================================================================
Using platform-specific parse: adl
IFD BIOS Region: 0x00400000 - 0x01ffffff
IFD BIOS Size:   0x1C00000 (28672 KiB)
CONFIG_CBFS_SIZE: 0x1c00000 (28672 KiB)

✓ CONFIG_CBFS_SIZE exactly matches IFD BIOS region

CBFS Free Space: 17913084 bytes (17493 KiB)

===================================================================
✓ Validation complete
===================================================================

2026-05-08 17:03:48+00:00 INSTALL   build/x86/coreboot-dasharo_msi_z790/msi_z790p_ddr5/coreboot.rom => build/x86/msi_z790p_ddr5/heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom
1e1b34ed802f9c2cbed3eba821eead93885ca4e868e2a08a2eca31af31ff630a  build/x86/msi_z790p_ddr5/heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom
33554432:build/x86/msi_z790p_ddr5/heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom
rm -rf "/home/user/heads/build/x86/msi_z790p_ddr5/update_pkg"
mkdir -p "/home/user/heads/build/x86/msi_z790p_ddr5/update_pkg"
cp "/home/user/heads/build/x86/msi_z790p_ddr5/heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom" "/home/user/heads/build/x86/msi_z790p_ddr5/update_pkg/"
cd "/home/user/heads/build/x86/msi_z790p_ddr5/update_pkg" && sha256sum "heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom" >sha256sum.txt
cd "/home/user/heads/build/x86/msi_z790p_ddr5/update_pkg" && zip -9 "/home/user/heads/build/x86/msi_z790p_ddr5/heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.zip" "heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom" sha256sum.txt
  adding: heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom (deflated 62%)
  adding: sha256sum.txt (deflated 14%)
1e1b34ed802f9c2cbed3eba821eead93885ca4e868e2a08a2eca31af31ff630a  /home/user/heads/build/x86/msi_z790p_ddr5/heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom
33554432:/home/user/heads/build/x86/msi_z790p_ddr5/heads-msi_z790p_ddr5-20260508-125849-HEAD_-v0.2.1-3017-g60a9591.rom

Closes #2095

… MSI boards

- Replace unexpanded coreboot make variable $(MAINBOARDDIR) with literal
  resolved paths in CONFIG_IFD_BIN_PATH and CONFIG_ME_BIN_PATH
- Z690 (ms7d25): 3rdparty/dasharo-blobs/msi/ms7d25/{descriptor,me}.bin
- Z790 (ms7e06): 3rdparty/dasharo-blobs/msi/ms7e06/{descriptor,me}.bin
- This allows bin/validate_cbfs_ifd_fit.sh to locate the IFD descriptor
  for IFD vs CBFS size validation, which was silently skipped before

Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Copilot AI review requested due to automatic review settings May 8, 2026 17:23
@tlaurion tlaurion merged commit dc0cd70 into linuxboot:master May 8, 2026
3 checks passed
Copy link
Copy Markdown

Copilot AI left a comment

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 fixes IFD/ME blob path resolution for MSI coreboot configs by replacing the unexpanded $(MAINBOARDDIR) make variable with concrete, resolved paths. This enables bin/validate_cbfs_ifd_fit.sh to reliably locate the Intel Flash Descriptor and perform IFD-vs-CBFS size validation for MSI boards (previously skipped because the path could not exist on disk as-written).

Changes:

  • Replace CONFIG_IFD_BIN_PATH / CONFIG_ME_BIN_PATH values using $(MAINBOARDDIR) with resolved 3rdparty/dasharo-blobs/msi/<board-id>/... paths.
  • Apply the update consistently across Z690 (ms7d25) and Z790 (ms7e06) MSI variants, in both .config and .config_defconfig files.

Reviewed changes

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

Show a summary per file
File Description
config/coreboot-msi_z790p_ddr5.config_defconfig Hardcodes resolved IFD/ME blob paths for Z790 DDR5 so validation scripts can find the descriptor.
config/coreboot-msi_z790p_ddr5.config Same as above for the full config.
config/coreboot-msi_z790p_ddr4.config_defconfig Hardcodes resolved IFD/ME blob paths for Z790 DDR4.
config/coreboot-msi_z790p_ddr4.config Same as above for the full config.
config/coreboot-msi_z690a_ddr5.config_defconfig Hardcodes resolved IFD/ME blob paths for Z690 DDR5.
config/coreboot-msi_z690a_ddr5.config Same as above for the full config.
config/coreboot-msi_z690a_ddr4.config_defconfig Hardcodes resolved IFD/ME blob paths for Z690 DDR4.
config/coreboot-msi_z690a_ddr4.config Same as above for the full config.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

2 participants