Granite Rapids-D (Kaseyville) Reference Platform (RP)
Note
Intel® Xeon™ Processor family, formally known as Granite Rapids-D (Kaseyville).
Supported Boards
SBL supports Kaseyville reference platforms corresponding to Granite Rapids-D.
Platform variants and IDs:
Board Variant
Platform ID
Build Target
Notes
Kaseyville RP
0x000E
ksv
Reference platform
Note
SPI and UART header designators can vary across Kaseyville board revisions. Confirm connector names from board collateral for your exact board stepping.
Debug UART
For Granite Rapids-D platforms, use the board-specific debug UART header from your platform collateral.
Note
Configure host PuTTY or minicom to 115200bps, 8N1, no hardware flow control.
Building
To build SBL for Granite Rapids-D platform:
python BuildLoader.py build ksv -a x64
Release build command form:
python BuildLoader.py build ksv -a x64 -r
Example of UEFI payload stitching during build:
python BuildLoader.py build ksv -a x64 -p "OsLoader.efi:LLDR:Lz4;UefiPldX64.fd:UEFI:Lzma"
Note: The output images are generated under Outputs/ksv directory.
Stitching
Gather Granite Rapids-D IFWI firmware image
Users can either download the full IFWI image if the IFWI image release is available or read the existing IFWI image on the board using SPI programmer. This image contains additional firmware ingredients that are required to boot on Granite Rapids-D.
Note
StitchLoader.py currently does not support stitching with boot guard feature enabled.
To stitch with Boot Guard enabled, please use StitchIfwi.py.
Stitch SBL images into downloaded BIOS image:
python Platform/KaseyvilleBoardPkg/Script/StitchLoader.py -i <BIOS_IMAGE_NAME> -s Outputs/ksv/SlimBootloader.bin -o <SBL_IFWI_IMAGE_NAME>
where -i = Input file, -o = Output file
For example, to stitch SBL IFWI image sbl_ifwi_ksv.bin from Granite Rapids-D downloaded firmware images:
python Platform/KaseyvilleBoardPkg/Script/StitchLoader.py -i xxxx.bin -s Outputs/ksv/SlimBootloader.bin -o sbl_ifwi_ksv.bin
To view IFWI stitching options:
python Platform/KaseyvilleBoardPkg/Script/StitchIfwi.py -h
Another stitching example:
python Platform/KaseyvilleBoardPkg/Script/StitchIfwi.py -s Outputs/ksv/Stitch_Components.zip -c Platform/KaseyvilleBoardPkg/Script/StitchIfwiConfig.py -w c:\Stitching -t dtpm -b fvme -p ksv
For more details on stitch tool, see Stitch Tool on how to stitch the IFWI image with SBL.
Flashing
Flash the generated sbl_ifwi_ksv.bin to the target board using a DediProg SF100 or SF600 programmer.
Note
When using SPI programmer, please ensure:
The alignment/polarity when connecting Dediprog to the board.
The power to the board is turned off while the programmer is connected (even when not in use).
The programmer is set to update the flash from offset 0x0.
Capsule image for Granite Rapids-D
The Slimbootloader.bin image generated from the build steps above can be used to create a capsule image. Please refer to Build Tool on generating SBL image.
For Granite Rapids-D platform, the below command can be used:
python ./BootloaderCorePkg/Tools/GenCapsuleFirmware.py -p BIOS Outputs/ksv/SlimBootloader.bin -k <Keys> -o FwuImage.bin -a AUTO -s RSA_PSS
For more details on generating capsule image, please refer Generating capsule.
Triggering Firmware Update
Please refer to Firmware Update on how to trigger firmware update flow. Below is an example:
To trigger firmware update in SBL shell:
Copy
FwuImage.bininto root directory on FAT partition of a USB keyBoot and press any key to enter SBL shell
Type command
fwupdatefrom shellSBL will reset the platform and initiate firmware update flow. The platform will reset multiple times to complete the update process.
Booting Linux
For booting Linux using OsLoader payload, see Boot Ubuntu.
To customize board configurations in *.dlt file, see Configuration Tools for more details.