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

The 'Cedar Trail' platform consists of the Intel® Atom™
N2600/N2800/D2550 processor, plus the Intel® NM10 Express Chispset
(Cedarview + Tiger Point).

It also supports on-chip SGX545 graphics and media accelerator
via the Cedar Trail Power VR (PVR) graphics driver.


Compliance
==========

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

  http://www.yoctoproject.org/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-cedartrail BSP layer
II. Booting the images in /binary
III. Miscellaneous Notes

I. Building the meta-cedartrail 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 cedartrail 
image by adding the location of the meta-cedartrail 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-cedartrail \

To enable the cedartrail layer that supports Power VR graphics,
add the cedartrail MACHINE to local.conf:

  MACHINE ?= "cedartrail"

Power VR Graphics user-space driver binaries are covered by a
"Intel Free Distribution Binary License". The build of this driver
can be enabled by adding the following line to the local.conf file:

LICENSE_FLAGS_WHITELIST += "license_cdv-pvr-driver_1.0.3"

To enable the layer that does not support Power VR graphics
add the following to the local.conf file:

 MACHINE ?= "cedartrail-nopvr"


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

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

The above image will not give you the webkit feature and will not
have the Audio and Video media samples in the image.

If you want the webkit feature and Audio , Video media samples built
into the image by default, You should build the custom image by 
doing the following:

  $ source oe-init-build-env
  $ bitbake core-image-cdv-media

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').

NOTE: The 'cedartrail' machine will include support for hardware video
acceleration via gstreamer if and only if the "commercial" string is
added to the the LICENSE_FLAGS_WHITELIST variable in your local.conf.

For example:

  LICENSE_FLAGS_WHITELIST = "license_cdv-pvr-driver_1.0.3 commercial"

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 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.

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.  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:

# dd if=core-image-sato-cedartrail-20120105232035.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.

----

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

Miscellaneous Notes
====================

Video and Music Samples
-----------------------
This BSP includes recipes to download Ogg format video and
music files that can be played-back with the Video and music players
included in the sato images.  The sample files are installed in
/home/Music and /home/Videos directories.


Adding Glxgears to image
-------------------------
Glxgears can be added to the generated image by adding "tools-testapps"
option to the extra image features variable in the default local.conf
before building the BSP.

e.g. to add Glxgears, locate the following line in local.conf
EXTRA_IMAGE_FEATURES = "debug-tweaks"

and change above line to..

EXTRA_IMAGE_FEATURES = "debug-tweaks tools-testapps"


Work Around for VGA and LVDS Display issue in PVR driver
--------------------------------------------------------

The PVR driver has a issue that for some systems it causes
it to incorrectly assume that a LVDS display is connected
while infact a VGA display is connected and Vice Versa.
If your VGA or LVDS display does not work with
"cedartrail" MACHINE, then if you have connected a VGA display,
add the following to the kernel command line:

video=LVDS-1:d video=VGA-1:e

If you have connected a LVDS display, add the following to
the kernel command line:

video=LVDS-1:e video=VGA-1:d

The kernel boot command line can be updated before BSP build by
editing the "APPEND +=..." line in  conf/machine/cedartrail.conf file.

The kernel command line can also be edited after a image is built by
editing the syslinux.cfg file in the USB flash device on which
the image is installed.
