This README file contains information on building the meta-crystalforest
BSP layer, and booting the images contained in the /binary directory.
Please see the corresponding sections below for details.

The 'Crystal Forest' platform consists of two versions.
1. GLADDEN
2. SERVER

The Gladden Platform consists of Intel Xeon E3-1125C/E3-1105C Processor,
plus the Intel Communication Chipset 89xx for Smaller Form Factor
Communication Infrastructure.
(Gladden + Cave Creek)

The Server Platform consists of Intel Xeon E5-2600 and E5-2400 Processors,
plus the Intel Communication Chipset 89xx for Large-Scale Communications
Infrastructure.
(Sandy Bridge-EP/EN + Cave Creek)

Both Platforms use Matrox graphics Card.

Further information about the Crystal Forest Gladden platform supported
by this BSP can be found here:

  http://www.intel.com/p/en_US/embedded/hwsw/hardware/xeon-core-pentium-celeron-89xx/overview

Further information about the Crystal Forest server platform supported
by this BSP can be found here:

  http://www.intel.com/p/en_US/embedded/hwsw/hardware/xeon-e5-89xx/overview

Information on all Intel® embedded platforms can be found here:

  http://www.intel.com/p/en_US/embedded/hwsw/hardware


Compliance
==========
This BSP is compliant with the Yocto Project as per the requirements
listed here:

  https://www.yoctoproject.org/webform/yocto-project-compatible-registration

Dependencies
============

This layer depends on:

  URI: git://git.openembedded.org/bitbake
  branch: master

  URI: git://git.openembedded.org/openembedded-core
  layers: meta
  branch: master

  URI: git://git.yoctoproject.org/meta-intel
  layers: intel
  branch: master


Patches
=======

Please submit any patches against this BSP to the Yocto mailing list
(yocto@yoctoproject.org) and cc: the maintainer:

Maintainer: Kishore Bodke <kishore.k.bodke@intel.com>

Please see the meta-intel/MAINTAINERS file for more details.


Table of Contents
=================

  I. Building the meta-crystalforest BSP layer
 II. Booting the images in /binary
III. Enabling Intel DPDK and QuickAssist Technology
IV.  Enabling libcrypto kernel module for QuickAssist Technology

I. Building the meta-crystalforest BSP layer
=======================================

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, you can build a crystalforest
image by adding the location of the meta-crystalforest layer to
bblayers.conf, along with the meta-intel layer itself (to access
common metadata shared between BSPs) e.g.:

  yocto/meta-intel \
  yocto/meta-intel/meta-crystalforest \

To enable the Crystal Forest Gladden layer, add the crystalforest-gladden MACHINE to local.conf:

  MACHINE ?= "crystalforest-gladden"

To enable the Crystal Forest Server layer, add the crystalforest-server MACHINE to local.conf:

  MACHINE ?= "crystalforest-server"


You should then be able to build a crystalforest image as such:

  $ source oe-init-build-env
  $ bitbake core-image-sato

At the end of a successful build, you should have a live image that
you can boot from a USB flash drive (see instructions on how to do
that below, in the section 'Booting the images from /binary').

As an alternative to downloading the BSP tarball, you can also work
directly from the meta-intel git repository.  For each BSP in the
'meta-intel' repository, there are multiple branches, one
corresponding to each major release starting with 'laverne' (0.90), in
addition to the latest code which tracks the current master (note that
not all BSPs are present in every release).  Instead of extracting a
BSP tarball at the top level of your yocto build tree, you can
equivalently check out the appropriate branch from the meta-intel
repository at the same location.


II. Booting the images in /binary
=================================

This BSP contains bootable live images, which can be used to directly
boot Yocto off of a USB flash drive.

Under Linux, insert a USB flash drive.  Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the live image to it.  For
example:

To boot the Gladden Platform:

# dd if=core-image-sato-crystalforest-gladden-20120829033154.hddimg of=/dev/sdf
# sync
# eject /dev/sdf

To boot the Server Platform:

# dd if=core-image-sato-crystalforest-server-20120829044852.hddimg of=/dev/sdf
# sync
# eject /dev/sdf

This should give you a bootable USB flash device.  Insert the device
into a bootable USB socket on the target, and power on.  This should
result in a system booted to the Sato graphical desktop.

If you want a terminal, use the arrows at the top of the UI to move to
different pages of available applications, one of which is named
'Terminal'.  Clicking that should give you a root terminal.

If you want to ssh into the system, you can use the root terminal to
ifconfig the IP address and use that to ssh in.  The root password is
empty, so to log in type 'root' for the user name and hit 'Enter' at
the Password prompt: and you should be in.

III. Enabling Intel DPDK and QuickAssist Technology
===================================================

There are recipes available for the 'Intel Data Plane Development Kit and
Intel QuickAssist Technology components for use with this BSP.  Please
contact your Intel Field Sales Representative or visit Intel Embedded Design
Center (www.intel.com/p/en_US/embedded/designcenter) for instructions on how
to locate and use these recipes.

IV. Enabling libcrypto kernel module for QuickAssist Technology
===============================================================

Since the Kernel Module names of Libcrypto and Zlib for QuickAssist
Technology recipes are same, enabling both causes the build to fail.

Please see Bug #4126 for more description.

By default Crystal Forest builds zlib-qat-module.
For enabling the libcrypto kernel module recipe, do the following:

Crystal Forest Gladden:
Edit meta-intel/meta-crystalforest/conf/machine/crystalforest-gladden.conf
and replace zlib-qat-module with openssl-qat-module in MACHINE_EXTRA_RRECOMMENDS

Crystal Forest Server:
Edit meta-intel/meta-crystalforest/conf/machine/crystalforest-server.conf
and replace zlib-qat-module with openssl-qat-module in MACHINE_EXTRA_RRECOMMENDS

----

If you find you're getting corrupt images on the USB (it doesn't show
the syslinux boot: prompt, or the boot: prompt contains strange
characters), try doing this first:

# dd if=/dev/zero of=/dev/sdf bs=1M count=512
