Disclaimer:
========
You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein.
You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel product specifications and roadmaps.
The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting: http://www.intel.com/design/literature.htm
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Learn more at http://www.intel.com/ or from the OEM or retailer.
No computer system can be absolutely secure.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2015, Intel Corporation. All rights reserved.
Content
Change Summary:
===============
– Upgrade to new Kernel version 4.4.3
– Update to BIOS v95.1 (GOP: v8.0.1037 TXE: v2.0.4.3098)
Building Common Core BSP layer for Cherry Hill:
=====================================
Download the Poky build system to your development machine.
$ git clone -b krogoth git://git.yoctoproject.org/poky.git
Download the corresponding BSP tarball and untar the package.
$ tar xvjf intel-corei7-64-5.0-krogoth-2.1.tar.bz2
Rename the folder of the extracted BSP tarball to meta-intel. Ignore this step if there is already a folder with the same name.
$ mv intel-corei7-64 meta-intel
Assuming that you have downloaded the BSP tarball and extracted the content at the top level of your development build tree, prepare the build environment using the “source” command.
$ source ./poky/oe-init-build-env ./yocto_build
Build an image for Cherry Hill by adding the location of meta-intel layer to /yocto_build/conf/bblayers.conf, e.g.:
BBLAYERS ?= ” \
/path/poky/meta \
/path/poky/meta-yocto \
/path/poky/meta-yocto-bsp \
/path/meta-intel \
”
To build 64-bit image, add “intel-corei7-64” MACHINE to /yocto_build/conf/local.conf:
MACHINE = “intel-corei7-64”
Suggested settings for better graphics 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.
The ‘intel-corei7-64’ machine will include support for hardware video acceleration via gstreamer if the “commercial” string is added to the LICENSE_FLAGS_WHITELIST variable in your local.conf. For example:
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 and GStreamer-VAAPI packages should 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 (located in /yocto_build/conf directory).
The default GStreamer packages does not come with full codecs support. Some additional plugins should be added manually to local.conf to support certain playback:
IMAGE_INSTALL_append =+ ” gstreamer1.0-plugins-ugly gstreamer1.0-libav”
For those who are required to execute a 64-bit standalone application on Yocto, the multilib environment should be turned on in yocto_build/conf/local.conf per 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 using this command:
$ bitbake core-image-sato
To build an image with the development tools, use this command:
$ bitbake core-image-sato-sdk
A bootable image will be generated in yocto_build/tmp/deploy/images/intel-corei7-64/ once the compilation is successful.
File that will be generated:
core-image-sato-intel-corei7-64-.hddimg
OR
core-image-sato-sdk-intel-corei7-64-.hddimg
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.
Under Linux*, USB and SATA devices typically appear 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 a 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.
Insert the device into the Cherry Hill 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.
Follow these steps to install an image onto an on-board eMMC*:
NOTE: You need a live bootable USB thumb drive in order to install the image onto an on-board eMMC.
1. Prepare the USB thumb drive and copy the image to the USB using the “dd” command.
2. Assume your USB is mounted as /dev/sdc on your Linux host machine.
$ dd if=core-image-sato-intel-corei7-64.hddimg of=/dev/sdc && sync
3. Plug the USB stick into a Cherry Hill platform and choose to boot off the USB device.
4. When you reach the Grub menu, choose the “Install” option. Follow the command prompt to choose the correct partition to install your image.
NOTE: eMMC should be detected as /dev/mmcblk0.
5. Once the installation is complete, remove the USB and press “ENTER” to reboot.
Best Known Configuration:
====================
Supported platform: Cherry Hill Fab. E (Build 1 and 2) Customer Reference Board
CPU: Intel® Pentium®/Celeron® Processor N3000 Family C0 Step & D1 Step, Intel® Atom™ x5-E8000 Processor
BIOS/Firmware Version: Cherry Hill CRB BIOS v95.1
GOP: Cherry Hill CRB v8.0.1037
TXE: Intel® Trusted Execution Engine FW v2.0.4.3098
NOTE: There are no TXE drivers available for Yocto Project Linux.
Features supported in this release:
==========================
Kernel feature list:
– 64-bit Yocto Project Linux Kernel v4.4.3
– 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*, 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:
– Supports HDMI 1.4b, DP1.1a and eDP1.3.
– Supports a maximum of 3 simultaneous displays (Clone or extended mode). DP is not recommended on DDI2.
– Display rotation
– Maximum resolution of 3840×2160 @ 30 Hz /2560×1600 @ 60 Hz for DP and HDMI, 2560×1440@ 60Hz for eDP
– Mesa 11.1.1 (OpenGL* 3.3, OpenGLES* 2.0, OpenGLES 3.0)
– Intel-VAAPI 1.7.0, libVA-1.7.0
– Decoding on HEVC, H264, MPEG2, VC1, MJPEG & VP8
– Supports 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
– Video scaling
– Supports transcoding “H264 to MPEG2” and “MPEG2 to H264”
– Graphic burst mode (turbo auto-throttling)
– S3 (Suspend to RAM) and DPMS
– MVC encode
– VP8 encode
– JPEG decode/encode
Fixed Issues:
==========
– Installing to eMMC from an OS image on USB is now working.
– HEVC decoding failures with Matroska container fixed –> https://bugzilla.gnome.org/show_bug.cgi?id=762922
Known Issues:
===========
– When hotplug operation is performed on either the HDMI or DP port, a secondary display will be blank with the X11 MatchBox desktop setup. This has been root caused to a MatchBox issue that doesn’t support RandR type events.
Workaround: Use Gnome or XFCE if you require a display with hotplug support.
– Clone mode for different ratio monitor/panels introduces a display cut off in the compositor. This may be due to the compositor (Matchbox) being unable to recognize the display resolution provided by SNA, or SNA is unable to provide the EDID information required when the compositor starts running.
– lspci(1) may not resolve all the PCI IDs on the system to their textual names, use “lspci -q” to resolve them against the latest PCI ID database over the internet. You may also download the latest copy of the database from https://pci-ids.ucw.cz/.