UP2 6000 Board

The UP Squared 6000 board (UP2 6000) is an x86 maker board based on Intel platform Elkhartlake. The UP boards are used in IoT, industrial automation, digital signage areas, etc.

Prerequisites

SBL supports UP2 6000 maker board. To start developing SBL, the following equipment, software and environments are required:

Board Setup

|UP26000| 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.

Early boot serial debug console can be reached via UART2 located on CN49 header on the UP2 6000 board. Make sure you can observe serial output message running the factory BIOS first.

Note

To make your own UART debug adapter by direct wiring, refer to CN49 Header Pinout for UART2:

Pin

Signal

8

GND

9

UART_RX

10

UART_TX

Building

UP2 6000 board is based on Intel Elkhart Lake. To build:

python BuildLoader.py build ehl

The output images are generated under Outputs directory.

Stitching

Stitch SBL images with factory BIOS image using the stitch tool:

python Platform/ElkhartlakeBoardPkg/Script/StitchLoader.py -i <BIOS_IMAGE_NAME> -s Outputs/ehl/SlimBootloader.bin -o <SBL_IFWI_IMAGE_NAME> -p 0xAA000206

<BIOS_IMAGE>     : Input file. Factory BIOS extracted from UP Squared 6000 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. 06) and debug UART port index (e.g. 02).

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.

See Stitch Tool on how to stitch the IFWI image with SBL.

Slimbootloader binary for capsule

Creating Slimbootloader binary for capsule image requires the following steps:

Build SBL for UP2 6000:

python BuildLoader.py build ehl

Run stitching process as described above to create a SBL IFWI binary sbl_up2_6000_ifwi.bin:

python Platform/ElkhartlakeBoardPkg/Script/StitchLoader.py -i <BIOS_IMAGE_NAME> -s Outputs/ehl/SlimBootloader.bin -o sbl_up2_6000_ifwi.bin -p 0xAA000206

Extract bios.bin from SBL IFWI image:

python BootloaderCorePkg/Tools/IfwiUtility.py extract -i sbl_up2_6000_ifwi.bin -p IFWI/BIOS -o bios.bin

Generate capsule update image FwuImage.bin:

python BootloaderCorePkg/Tools/GenCapsuleFirmware.py -p BIOS bios.bin -k KEY_ID_FIRMWAREUPDATE_RSA3072 -o FwuImage.bin

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:

  1. Copy FwuImage.bin into root directory on FAT partition of a USB key

  2. Boot and press any key to enter SBL shell

  3. Type command fwupdate from shell

    Observe SBL resets the platform and performs update flow. It resets multiple times to complete the update process.

Flashing

Flash the IFWI image to UP2 6000 board using a SPI programmer. Header CN20 on the board should be used, see instructions for additional details.

Good Luck!