Saddle Brook (Skylake) BSP is supported by Intel Common Core BSP.
Building Common Core BSP layer for Skylake-Saddle Brook:
Please download the Poky build system to your development machine.
$ git clone -b jethro git://git.yoctoproject.org/poky.git
Download the corresponding BSP tarball from the 'Board Support
Package (BSP) Downloads' page of the Yocto Project website.
Extract the downloaded BSP tarball into meta-intel folder
$ tar -xvjf intel-corei7-64-4.0-jethro-2.0.tar.bz2
Rename the folder of the extracted BSP tarball to meta-intel.
Note: Ignore this step if there is already a folder with the same name.
$ mv intel-corei7-64-4.0-jethro-2.0 meta-intel
Create a build folder at the same level of "poky" directory.
$ mkdir yocto_build
$ cd yocto_build
Assuming that you have downloaded the BSP tarball and extracted the content at top level of your
development build tree, you need to prepare the build environment using the "source" command.
$ source ../poky/oe-init-build-env .
You can build an image for Saddle Brook by adding the location of meta-intel layer to bblayers.conf, e.g.:
BBLAYERS ?= " \
To build a 64-bit image, add "intel-corei7-64" MACHINE to local.conf:
MACHINE = "intel-corei7-64"
Suggested settings for better graphic driver support:
meta-intel contains support for the i915 graphics driver.
However, they are dependent on gstreamer plugins and ffmpeg plugins.
These gstreamer plugins require license flags in order to be included in the build.
Add "commercial" in the LICENSE_FLAGS_WHITELIST in local.conf. For example:
LICENSE_FLAGS_WHITELIST = "commercial"
To enable full hardware acceleration for video decode support, GStreamer 1.x base (1.4.5)
and GStreamer-VAAPI 0.5.10 packages need to be included as part of the Yocto Project build output
image. This can be done by adding the meta-intel as part of the bblayers.conf (as mentioned above).
The default GStreamer packages do not come with full codecs support; some additional
plugins need to be added manually in local.conf to support certain playback:
IMAGE_INSTALL_append =+ " gstreamer1.0-plugins-ugly gstreamer1.0-libav"
For those who required to execute a 64-bit standalone application on Yocto,
the multilib environment need to be turned on in yocto_build/conf/local.conf as the configuration below:
DEFAULTTUNE = "corei7-64"
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "corei7-32"
Once the configurations are added, build an image as such:
$ bitbake core-image-sato
For building an image with the development tools, type the following command:
$ bitbake core-image-sato-sdk
A bootable image will be generated in yocto_build/tmp/deploy/images/intel-corei7-64/ once the compilation successful.
File name that will be generated:
At the end of a successful build, you should have a live image that can be used to directly
boot Yocto off of a USB flash drive.
Under Linux host machine, insert a USB flash drive. Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the live image to it. For
# dd if=core-image-sato-intel-corei7-64.hddimg of=/dev/sdf
# eject /dev/sdf
This should give you a bootable USB flash device. Insert the device
into a bootable USB socket on the Saddle Brook platform, and power on. This should
result in a system booted to the Sato graphical desktop. The root password is empty on the Poky reference distribution images.
Note: All prebuilt binaries utilize a time-limited kernel. Yocto Project users should build their own kernel image in their end product.
Best Known Configuration:
Supported platform: Saddle Brook Rev B (Build Number: H77508-200) Customer Reference Board
CPU: Skylake R0/S0/N0 Step
PCH: CM236 D1 Step
BIOS/Firmware Version: SKLSDBK1.R00.G003.B00.1510120659
This Saddle Brook BSP (kernel v4.1) only provides basic I/Os and graphic support, mainly for user early software integration.
More features will be enabled in kernel v4.3 or above. Please migrate to Yocto project v2.1 (kernel v4.3 or above) when it is made available in Q2'16.
Features Supported in this Release:
• Linux kernel version 4.1.8
• Support integrated graphics (i915)
• Support I/O devices - SATA, USB Host v2.0&3.0, HD Audio, EC UART
• Support Saddle Brook platform in-chip Ethernet driver: e1000e
• Support single displays (HDMI or DP)
• Support resolution for DP & HDMI (3840x2160@30Hz)
• Support 3 Independent Displays (HDMI, DP1 and DP2)
• Support 2D HW acceleration (Cairo)
• Support 3D HW acceleration (GL3.3 and GLES2.0/3.0)
• Support HW Media acceleration (H.264, MPEG-2, VC-1, WMV, VP8)
• Support HW Media encoding (H.264, MPEG-2)
• Support Media Players (GStreamer-VAAPI)
• No power management support, graphic unable to resume from S3 suspend.
• No HDMI & DP audio support