McLaren Island Board
The Intel McLaren Island Reference Design Board (McLaren Island) is an x86 maker board based on Intel platform Meteor Lake. The boards are used in IoT, industrial automation, digital signage areas, etc.
Prerequisites
SBL supports Intel McLaren Island Reference Design Board. To start developing SBL, the following equipment, software and environments are required:
DediProg SF600 programmer
Linux host or windows host (see Building on Linux or Building on Windows for details)
Internet access
Board Setup
Before You Start
Warning
As you plan to reprogram the SPI flash, it’s a good idea to backup the pre-installed BIOS image first.
Boot the board and enter BIOS setup menu to get familiar with the board features and settings.
Debug UART
Serial port connector is the micro-usb connector, the location is near the sata port.
Note
Configure host PuTTY or minicom to 115200bps, 8N1, no hardware flow control.
Building
Intel McLaren Island Reference Design Board is based on Intel Meteor Lake. To build:
python BuildLoader.py build mtl
The output images are generated under Outputs
directory.
Stitching
Stitch SBL images with factory BIOS image using the stitch tool:
python Platform/MeteorlakeBoardPkg/Script/StitchLoader.py -i <BIOS_IMAGE_NAME> -s Outputs/mtl/SlimBootloader.bin -o <SBL_IFWI_IMAGE_NAME> -p 0xAA00001F
<BIOS_IMAGE> : Input file. Factory BIOS extracted from McLaren Island board.
<SBL_IFWI_IMAGE> : Output file. New IFWI image with SBL in BIOS region.
-p <value> : 4-byte platform data for platform ID (e.g. 1F) and debug UART port index (e.g. 00).
See Stitch Tool on how to stitch the IFWI image with SBL.
Stitch SBL images with IFWI ingredients:
python Platform/MeteorlakeBoardPkg/Script/StitchIfwi.py -b fvme
-s Outputs/mtl/Stitch_Components.zip
-c Platform/MeteorlakeBoardPkg/Script/StitchIfwiConfig_mcl.py
-w /Stitchifwi_components_mtl -p mtlp -d 0xAA00001F
Note
StitchLoader.py script works only if Boot Guard in the base image is not enabled, and the silicon is not fused with Boot Guard enabled. If Boot Guard is enabled, please use StitchIfwi.py script instead.
Slimbootloader binary for capsule
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 all Meteor Lake platforms, the below command can be used:
python ./BootloaderCorePkg/Tools/GenCapsuleFirmware.py -p BIOS Outputs/<plat>/SlimBootloader.bin -k <Keys> -o FwuImage.bin
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.bin
into root directory on FAT partition of a USB keyBoot and press any key to enter SBL shell
Type command
fwupdate
from shellObserve SBL resets the platform and performs update flow. It resets multiple times to complete the update process.
Flashing
Flash the generated SBL_IFWI_IMAGE_NAME to the target board using a DediProg SF600 programmer.
Note
Refer the table above to identify the connector on the target board for SPI flash programmer. When using such device, 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.
Good Luck!