Dependencies
===========
This layer depends on:
URI: git://git.openembedded.org/bitbake
branch: 1.28
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: jethro
URI: git://git.yoctoproject.org/meta-intel
layers: intel
branch: jethro
Table of Contents
=============
I. Building Common Core BSP layer for Cherry Hill
II. Installing Image to Media
III. Best Known Configuration
I. Building Common Core BSP layer for Cherry Hill
=====================================
Download the Poky build system to your development machine.
$ git clone -b jethro git://git.yoctoproject.org/poky.git
In order to build an image with BSP support for a given release, you
need to download the corresponding BSP tarball from the ‘Board Support
Package (BSP) Downloads’ page of the Yocto Project website.
Having done that, and assuming you extracted the BSP tarball contents
at the top-level of your yocto build tree.
$ 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 “source” command.
$ source ../poky/oe-init-build-env .
You can build a meta-intel Common layer BSP image by adding the location
of the meta-intel layer to conf/bblayers.conf. e.g.:
BBLAYERS ?= ” \
/path/poky/meta \
/path/poky/meta-yocto \
/path/poky/meta-yocto-bsp \
/path/meta-intel \
”
To enable the meta-intel layer, add “intel-corei7-64” MACHINE
in your conf/local.conf. e.g:
MACHINE ?= “intel-corei7-64”
Suggested settings for better graphics driver support
————————————————————–
meta-intel contains support for 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.
The ‘intel-corei7-64’ machine will include support for hardware video acceleration
via gstreamer if and only if the “commercial” string is added to
LICENSE_FLAGS_WHITELIST variable in your conf/local.conf. e.g:
LICENSE_FLAGS_WHITELIST = “commercial”
The local.conf is located at yocto_build/conf directory. The reason this is needed is
to prevent the image from including anything that might violate the license terms of
the packages used to implement the video acceleration feature, such as gst-ffmpeg
and ffmpeg. As always, please consult the licenses included in the specific packages
for details if you use packages that require particular LICENSE_FLAGS.
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 Yocto Project build
output image where this can be done by adding the meta-intel as part of the bblayers.conf
(located in yocto_build/conf directory).
Anyhow, the default GStreamer packages does not come with full codecs supports where
some additional plugins need to be added manually in conf/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:
require conf/multilib.conf
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 at yocto_build/tmp/deploy/images/intel-corei7-64/.
File name:
core-image-sato-intel-corei7-64.hddimg
OR
core-image-sato-sdk-intel-corei7-64.hddimg
II. Installing Image to Media
=====================
At the end of a successful build, you should have a live image that you can boot
from a USB flash drive.
Deploy the hddimg image to a USB or SATA device. You will need to know the
device name on your host as well as the device name on the target.
NOTE: Be careful with this step as using the wrong host device can result in
overwriting data on your own host machine.
For intel-core BSPs use this, see below for intel-quark information
Under Linux, USB and SATA devices typically appears as /dev/sdb, /dev/sdc, etc.
Watching your system messages as you connect the device will tell you exactly
which device name is assigned to the device.
On the Cherry Hill platform, assuming only one storage device is attached at boot,
a USB or SATA device will be /dev/sda.
After inserting the boot media into your host machine and determining your host
and target device, create the image using the mkefidisk.sh script, provided by poky
under scripts/contrib/.
Note: Root privileges are required.
For example, using an USB device which appears as /dev/sdc on the host:
$ sudo ./mkefidisk.sh /dev/sdc core-image-sato-intel-corei7-64.hddimg /dev/sda
Follow the prompts on the screen to confirm the action.
1. Insert the device into the Cherry Hill platform and power ON.
a. This should result in a system booted to the Sato graphical desktop.
b. The root password is empty on the Poky reference distribution images.
———-
The following are steps to install image into on-board eMMC:
NOTE: You need a live bootable USB thumb drive in order to install image into on-board eMMC.
2. Prepare the USB thumb drive and copy the image into USB using “dd” command.
3. Assume your USB mounted as /dev/sdc on your Linux host machine.
$ dd if=core-image-sato-intel-corei7-64.hddimg of=/dev/sdc && sync
4. Plug the USB stick into Cherry Hill platform and choose to boot off USB device.
5. When you reach the Grub menu, choose “Install” option. Follow the command prompt to choose the correct partition to install your image.
NOTE: eMMC should be detected as /dev/mmcblk0.
6. Once the installation is complete, remove your USB and press “ENTER” to reboot.
III. Best Known Configuration
======================
Supported platform: Cherry Hill Fab. E (Build Number: H31663-500) Customer Reference Board
CPU: Intel® Pentium®/Celeron® Processor N3000 family, Intel® Atom™ x5-E8000 processor
BIOS/Firmware Version: BIOS v90
BSW GOP v8.0.1037
TXE: Intel® Trusted Execution Engine FW v2.0.2.2092
NOTE: There is no TXE drivers available for Yocto Project Linux.
Features supported in this release
=========================
Kernel feature list:
– 64-bit Yocto Project Linux Kernel v4.1.8
– Legacy drivers: SATA 2.0 and 3.0, USB Host 2.0 and 3.0, HD Audio, HDMI Audio
– LPSS I/O devices: UART(Debug), HSUART(COM), I2C Designware, Pinctrl (GPIO), SDHCI, SMBus
– Cherry Hill platform on-board ethernet driver: Realtek GBE
– USB, SATA and eMMC boot with UEFI enabled
– CPU idle states support up to C6
– S3 power management
Graphics driver (i915) feature list:
– Support DP Port DDI2/DP Port DD1/HDMI (supported extended/clone for dual/triple display)
– Support display rotation
– Support 4 K display
– Support Mesa 10.6.3 (OpenGL 3.3, OpenGLES 2.0, OpenGLES 3.0)
– Support Intel-VAAPI 1.5.0, libVA-1.5.0
– Support decoding on H264, MPEG2, VC1, MJPEG & VP8
– Support the following encoding formats:
– raw YUY420 to H264 i420 30 fps
– raw to MPEG2 i420 30 fps
– 1920×1080 USB raw YUY2 to camera input to H264
– 1920×1080 USB raw YUY2 camera input to MPEG2
– Support video scaling
– Support transcoding “H264 to MPEG2” and “MPEG2 to H264”
– Support Graphic burst mode (turbo auto-throttling)
– Support S3 (Suspend to RAM) and DPMS
– Support MVC encode
– Support VP8 encode
– Support JPEG decode/encode
Fixed Issues
==========
– Display is blank when booting up eDP on RVP is fixed.
– Multiple time stamping artifact observed on certain video clips when playing video decoding
using gstreamer-VAAPI.
Known Issues
===========
– When hotplug operation is performed on either HDMI or DP port, the secondary display shows
blank with X11 MatchBox desktop setup This has been root caused to MatchBox issue where
it doesn’t support RandR type events.
Workaround: Use Gnome or XFCE if you require display with hotplug support.
– I/O error observed when installing the OS image from USB to eMMC. This requires fixes in
install-efi and Cherry Hill eMMC device firmware.
The install-efi issue has been filed at https://bugzilla.yoctoproject.org/show_bug.cgi?id=8710.
This issue has patches applied to the stable branch of Jethro, but not in 2.0 release tarball.
For Cherry Hill on board eMMC device firmware update, please contact Intel Sales Representative.
– Audio via HDMI doesn’t work. This issue has been filed at https://bugzilla.yoctoproject.org/show_bug.cgi?id=8448
This issue has patches applied to the stable branch of Jethro, but not in 2.0 release tarball.
– Clone mode for different ratio monitor/panel introduce a display cut off in the compositor. This may
be due to the compositor (Matchbox) unable to recognize the display resolution provided by SNA or
the SNA unable to provide the EDID information required when the compositor starts running.
PreBuilt Binaries
============
All prebuilt binaries utilize a time-limited kernel. Yocto Project users should build their own kernel image in their end product.