diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 363ab77340..a14dd3b888 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -34,11 +34,13 @@
The BSP consists of a file structure inside a base directory.
Collectively, you can think of the base directory and the file structure
as a BSP Layer.
- BSP Layers use the following naming convention:
+ Although not a strict requirement, layers in the Yocto Project use the
+ following well established naming convention:
meta-<bsp_name>
- "bsp_name" is a placeholder for the machine or platform name.
+ The string "meta-" is prepended to the machine or platform name, which is
+ "bsp_name" in the above form.
@@ -318,9 +320,9 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
- # We have recipes-* directories, add to BBFILES
- BBFILES += "${LAYERDIR}/recipes-*/*.bb \
- ${LAYERDIR}/recipes-*/*.bbappend"
+ # We have a recipes directory, add to BBFILES
+ BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "bsp"
BBFILE_PATTERN_bsp = "^${LAYERDIR}/"
@@ -329,8 +331,8 @@
- To illustrate the string substitutions, here are the last three statements from the Crown
- Bay conf/layer.conf file:
+ To illustrate the string substitutions, here are the corresponding statements
+ from the Crown Bay conf/layer.conf file:
BBFILE_COLLECTIONS += "crownbay"
BBFILE_PATTERN_crownbay = "^${LAYERDIR}/"
@@ -397,9 +399,8 @@
Tuning files are found in the meta/conf/machine/include
directory within the
Source Directory.
- Tuning files can also reside in the BSP Layer itself.
For example, the ia32-base.inc file resides in the
- meta-intel BSP Layer in conf/machine/include.
+ meta/conf/machine/include directory.
@@ -409,12 +410,13 @@
require conf/machine/include/tune-atom.inc
require conf/machine/include/ia32-base.inc
+ require conf/machine/include/meta-intel.inc
- Miscellaneous Recipe Files
+ Miscellaneous BSP-Specific Recipe Files
You can find these files in the BSP Layer at:
@@ -500,28 +502,28 @@
the meta-<bsp_name>/recipes-kernel/linux directory).
- Suppose you are using the linux-yocto_3.4.bb recipe to build
+ Suppose you are using the linux-yocto_3.8.bb recipe to build
the kernel.
In other words, you have selected the kernel in your
<bsp_name>.conf file by adding these types
of statements:
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
- PREFERRED_VERSION_linux-yocto = "3.4%"
+ PREFERRED_VERSION_linux-yocto ?= "3.8%"
When the preferred provider is assumed by default, the
PREFERRED_PROVIDER statement does not appear in the
<bsp_name>.conf file.
- You would use the linux-yocto_3.4.bbappend file to append
+ You would use the linux-yocto_3.8.bbappend file to append
specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
As an example, look at the existing Crown Bay BSP.
The append file used is:
- meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend
+ meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend
The following listing shows the file.
Be aware that the actual commit ID strings in this example listing might be different
@@ -531,40 +533,43 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_crownbay = "crownbay"
- KMACHINE_crownbay = "crownbay"
- KBRANCH_crownbay = "standard/crownbay"
+ KMACHINE_crownbay = "crownbay"
+ KBRANCH_crownbay = "standard/crownbay"
+ KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd"
- KMACHINE_crownbay-noemgd = "crownbay"
- KBRANCH_crownbay-noemgd = "standard/crownbay"
+ KMACHINE_crownbay-noemgd = "crownbay"
+ KBRANCH_crownbay-noemgd = "standard/crownbay"
+ KERNEL_FEATURES_crownbay-noemgd_append = " cfg/vesafb"
- SRCREV_machine_pn-linux-yocto_crownbay ?= "449f7f520350700858f21a5554b81cc8ad23267d"
- SRCREV_meta_pn-linux-yocto_crownbay ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac"
- SRCREV_emgd_pn-linux-yocto_crownbay ?= "86643bdd8cbad616a161ab91f51108cf0da827bc"
+ LINUX_VERSION = "3.8.4"
- SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= "449f7f520350700858f21a5554b81cc8ad23267d"
- SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac"
+ SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
+ SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
+ SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
- KSRC_linux_yocto_3_4 ?= "git.yoctoproject.org/linux-yocto-3.4.git"
- SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta,emgd-1.14;name=machine,meta,emgd"
- SRC_URI_crownbay-noemgd = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
+ SRCREV_meta_crownbay-noemgd = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
+ SRCREV_machine_crownbay-noemgd = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
+
+ SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.16;name=machine,meta,emgd"
This append file contains statements used to support the Crown Bay BSP for both
Intel EMGD and the VESA graphics.
The build process, in this case, recognizes and uses only the statements that
apply to the defined machine name - crownbay in this case.
- So, the applicable statements in the linux-yocto_3.4.bbappend
+ So, the applicable statements in the linux-yocto_3.8.bbappend
file are follows:
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_crownbay = "crownbay"
- KMACHINE_crownbay = "crownbay"
- KBRANCH_crownbay = "standard/crownbay"
+ KMACHINE_crownbay = "crownbay"
+ KBRANCH_crownbay = "standard/crownbay"
+ KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb"
- SRCREV_machine_pn-linux-yocto_crownbay ?= "449f7f520350700858f21a5554b81cc8ad23267d"
- SRCREV_meta_pn-linux-yocto_crownbay ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac"
- SRCREV_emgd_pn-linux-yocto_crownbay ?= "86643bdd8cbad616a161ab91f51108cf0da827bc"
+ SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda"
+ SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4"
+ SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576"
The append file defines crownbay as the
COMPATIBLE_MACHINE
@@ -574,8 +579,11 @@
machine name used by the Linux Yocto kernel.
The file also uses the optional
KBRANCH variable
- to ensure the build process uses the standard/default/crownbay
+ to ensure the build process uses the standard/crownbay
kernel branch.
+ The
+ KERNEL_FEATURES
+ variable enables features specific to the kernel.
Finally, the append file points to specific commits in the
Source Directory Git
repository and the meta Git repository branches to identify the
@@ -601,7 +609,7 @@
- For example, suppose you had a some configuration options in a file called
+ For example, suppose you had some configuration options in a file called
network_configs.cfg.
You can place that file inside a directory named /linux-yocto and then add
a SRC_URI statement such as the following to the append file.
@@ -723,7 +731,7 @@
as outlined in recipes.txt.
If you cannot find a category in recipes.txt
to fit a particular recipe, you can make up your own
- recipe-* subdirectory.
+ recipes-* subdirectory.
You can find recipes.txt in the
meta directory of the
Source Directory,
@@ -811,9 +819,9 @@
This file identifies the meta-<bsp_name>
BSP layer as a layer to the build system.
Machine Configuration File:
- You must include a conf/machine/<bsp_name>.conf
- in the meta-<bsp_name> directory.
- This configuration file defines a machine target that can be built
+ You must include one or more conf/machine/<bsp_name>.conf
+ files in the meta-<bsp_name> directory.
+ These configuration files define machine targets that can be built
using the BSP layer.
Multiple machine configuration files define variations of machine
configurations that are supported by the BSP.
@@ -827,7 +835,8 @@
It is completely possible for a developer to structure the
working repository as a conglomeration of unrelated BSP
files, and to possibly generate BSPs targeted for release
- from that directory using scripts or some other mechanism.
+ from that directory using scripts or some other mechanism
+ (e.g. meta-yocto-bsp layer).
Such considerations are outside the scope of this document.
@@ -1259,7 +1268,7 @@
As the yocto-bsp create command runs, default values for
the prompts appear in brackets.
Pressing enter without supplying anything on the command line or pressing enter
- and providing an invalid response causes the script to accept the default value.
+ with an invalid response causes the script to accept the default value.
Once the script completes, the new meta-myarm BSP layer
is created in the current working directory.
This example assumes you have sourced the
@@ -1350,7 +1359,7 @@
bblayers.conf file.
Here is an example:
- BBLAYERS = ?" \
+ BBLAYERS = ? " \
/usr/local/src/yocto/meta \
/usr/local/src/yocto/meta-yocto \
/usr/local/src/yocto/meta-yocto-bsp \
diff --git a/documentation/ref-manual/faq.xml b/documentation/ref-manual/faq.xml
index df9f7fadc3..f96b64c1a5 100644
--- a/documentation/ref-manual/faq.xml
+++ b/documentation/ref-manual/faq.xml
@@ -407,7 +407,7 @@
You need to create a form factor file as described in the
- "Miscellaneous Recipe Files"
+ "Miscellaneous BSP-Specific Recipe Files"
section in the Yocto Project Board Support Packages (BSP)
Developer's Guide.
Set the HAVE_TOUCHSCREEN variable equal to
@@ -431,7 +431,7 @@
automatically bring up network interfaces.
Therefore, you will need to add a BSP-specific netbase that includes an interfaces
file.
- See the "Miscellaneous Recipe Files"
+ See the "Miscellaneous BSP-Specific Recipe Files"
section in the Yocto Project Board Support Packages (BSP)
Developer's Guide for information on creating these types of
miscellaneous recipe files.