Apollo Lake CRB Boards


Intel Atom® Processor E3900 is formally known as Apollo Lake platform.

Board ID Assignments

SBL supports the following board variations based on Apollo Lake platform. Each board is assigned a unique platform ID by reading a set of GPIO pins (25, 26 and 30).

Board Platform ID
Oxbox Hill 6
Leaf Hill 7
Juniper Hill 8

See Dynamic Platform ID Detection for more details.

To customize board configurations in *.dlt file, make sure to specify PlatformId to the corresponding values for the board.

See Configuration Editor for more details.

Debug UART

For Apollo Lake platform, LPSS UART Port 2 is the debug UART configured in SBL.


To build:

python BuildLoader.py build apl

The output images are generated under Outputs directory.

See Getting Started With QEMU on how to building SBL.


  1. Download Apollo Lake platform firmware image.
This image contains additional firmware ingredients that are required to boot on Apollo Lake platform.


StitchLoader.py currently only supports stitching with boot guard feature disabled.

  1. Stitch SBL images into downloaded BIOS image:

    python Platform/ApollolakeBoardPkg/Script/StitchLoader.py -i <BIOS_IMAGE> -s Outputs/apl/Stitch_Components.zip -o <SBL_IFWI_IMAGE>

For example, stitching SBL IFWI image sbl_lfh_ifwi.bin from Apollo Lake platform firmware images downloaded:

python Platform/ApollolakeBoardPkg/Script/StitchLoader.py -i LEAFHILD.X64.0070.R01.1805070352.bin -s Outputs/apl/Stitch_Components.zip -o sbl_lfh_ifwi.bin

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


Flash the generated sbl_lfh_ifwi.bin to the target board using DediProg SF100 or SF600 programmer.

Booting Yocto Linux

You may need to change boot options to boot from USB. See Change Boot Options.

  1. Download Apollo Lake platform Yocto image.

  2. Create bootable USB key

  3. Copy initrd.lz and vmlinuz.efi to root directory on USB

    Rename initrd.lz to initrd; Rename vmlinuz.efi to vmlinuz

  4. Create config.cfg in root directory

Copy and save the following into config.cfg on USB key:

file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash nomodeset
  1. Boot from USB key.