Customizing SMBIOS Production Data Using YAML
Overview
SBL now supports a flexible method for customizing SMBIOS production data (board name, serial numbers, etc.) for each platform.
Instead of modifying source code, users can simply edit a YAML file (SmbiosStrings.yaml) to define all SMBIOS strings for their product.
This YAML file is converted to a binary blob during the build process and automatically loaded by the firmware at runtime.
YAML file location:
Platform/<Platform>BoardPkg/SmbiosStrings.yaml
How to Customize Production Data
Locate the platform `SmbiosStrings.yaml` file - Example: Platform/ArrowlakeBoardPkg/SmbiosStrings.yaml
Modify or add entries for the SMBIOS types and string indices you want to customize. - Example:
# Each entry has exactly 3 lines: - type:, idx:, string # Entry Strings are always quoted with double quotes smbios_strings: # Type 0: BIOS Information - type: 0 # BIOS Vendor idx: 1 string: "Intel Corporation" # type 0, Idx 2 and 3 are optional # Type 1: System Information - type: 1 # Manufacturer idx: 1 string: "Intel Corporation" - type: 1 # Product Name idx: 2 - type: 1 idx: 2 string: "My Custom Product Name" - type: 1 idx: 3 string: "My Custom Version" - type: 1 idx: 4 string: "SN1234567890"
Build SBL - The YAML will be converted to smbios.bin and automatically loaded by SBL at runtime.