poky.ent, bsp-guide: Removed eMenlow example and updated 2.1 variables

Probably should have committed these separately but....

 * Updated the BSP guide to use an example that we support.
   I removed the eMenlow stuff completely.

 * Fixed poky.ent so the 15.0.0 stuff is used for the variables.
   This supports the 2.1 release.

(From yocto-docs rev: 598b261725235b6f160561db22bd9f31ec721066)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2016-03-17 09:01:19 -07:00 committed by Richard Purdie
parent 884b5281c2
commit b5d30657e7
3 changed files with 309 additions and 165 deletions

View File

@ -22,11 +22,11 @@
<authorgroup>
<author>
<firstname>Tom</firstname> <surname>Zanussi</surname>
<firstname>Saul</firstname> <surname>Wold</surname>
<affiliation>
<orgname>Intel Corporation</orgname>
</affiliation>
<email>tom.zanussi@intel.com</email>
<email>saul.wold@intel.com</email>
</author>
<author>
<firstname>Richard</firstname> <surname>Purdie</surname>

View File

@ -60,16 +60,28 @@
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'></ulink>.
If you go to that interface, you will find near the bottom of the list
under "Yocto Metadata Layers" several BSP layers all of which are
supported by the Yocto Project (e.g. <filename>meta-minnow</filename>,
<filename>meta-raspberrypi</filename>, and
supported by the Yocto Project (e.g. <filename>meta-raspberrypi</filename> and
<filename>meta-intel</filename>).
Each of these layers is a repository unto itself and clicking on a
layer reveals information that includes two links from which you can choose
to set up a clone of the layer's repository on your local host system.
Here is an example that clones the MinnowBoard BSP layer:
Here is an example that clones the Raspberry Pi BSP layer:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/meta-minnow
$ git clone git://git.yoctoproject.org/meta-raspberrypi
</literallayout>
</para>
<para>
In addition to BSP layers near the bottom of that referenced
Yocto Project Source Repository, the
<filename>meta-yocto-bsp</filename> layer is part of the
shipped <filename>poky</filename> repository.
The <filename>meta-yocto-bsp</filename> layer maintains several
BSPs such as the Beaglebone, EdgeRouter, and generic versions of
both 32 and 64-bit IA machines.
</para>
<para>
For information on the BSP development workflow, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</ulink>"
section in the Yocto Project Development Manual.
@ -80,8 +92,9 @@
</para>
<para>
The layer's base directory (<filename>meta-<replaceable>bsp_name</replaceable></filename>) is the root
of the BSP Layer.
The layer's base directory
(<filename>meta-<replaceable>bsp_name</replaceable></filename>)
is the root of the BSP Layer.
This root is what you add to the
<ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink>
variable in the <filename>conf/bblayers.conf</filename> file found in the
@ -121,6 +134,8 @@
An example of this type of layer is the <filename>meta-intel</filename> layer,
which contains a number of individual BSP sub-layers, as well as a directory
named <filename>common/</filename> full of common content across those layers.
Another example is the <filename>meta-yocto-bsp</filename> layer mentioned
earlier.
</para>
<para>
@ -130,7 +145,6 @@
</para>
</section>
<section id="bsp-filelayout">
<title>Example Filesystem Layout</title>
@ -194,33 +208,142 @@
</para>
<para>
Below is an example of the eMenlow BSP:
Below is an example of the Raspberry Pi BSP:
<literallayout class='monospaced'>
meta-emenlow/COPYING.MIT
meta-emenlow/README
meta-emenlow/README.sources
meta-emenlow/binary/
meta-emenlow/conf/
meta-emenlow/conf/layer.conf
meta-emenlow/conf/machine/
meta-emenlow/conf/machine/emenlow-noemgd.conf
meta-emenlow/recipes-bsp/
meta-emenlow/recipes-bsp/formfactor/
meta-emenlow/recipes-bsp/formfactor/formfactor/
meta-emenlow/recipes-bsp/formfactor/formfactor_0.0.bbappend
meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/
meta-emenlow/recipes-bsp/formfactor/formfactor/emenlow-noemgd/machconfig
meta-emenlow/recipes-graphics/
meta-emenlow/recipes-graphics/xorg-xserver
meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config
meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-emenlow/recipes-graphics/xorg-xserver/xserver-xf86-config/emenlow-noemgd
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_3.14.bbappend
meta-raspberrypi/COPYING.MIT
meta-raspberrypi/README
meta-raspberrypi/classes
meta-raspberrypi/classes/linux-raspberrypi-base.bbclass
meta-raspberrypi/classes/sdcard_image-rpi.bbclass
meta-raspberrypi/conf/
meta-raspberrypi/conf/layer.conf
meta-raspberrypi/conf/machine/
meta-raspberrypi/conf/machine/raspberrypi.conf
meta-raspberrypi/conf/machine/raspberrypi0.conf
meta-raspberrypi/conf/machine/raspberrypi2.conf
meta-raspberrypi/conf/machine/raspberrypi3.conf
meta-raspberrypi/conf/machine/include
meta-raspberrypi/conf/machine/include/rpi-base.inc
meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
meta-raspberrypi/conf/machine/include/rpi-default-settings.inc
meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
meta-raspberrypi/conf/machine/include/rpi-tune-arm1176jzf-s.inc
meta-raspberrypi/files
meta-raspberrypi/files/custom-licenses
meta-raspberrypi/files/custom-licenses/Broadcom
meta-raspberrypi/recipes-bsp
meta-raspberrypi/recipes-bsp/bootfiles
meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
meta-raspberrypi/recipes-bsp/common
meta-raspberrypi/recipes-bsp/common/firmware.inc
meta-raspberrypi/recipes-bsp/formfactor_00.bbappend
meta-raspberrypi/recipes-bsp/formfactor/raspberrypi/machconfig
meta-raspberrypi/recipes-bsp/rpi-mkimage_git.bb
meta-raspberrypi/recipes-bsp/rpi-mkimage/License
meta-raspberrypi/recipes-bsp/rpi-mkimage/open-files-relative-to-script.patch
meta-raspberrypi/recipes-bsp/u-boot/u-boot-rpi_git.bb
meta-raspberrypi/recipes-core
meta-raspberrypi/recipes-core/images
meta-raspberrypi/recipes-core/images/rpi-basic-image.bb
meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb
meta-raspberrypi/recipes-core/images/rpi-test-image.bb
meta-raspberrypi/recipes-core/packagegroups
meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
meta-raspberrypi/recipes-core/psplash
meta-raspberrypi/recipes-core/psplash/files
meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend
meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h
meta-raspberrypi/recipes-devtools
meta-raspberrypi/recipes-devtools/bcm2835
meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.46.bb
meta-raspberrypi/recipes-devtools/pi-blaster
meta-raspberrypi/recipes-devtools/pi-blaster/files
meta-raspberrypi/recipes-devtools/pi-blaster/*.patch
meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster.inc
meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
meta-raspberrypi/recipes-devtools/python
meta-raspberrypi/recipes-devtools/python/python-rtimu
meta-raspberrypi/recipes-devtools/python/python-rtimu/*.patch
meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb
meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.1.0.bb
meta-raspberrypi/recipes-devtools/python/rpi-gpio
meta-raspberrypi/recipes-devtools/python/rpi-gpio/*.patch
meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.1.bb
meta-raspberrypi/recipes-devtools/python/rpio
meta-raspberrypi/recipes-devtools/python/rpio/*.patch
meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
meta-raspberrypi/recipes-devtools/wiringPi
meta-raspberrypi/recipes-devtools/wiringPi/files
meta-raspberrypi/recipes-devtools/wiringPi/files/*.patch
meta-raspberrypi/recipes-devtools/wiringPi/wiringpi
meta-raspberrypi/recipes-devtools/wiringPi/wiringpi/*.patch
meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb
meta-raspberrypi/recipes-graphics
meta-raspberrypi/recipes-graphics/eglinfo
meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
meta-raspberrypi/recipes-graphics/userland
meta-raspberrypi/recipes-graphics/userland/userland
meta-raspberrypi/recipes-graphics/userland/userland/*.patch
meta-raspberrypi/recipes-graphics/userland/userland_git.bb
meta-raspberrypi/recipes-graphics/vc-graphics
meta-raspberrypi/recipes-graphics/vc-graphics/files
meta-raspberrypi/recipes-graphics/vc-graphics/files/egl.pc
meta-raspberrypi/recipes-graphics/vc-graphics/files/vchiq.sh
meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics-hardfp.bb
meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.bb
meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
meta-raspberrypi/recipes-graphics/wayland
meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend
meta-raspberrypi/recipes-graphics/weston
meta-raspberrypi/recipes-graphics/weston/weston_%.bbappend
meta-raspberrypi/recipes-graphics/xorg-xserver
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-evdev.conf
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-pitft.conf
meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
meta-raspberrypi/recipes-kernel
meta-raspberrypi/recipes-kernel/linux-firmware
meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware
meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware/LICENSE.broadcom_brcm80211
meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware/brcmfmac43430-sdio.bin
meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware/brcmfmac43430-sdio.txt
meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_git.bbappend
meta-raspberrypi/recipes-kernel/linux
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.14
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.14/*.patch
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.18
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-3.18/*.patch
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-4.1/*.patch
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/defconfig
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.14.bb
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.18.bb
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.1.bb
meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.4.bb
meta-raspberrypi/recipes-kernel/linux/linux.inc
meta-raspberrypi/recipes-multimedia
meta-raspberrypi/recipes-multimedia/gstreamer
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx/*.patch
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
meta-raspberrypi/recipes-multimedia/omxplayer
meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer
meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/*.patch
meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
meta-raspberrypi/scripts
meta-raspberrypi/scripts/lib
meta-raspberrypi/scripts/lib/image
meta-raspberrypi/scripts/lib/image/canned-wks
meta-raspberrypi/scripts/lib/image/canned-wks/sdimage-raspberrypi.wks
</literallayout>
</para>
@ -241,7 +364,7 @@
<para>
These optional files satisfy licensing requirements for the BSP.
The type or types of files here can vary depending on the licensing requirements.
For example, in the eMenlow BSP all licensing requirements are handled with the
For example, in the Raspberry Pi BSP all licensing requirements are handled with the
<filename>COPYING.MIT</filename> file.
</para>
@ -363,7 +486,7 @@
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "<replaceable>bsp</replaceable>"
BBFILE_PATTERN_<replaceable>bsp</replaceable> = "^${LAYERDIR}/"
@ -375,20 +498,21 @@
<para>
To illustrate the string substitutions, here are the corresponding statements
from the eEmenlow <filename>conf/layer.conf</filename> file:
from the Raspberry Pi <filename>conf/layer.conf</filename> file:
<literallayout class='monospaced'>
# We have a conf and classes directory, add to BBPATH
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
# We have a recipes directory containing .bb and .bbappend files, add to BBFILES
BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "emenlow"
BBFILE_PATTERN_emenlow := "^${LAYERDIR}/"
BBFILE_PRIORITY_emenlow = "6"
BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "9"
LAYERDEPENDS_emenlow = "intel"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
</literallayout>
</para>
@ -450,13 +574,11 @@
<para>
To use an include file, you simply include them in the
machine configuration file.
For example, the eEmenlow BSP
<filename>emenlow-noemgd.conf</filename> contains the
following statements:
For example, the Raspberry Pi BSP
<filename>raspberrypi3.conf</filename> contains the
following statement:
<literallayout class='monospaced'>
require conf/machine/include/intel-core2-32-common.inc
require conf/machine/include/intel-common-pkgarch.inc
require conf/machine/include/meta-intel.inc
include conf/machine/raspberrypi2.conf
</literallayout>
</para>
</section>
@ -474,20 +596,22 @@
This optional directory contains miscellaneous recipe files for
the BSP.
Most notably would be the formfactor files.
For example, in the eMenlow BSP there is the
For example, in the Raspberry Pi BSP there is the
<filename>formfactor_0.0.bbappend</filename> file, which is an
append file used to augment the recipe that starts the build.
Furthermore, there are machine-specific settings used during
the build that are defined by the
<filename>machconfig</filename> file further down in the
directory.
In the eMenlow example, the <filename>machconfig</filename>
file supports the Video Electronics Standards Association
(VESA) graphics driver:
Here is the <filename>machconfig</filename>
file for the Raspberry Pi BSP:
<literallayout class='monospaced'>
# Assume a USB mouse and keyboard are connected
HAVE_TOUCHSCREEN=0
HAVE_KEYBOARD=1
DISPLAY_CAN_ROTATE=0
DISPLAY_ORIENTATION=0
DISPLAY_DPI=133
</literallayout>
</para>
@ -515,18 +639,6 @@
special requirements for graphics support.
All files that are needed for the BSP to support a display are
kept here.
For example, the <filename>meta-emenlow</filename> layer,
which supports the eMenlow platform consisting of the
<trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark>
Z5xx processor with the
<trademark class='registered'>Intel</trademark>
System Controller Hub US15W, uses these files for supporting
the Video Electronics Standards Association (VESA) graphics:
<literallayout class='monospaced'>
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
</literallayout>
</para>
</section>
@ -551,47 +663,63 @@
the <filename>meta-<replaceable>bsp_name</replaceable>/recipes-kernel/linux</filename> directory).
</para>
<para>
Suppose you are using the <filename>linux-yocto_3.14.bb</filename> recipe to build
Suppose you are using the <filename>linux-yocto_4.4.bb</filename> recipe to build
the kernel.
In other words, you have selected the kernel in your
<replaceable>bsp_name</replaceable><filename>.conf</filename> file by adding these types
of statements:
<literallayout class='monospaced'>
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "3.14%"
PREFERRED_VERSION_linux-yocto ?= "4.4%"
</literallayout>
<note>
When the preferred provider is assumed by default, the
<filename>PREFERRED_PROVIDER</filename> statement does not appear in the
<replaceable>bsp_name</replaceable><filename>.conf</filename> file.
</note>
You would use the <filename>linux-yocto_3.14.bbappend</filename> file to append
specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
You would use the <filename>linux-yocto_4.4.bbappend</filename>
file to append specific BSP settings to the kernel, thus
configuring the kernel for your particular BSP.
</para>
<para>
As an example, look at the existing eMenlow BSP.
The append file used is:
As an example, consider the following append file
used by the BSPs in <filename>meta-yocto-bsp</filename>:
<literallayout class='monospaced'>
meta-emenlow/recipes-kernel/linux/linux-yocto_3.14.bbappend
meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.4.bbappend
</literallayout>
The following listing shows the file.
Be aware that the actual commit ID strings in this example listing might be different
than the actual strings in the file from the <filename>meta-intel</filename>
Git source repository.
Be aware that the actual commit ID strings in this
example listing might be different than the actual strings
in the file from the <filename>meta-yocto-bsp</filename>
layer upstream.
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
KBRANCH_genericx86 = "standard/base"
KBRANCH_genericx86-64 = "standard/base"
COMPATIBLE_MACHINE_emenlow-noemgd = "emenlow-noemgd"
KMACHINE_emenlow-noemgd = "emenlow"
KBRANCH_emenlow-noemgd = "standard/base"
KERNEL_FEATURES_append_emenlow-noemgd = " features/drm-gma500/drm-gma500.scc"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KBRANCH_edgerouter = "standard/edgerouter"
KBRANCH_beaglebone = "standard/beaglebone"
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
LINUX_VERSION_emenlow-noemgd = "3.14.19"
SRCREV_machine_emenlow-noemgd = "902f34d36102a4b2008b776ecae686f80d307e12"
SRCREV_meta_emenlow-noemgd = "28e39741b8b3018334021d981369d3fd61f18f5b"
SRCREV_machine_genericx86 ?= "ff4c4ef15b51f45b9106d71bf1f62fe7c02e63c2"
SRCREV_machine_genericx86-64 ?= "ff4c4ef15b51f45b9106d71bf1f62fe7c02e63c2"
SRCREV_machine_edgerouter ?= "ff4c4ef15b51f45b9106d71bf1f62fe7c02e63c2"
SRCREV_machine_beaglebone ?= "ff4c4ef15b51f45b9106d71bf1f62fe7c02e63c2"
SRCREV_machine_mpc8315e-rdb ?= "df00877ef9387b38b9601c82db57de2a1b23ce53"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone = "beaglebone"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
LINUX_VERSION_genericx86 = "4.4.3"
LINUX_VERSION_genericx86-64 = "4.4.3"
</literallayout>
This append file contains statements used to support the
eMenlow BSP.
This append file contains statements used to support
several BSPs that ship with the Yocto Project.
The file defines machines using the
<ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>
variable and uses the
@ -602,25 +730,31 @@
The file also uses the optional
<ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink>
variable to ensure the build process uses the
<filename>standard/emenlow</filename> kernel branch.
The
appropriate kernel branch.
</para>
<para>
Although this particular example does not use it, the
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink>
variable enables features specific to the kernel
(e.g. Intel GMA-500 DRM Driver in this case).
variable could be used to enable features specific to
the kernel.
The append file points to specific commits in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
Git repository and the <filename>meta</filename> Git repository
branches to identify the exact kernel needed to build the
eMenlow BSP.
BSP.
</para>
<para>
One thing missing in this particular BSP, which you will typically need when
developing a BSP, is the kernel configuration file (<filename>.config</filename>) for your BSP.
When developing a BSP, you probably have a kernel configuration file or a set of kernel
configuration files that, when taken together, define the kernel configuration for your BSP.
You can accomplish this definition by putting the configurations in a file or a set of files
inside a directory located at the same level as your kernel's append file and having the same
One thing missing in this particular BSP, which you will
typically need when developing a BSP, is the kernel configuration
file (<filename>.config</filename>) for your BSP.
When developing a BSP, you probably have a kernel configuration
file or a set of kernel configuration files that, when taken
together, define the kernel configuration for your BSP.
You can accomplish this definition by putting the configurations
in a file or a set of files inside a directory located at the
same level as your kernel's append file and having the same
name as the kernel's main recipe file.
With all these conditions met, simply reference those files in the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
@ -628,37 +762,42 @@
</para>
<para>
For example, suppose you had some configuration options in a file called
<filename>network_configs.cfg</filename>.
You can place that file inside a directory named <filename>linux-yocto</filename> and then add
a <filename>SRC_URI</filename> statement such as the following to the append file.
When the OpenEmbedded build system builds the kernel, the configuration options are
picked up and applied.
For example, suppose you had some configuration options
in a file called <filename>network_configs.cfg</filename>.
You can place that file inside a directory named
<filename>linux-yocto</filename> and then add
a <filename>SRC_URI</filename> statement such as the
following to the append file.
When the OpenEmbedded build system builds the kernel, the
configuration options are picked up and applied.
<literallayout class='monospaced'>
SRC_URI += "file://network_configs.cfg"
</literallayout>
</para>
<para>
To group related configurations into multiple files, you perform a similar procedure.
Here is an example that groups separate configurations specifically for Ethernet and graphics
into their own files and adds the configurations
by using a <filename>SRC_URI</filename> statement like the following in your append file:
To group related configurations into multiple files, you
perform a similar procedure.
Here is an example that groups separate configurations
specifically for Ethernet and graphics into their own
files and adds the configurations by using a
<filename>SRC_URI</filename> statement like the following
in your append file:
<literallayout class='monospaced'>
SRC_URI += "file://myconfig.cfg \
file://eth.cfg \
file://gfx.cfg"
file://eth.cfg \
file://gfx.cfg"
</literallayout>
</para>
<para>
The <ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
variable is in boilerplate form in the
previous example in order to make it easy to do that.
This variable must be in your layer or BitBake will not find the patches or
configurations even if you have them in your <filename>SRC_URI</filename>.
The <filename>FILESEXTRAPATHS</filename> variable enables the build process to
find those configuration files.
Another variable you can use in your kernel recipe append
file is the
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
variable.
When you use this statement, you are extending the locations
used by the OpenEmbedded system to look for files and
patches as the recipe is processed.
</para>
<note>
@ -711,7 +850,7 @@
"<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding
and Creating Layers"</ulink> in the Yocto Project Development Manual.</para></listitem>
<listitem><para>The requirements in this section apply regardless of how you
ultimately package a BSP.
package a BSP.
You should consult the packaging and distribution guidelines for your
specific release process.
For an example of packaging and distribution requirements, see the
@ -731,7 +870,7 @@
</para>
<para>
Following are the requirements for a released BSP that conforms to the
Following are the requirements for a released BSP that conform to the
Yocto Project:
<itemizedlist>
<listitem><para><emphasis>Layer Name:</emphasis>
@ -777,15 +916,16 @@
You must specify which license to use since there is no
default license if one is not specified.
See the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fri2/COPYING.MIT'><filename>COPYING.MIT</filename></ulink>
file for the Fish River Island 2 BSP in the <filename>meta-fri2</filename> BSP layer
as an example.</para></listitem>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-raspberrypi/tree/COPYING.MIT'><filename>COPYING.MIT</filename></ulink>
file for the Raspberry Pi BSP in the
<filename>meta-raspberrypi</filename> BSP layer as an example.
</para></listitem>
<listitem><para><emphasis>README File:</emphasis>
You must include a <filename>README</filename> file in the
<filename>meta-<replaceable>bsp_name</replaceable></filename> directory.
See the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fri2/README'><filename>README</filename></ulink>
file for the Fish River Island 2 BSP in the <filename>meta-fri2</filename> BSP layer
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-raspberrypi/tree/README'><filename>README</filename></ulink>
file for the Raspberry Pi BSP in the <filename>meta-raspberrypi</filename> BSP layer
as an example.</para>
<para>At a minimum, the <filename>README</filename> file should
contain the following:
@ -828,10 +968,7 @@
This file specifies exactly where you can find the sources used to
generate the binary images contained in the
<filename>binary</filename> directory, if present.
See the
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/meta-intel/tree/meta-fri2/README.sources'><filename>README.sources</filename></ulink>
file for the Fish River Island 2 BSP in the <filename>meta-fri2</filename> BSP layer
as an example.</para></listitem>
</para></listitem>
<listitem><para><emphasis>Layer Configuration File:</emphasis>
You must include a <filename>conf/layer.conf</filename> in the
<filename>meta-<replaceable>bsp_name</replaceable></filename> directory.
@ -1175,13 +1312,14 @@
for that sub-command:
<literallayout class='monospaced'>
$ yocto-bsp create
ERROR:root:Wrong number of arguments, exiting
Usage:
Create a new Yocto BSP
usage: yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
[-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;]
[-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;]
This command creates a Yocto BSP based on the specified parameters.
The new BSP will be a new Yocto BSP layer contained by default within
@ -1189,6 +1327,12 @@
can be used to place the BSP layer in a directory with a different
name and location.
The value of the 'karch' parameter determines the set of files that
will be generated for the BSP, along with the specific set of
'properties' that will be used to fill out the BSP-specific portions
of the BSP. The possible values for the 'karch' parameter can be
listed via 'yocto-bsp list karch'.
...
</literallayout>
</para>
@ -1203,7 +1347,7 @@
yocto-bsp create - Create a new Yocto BSP
SYNOPSIS
yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
yocto-bsp create &lt;bsp-name> &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
[-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;]
DESCRIPTION
@ -1213,12 +1357,6 @@
'meta-bsp-name'. The -o option can be used to place the BSP layer
in a directory with a different name and location.
The value of the 'karch' parameter determines the set of files
that will be generated for the BSP, along with the specific set of
'properties' that will be used to fill out the BSP-specific
portions of the BSP. The possible values for the 'karch' parameter
can be listed via 'yocto-bsp list karch'.
...
</literallayout>
</para>
@ -1280,13 +1418,13 @@
<literallayout class='monospaced'>
$ yocto-bsp list karch
Architectures available:
qemu
mips64
powerpc
x86_64
arm
mips
i386
arm
qemu
mips
mips64
</literallayout>
</para>
@ -1320,35 +1458,34 @@
$ yocto-bsp create myarm qemu
Checking basic git connectivity...
Done.
Which qemu architecture would you like to use? [default: i386]
1) i386 (32-bit)
2) x86_64 (64-bit)
3) ARM (32-bit)
4) PowerPC (32-bit)
5) MIPS (32-bit)
6) MIPS64 (64-bit)
1) i386 (32-bit)
2) x86_64 (64-bit)
3) ARM (32-bit)
4) PowerPC (32-bit)
5) MIPS (32-bit)
6) MIPS64 (64-bit)
3
Would you like to use the default (3.19) kernel? (y/n) [default: y] y
Would you like to use the default (4.4) kernel? (y/n) [default: y]
Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y]
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.19.git...
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-4.4.git...
Please choose a machine branch to base your new BSP branch on: [default: standard/base]
1) standard/arm-versatile-926ejs
2) standard/base
3) standard/beagleboard
4) standard/beaglebone
5) standard/ck
6) standard/common-pc
7) standard/crownbay
8) standard/edgerouter
9) standard/fsl-mpc8315e-rdb
10) standard/mti-malta32
11) standard/mti-malta64
12) standard/qemuarm64
13) standard/qemuppc
1) standard/arm-versatile-926ejs
2) standard/base
3) standard/beaglebone
4) standard/edgerouter
5) standard/fsl-mpc8315e-rdb
6) standard/mti-malta32
7) standard/mti-malta64
8) standard/preempt-rt
9) standard/qemuarm64
10) standard/qemuppc
1
Would you like SMP support? (y/n) [default: y]
Does your BSP have a touchscreen? (y/n) [default: n]
Does your BSP have a keyboard? (y/n) [default: y]
New qemu BSP created in meta-myarm
</literallayout>
Take a closer look at the example now:
@ -1358,7 +1495,7 @@
In the example, we use the ARM architecture.
</para></listitem>
<listitem><para>The script then prompts you for the kernel.
The default 3.19 kernel is acceptable.
The default 4.4 kernel is acceptable.
So, the example accepts the default.
If you enter 'n', the script prompts you to further enter the kernel
you do want to use.</para></listitem>
@ -1433,8 +1570,11 @@
<literallayout class='monospaced'>
$ yocto-kernel --help
Usage:
Modify and list Yocto BSP kernel config items and patches.
usage: yocto-kernel [--version] [--help] COMMAND [ARGS]
Current 'yocto-kernel' commands are:
config list List the modifiable set of bare kernel config options for a BSP
config add Add or modify bare kernel config options for a BSP
@ -1449,7 +1589,11 @@
feature describe Describe a particular feature
feature create Create a new BSP-local feature
feature destroy Remove a BSP-local feature
See 'yocto-kernel help COMMAND' for more information on a specific command.
Options:
--version show program's version number and exit
-h, --help show this help message and exit

View File

@ -2,8 +2,8 @@
<!ENTITY DISTRO_COMPRESSED "21">
<!ENTITY DISTRO_NAME "tbd">
<!ENTITY YOCTO_DOC_VERSION "2.1">
<!ENTITY POKYVERSION "15.0.1">
<!ENTITY POKYVERSION_COMPRESSED "1501">
<!ENTITY POKYVERSION "15.0.0">
<!ENTITY POKYVERSION_COMPRESSED "1500">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2016">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">