bsp-guide: Replaced the Crown Bay example with the eMenlow.

Crown Bay is short on life so I swapped it out for the eMenlow.

(From yocto-docs rev: 6d5394c12a374463cb1d5215af88178b63a5b8c0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2015-01-14 13:34:32 -08:00 committed by Richard Purdie
parent 2bf21c2235
commit 261fd1bb25
1 changed files with 113 additions and 85 deletions

View File

@ -191,29 +191,35 @@
</para> </para>
<para> <para>
Below is an example of the Crown Bay BSP: Below is an example of the eMenlow BSP:
<literallayout class='monospaced'> <literallayout class='monospaced'>
meta-crownbay/COPYING.MIT meta-emenlow/COPYING.MIT
meta-crownbay/README meta-emenlow/README
meta-crownbay/README.sources meta-emenlow/README.sources
meta-crownbay/binary/ meta-emenlow/binary/
meta-crownbay/conf/ meta-emenlow/conf/
meta-crownbay/conf/layer.conf meta-emenlow/conf/layer.conf
meta-crownbay/conf/machine/ meta-emenlow/conf/machine/
meta-crownbay/conf/machine/crownbay-noemgd.conf meta-emenlow/conf/machine/emenlow-noemgd.conf
meta-crownbay/recipes-bsp/ meta-emenlow/recipes-bsp/
meta-crownbay/recipes-bsp/formfactor/ meta-emenlow/recipes-bsp/formfactor/
meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend meta-emenlow/recipes-bsp/formfactor/formfactor/
meta-crownbay/recipes-bsp/formfactor/formfactor/ meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/machconfig
meta-crownbay/recipes-kernel/ meta-emenlow/recipes-graphics/
meta-crownbay/recipes-kernel/kmod meta-emenlow/recipes-graphics/xorg-xserver
meta-crownbay/recipes-kernel/kmod/kmod_git.bbappend meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config
meta-crownbay/recipes-kernel/linux/ meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-crownbay/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd
meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.config
meta-emenlow/recipes-kernel/
meta-emenlow/recipes-kernel/linux/
meta-emenlow/recipes-kernel/linux/linux-yocto-dev.bbappend
meta-emenlow/recipes-kernel/linux/linux-yocto-rt_3.10.bbappend
meta-emenlow/recipes-kernel/linux/linux-yocto_3.10.bbappend
meta-emenlow/recipes-kernel/linux/linux-yocto_3.14.bbappend
</literallayout> </literallayout>
</para> </para>
@ -234,7 +240,7 @@
<para> <para>
These optional files satisfy licensing requirements for the BSP. These optional files satisfy licensing requirements for the BSP.
The type or types of files here can vary depending on the licensing requirements. The type or types of files here can vary depending on the licensing requirements.
For example, in the Crown Bay BSP all licensing requirements are handled with the For example, in the eMenlow BSP all licensing requirements are handled with the
<filename>COPYING.MIT</filename> file. <filename>COPYING.MIT</filename> file.
</para> </para>
@ -278,12 +284,21 @@
</para> </para>
<para> <para>
This file provides information on where to locate the BSP source files. This file provides information on where to locate the BSP
For example, information provides where to find the sources that comprise source files used to build the images (if any) that reside in
the images shipped with the BSP. <filename>meta-<replaceable>bsp_name</replaceable>/binary</filename>.
Information is also included to help you find the Images in the <filename>binary</filename> would be images
released with the BSP.
The information in the <filename>README.sources</filename>
file also helps you find the
<ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>
used to generate the images that ship with the BSP. used to generate the images that ship with the BSP.
<note>
If the BSP's <filename>binary</filename> directory is
missing or the directory has no images, an existing
<filename>README.sources</filename> file is
meaningless.
</note>
</para> </para>
</section> </section>
@ -297,21 +312,26 @@
</para> </para>
<para> <para>
This optional area contains useful pre-built kernels and user-space filesystem This optional area contains useful pre-built kernels and
images appropriate to the target system. user-space filesystem images released with the BSP that are
This directory typically contains graphical (e.g. Sato) and minimal live images appropriate to the target system.
when the BSP tarball has been created and made available in the This directory typically contains graphical (e.g. Sato) and
minimal live images when the BSP tarball has been created and
made available in the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website. <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
You can use these kernels and images to get a system running and quickly get started You can use these kernels and images to get a system running
on development tasks. and quickly get started on development tasks.
</para> </para>
<para> <para>
The exact types of binaries present are highly hardware-dependent. The exact types of binaries present are highly
However, a <filename>README</filename> file should be present in the BSP Layer that explains how to use hardware-dependent.
the kernels and images with the target hardware. The <filename>README</filename> file should be present in the
If pre-built binaries are present, source code to meet licensing requirements must also BSP Layer and it will explain how to use the images with the
exist in some form. target hardware.
Additionally, the <filename>README.sources</filename> file
should be present to locate the sources used to build the
images and provide information on the Metadata.
</para> </para>
</section> </section>
@ -354,20 +374,20 @@
<para> <para>
To illustrate the string substitutions, here are the corresponding statements To illustrate the string substitutions, here are the corresponding statements
from the Crown Bay <filename>conf/layer.conf</filename> file: from the eEmenlow <filename>conf/layer.conf</filename> file:
<literallayout class='monospaced'> <literallayout class='monospaced'>
# We have a conf and classes directory, add to BBPATH # We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}" BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES # We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend" ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "crownbay" BBFILE_COLLECTIONS += "emenlow"
BBFILE_PATTERN_crownbay := "^${LAYERDIR}/" BBFILE_PATTERN_emenlow := "^${LAYERDIR}/"
BBFILE_PRIORITY_crownbay = "6" BBFILE_PRIORITY_emenlow = "6"
LAYERDEPENDS_crownbay = "intel" LAYERDEPENDS_emenlow = "intel"
</literallayout> </literallayout>
</para> </para>
@ -412,11 +432,10 @@
</para> </para>
<para> <para>
This <filename>crownbay.conf</filename> file could also include This configuration file could also include a hardware "tuning"
a hardware "tuning" file that is commonly used to file that is commonly used to define the package architecture
define the package architecture and specify and specify optimization flags, which are carefully chosen
optimization flags, which are carefully chosen to give best to give best performance on a given processor.
performance on a given processor.
</para> </para>
<para> <para>
@ -428,13 +447,15 @@
</para> </para>
<para> <para>
To use an include file, you simply include them in the machine configuration file. To use an include file, you simply include them in the
For example, the Crown Bay BSP <filename>crownbay-noemgd.conf</filename> contains the machine configuration file.
For example, the eEmenlow BSP
<filename>emenlow-noemgd.conf</filename> contains the
following statements: following statements:
<literallayout class='monospaced'> <literallayout class='monospaced'>
require conf/machine/include/meta-intel.inc
require conf/machine/include/intel-core2-32-common.inc require conf/machine/include/intel-core2-32-common.inc
require conf/machine/include/intel-common-pkgarch.inc require conf/machine/include/intel-common-pkgarch.inc
require conf/machine/include/meta-intel.inc
</literallayout> </literallayout>
</para> </para>
</section> </section>
@ -449,19 +470,23 @@
</para> </para>
<para> <para>
This optional directory contains miscellaneous recipe files for the BSP. This optional directory contains miscellaneous recipe files for
the BSP.
Most notably would be the formfactor files. Most notably would be the formfactor files.
For example, in the Crown Bay BSP there is the For example, in the eMenlow BSP there is the
<filename>formfactor_0.0.bbappend</filename> file, which is an <filename>formfactor_0.0.bbappend</filename> file, which is an
append file used to augment the recipe that starts the build. append file used to augment the recipe that starts the build.
Furthermore, there are machine-specific settings used during the Furthermore, there are machine-specific settings used during
build that are defined by the <filename>machconfig</filename> file. the build that are defined by the
In the Crown Bay example, the <filename>machconfig</filename> file <filename>machconfig</filename> file further down in the
supports the Video Electronics Standards Association (VESA) graphics directory.
driver: In the eMenlow example, the <filename>machconfig</filename>
file supports the Video Electronics Standards Association
(VESA) graphics driver:
<literallayout class='monospaced'> <literallayout class='monospaced'>
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig # Assume a USB mouse and keyboard are connected
meta-crownbay/recipes-bsp/formfactor/formfactor_0.0.bbappend HAVE_TOUCHSCREEN=0
HAVE_KEYBOARD=1
</literallayout> </literallayout>
</para> </para>
@ -487,15 +512,16 @@
<para> <para>
This optional directory contains recipes for the BSP if it has This optional directory contains recipes for the BSP if it has
special requirements for graphics support. special requirements for graphics support.
All files that are needed for the BSP to support a display are kept here. All files that are needed for the BSP to support a display are
For example, the <filename>meta-emenlow</filename> layer, which supports kept here.
the eMenlow platform consisting of the For example, the <filename>meta-emenlow</filename> layer,
which supports the eMenlow platform consisting of the
<trademark class='registered'>Intel</trademark> <trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark> <trademark class='trade'>Atom</trademark>
Z5xx processor with the Z5xx processor with the
<trademark class='registered'>Intel</trademark> <trademark class='registered'>Intel</trademark>
System Controller Hub US15W uses these files for supporting the Video System Controller Hub US15W, uses these files for supporting
Electronics Standards Association (VESA) graphics: the Video Electronics Standards Association (VESA) graphics:
<literallayout class='monospaced'> <literallayout class='monospaced'>
meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd/xorg.conf
@ -542,10 +568,10 @@
specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
</para> </para>
<para> <para>
As an example, look at the existing Crown Bay BSP. As an example, look at the existing eMenlow BSP.
The append file used is: The append file used is:
<literallayout class='monospaced'> <literallayout class='monospaced'>
meta-crownbay/recipes-kernel/linux/linux-yocto_3.10.bbappend meta-emenlow/recipes-kernel/linux/linux-yocto_3.10.bbappend
</literallayout> </literallayout>
The following listing shows the file. The following listing shows the file.
Be aware that the actual commit ID strings in this example listing might be different Be aware that the actual commit ID strings in this example listing might be different
@ -554,35 +580,37 @@
<literallayout class='monospaced'> <literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_emenlow-noemgd = "emenlow-noemgd"
KMACHINE_emenlow-noemgd = "emenlow"
KBRANCH_emenlow-noemgd = "standard/emenlow"
KERNEL_FEATURES_append_emenlow-noemgd = " features/drm-gma500/drm-gma500"
COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" LINUX_VERSION_emenlow-noemgd = "3.10.55"
KMACHINE_crownbay-noemgd = "crownbay" SRCREV_meta_emenlow-noemgd = "f79a00265eefbe2fffc2cdb03f67235497a9a87e"
KBRANCH_crownbay-noemgd = "standard/crownbay" SRCREV_machine_emenlow-noemgd = "3677ea7f9476458aa6dec440243de3a6fb1343a9"
KERNEL_FEATURES_append_crownbay-noemgd = " cfg/vesafb"
LINUX_VERSION_crownbay-noemgd = "3.10.55"
SRCREV_meta_crownbay-noemgd = "f79a00265eefbe2fffc2cdb03f67235497a9a87e"
SRCREV_machine_crownbay-noemgd = "3677ea7f9476458aa6dec440243de3a6fb1343a9"
</literallayout> </literallayout>
This append file contains statements used to support the Crown Bay BSP. This append file contains statements used to support the
eMenlow BSP.
The file defines machines using the The file defines machines using the
<ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>
variable and uses the variable and uses the
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> variable to <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>
ensure the machine name used by the OpenEmbedded build system maps to the variable to ensure the machine name used by the OpenEmbedded
machine name used by the Linux Yocto kernel. build system maps to the machine name used by the Linux Yocto
kernel.
The file also uses the optional The file also uses the optional
<ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> variable <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink>
to ensure the build process uses the <filename>standard/crownbay</filename> variable to ensure the build process uses the
kernel branch. <filename>standard/emenlow</filename> kernel branch.
The The
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink>
variable enables features specific to the kernel variable enables features specific to the kernel
(e.g. VESA graphics support in this case). (e.g. VESA graphics support in this case).
The append file points to specific commits in the The append file points to specific commits in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
repository and the <filename>meta</filename> Git repository branches to identify the Git repository and the <filename>meta</filename> Git repository
exact kernel needed to build the Crown Bay BSP. branches to identify the exact kernel needed to build the
eMenlow BSP.
</para> </para>
<para> <para>