documentation/dev-manual: Converted to use poky.ent

I converted the hard links to use the variables as established
in the file poky.ent.

Also, Cleaned up some bad text in the term "Yocto Project Files."
Looks like a cut-and-paste problem.

(From yocto-docs rev: e2e20bf4895d80dae73595e93132f37fb31121d1)

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 2012-03-09 13:40:39 -06:00 committed by Richard Purdie
parent e9c32b6a85
commit aa3a201629
8 changed files with 280 additions and 273 deletions

View File

@ -1,5 +1,6 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='dev-manual-bsp-appendix'>
@ -45,10 +46,10 @@
Alternatively, you can start with the downloaded Poky "edison" tarball.
These commands unpack the tarball into a Yocto Project File directory structure.
By default, the top-level directory of the file structure is named
<filename>poky-edison-6.0</filename>:
<filename>poky-&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2
$ cd poky-edison-6.0
$ tar xfj &YOCTO_POKY_TARBALL;
$ cd &YOCTO_POKY;
</literallayout>
<note><para>If you're using the tarball method, you can ignore all the following steps that
ask you to carry out Git operations.
@ -85,24 +86,24 @@
$ git branch -a
$ git tag -l
</literallayout>
For this example, we are going to use the Yocto Project 1.1 Release, which is code
named "edison".
For this example, we are going to use the Yocto Project &DISTRO; Release, which is code
named "&DISTRO_NAME;".
To make sure we have a local area (branch in Git terms) on our machine that
reflects the 1.1 release, we can use the following commands:
reflects the &DISTRO; release, we can use the following commands:
<literallayout class='monospaced'>
$ cd ~/poky
$ git fetch --tags
$ git checkout edison-6.0 -b edison
Switched to a new branch 'edison'
$ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
The <filename>git fetch --tags</filename> is somewhat redundant since you just set
up the repository and should have all the tags.
The <filename>fetch</filename> command makes sure all the tags are available in your
local repository.
The Git <filename>checkout</filename> command with the <filename>-b</filename> option
creates a local branch for you named <filename>edison</filename>.
Your local branch begins in the same state as the Yocto Project 1.1 released tarball
marked with the <filename>edison-6.0</filename> tag in the source repositories.
creates a local branch for you named <filename>&DISTRO_NAME;</filename>.
Your local branch begins in the same state as the Yocto Project &DISTRO; released tarball
marked with the <filename>&DISTRO_NAME;-&POKYVERSION;</filename> tag in the source repositories.
</para>
</section>
@ -160,14 +161,14 @@
</literallayout>
Alternatively, you can start with the downloaded Crown Bay tarball.
You can download the edison version of the BSP tarball from the
<ulink url='http://www.yoctoproject.org/download'>Download</ulink> page of the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page of the
Yocto Project website.
Here is the specific link for the tarball needed for this example:
<ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/machines/crownbay-noemgd/crownbay-noemgd-edison-6.0.0.tar.bz2'></ulink>.
<ulink url='&YOCTO_MACHINES_DL_URL;/crownbay-noemgd/crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2'></ulink>.
Again, be sure that you are already in the <filename>poky</filename> directory
as described previously before installing the tarball:
<literallayout class='monospaced'>
$ tar xfj crownbay-noemgd-edison-6.0.0.tar.bz2
$ tar xfj crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2
$ cd meta-intel
</literallayout>
</para>
@ -181,10 +182,10 @@
skip to the next step.
Because <filename>meta-intel</filename> is its own Git repository, you will want
to be sure you are in the appropriate branch for your work.
For this example we are going to use the <filename>edison</filename> branch.
For this example we are going to use the <filename>&DISTRO_NAME;</filename> branch.
<literallayout class='monospaced'>
$ git checkout -b edison origin/edison
Switched to a new branch 'edison'
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
@ -271,7 +272,7 @@
<filename>meta-mymachine/conf/layer.conf</filename>.
This file identifies build information needed for the new layer.
You can see the
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-filelayout-layer'>Layer Configuration File</ulink>" section
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-layer'>Layer Configuration File</ulink>" section
in The Board Support Packages (BSP) Development Guide for more information on this configuration file.
Basically, we are changing the existing statements to work with our BSP.
</para>
@ -483,7 +484,7 @@
the <filename>SRCREV</filename> statements.
You can find all the <filename>machine</filename> and <filename>meta</filename>
branch points (commits) for the <filename>linux-yocto-3.0</filename> kernel at
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.0'></ulink>.
</para>
<para>
@ -610,7 +611,7 @@
<para>
The appendix
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-variables-glos'>
<ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glos'>
Reference: Variables Glossary</ulink> in the Yocto Project Reference Manual has more information
on configuration variables.
</para>

View File

@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='extendpoky'>
@ -60,8 +61,8 @@
and then explore that folder, you will discover many BSP layers within the
<filename>meta-intel</filename> layer.
For more information on BSP layers, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Development Manual.
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
</para>
</section>
@ -76,7 +77,7 @@
you should be sure someone has not already created a layer containing the metadata
you need.
You can see the
<ulink url='http://www.openembedded.org/wiki/LayerIndex'><filename>LayerIndex</filename></ulink>
<ulink url='&OE_HOME_URL;/wiki/LayerIndex'><filename>LayerIndex</filename></ulink>
for a list of layers from the OpenEmbedded community that can be used in the
Yocto Project.</para></listitem>
<listitem><para><emphasis>Create a Directory:</emphasis> Create the directory
@ -108,24 +109,24 @@
BBFILE_PRIORITY_yocto = "5"
</literallayout></para>
<para>In the previous example, the recipes for the layers are added to
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BBFILES'>BBFILES</ulink></filename>.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILES'>BBFILES</ulink></filename>.
The
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_COLLECTIONS'>BBFILE_COLLECTIONS</ulink></filename>
variable is then appended with the layer name.
The
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BBFILE_PATTERN'>BBFILE_PATTERN</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_PATTERN'>BBFILE_PATTERN</ulink></filename>
variable is set to a regular expression and is used to match files
from <filename>BBFILES</filename> into a particular layer.
In this case, immediate expansion of
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-LAYERDIR'>LAYERDIR</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LAYERDIR'>LAYERDIR</ulink></filename>
sets <filename>BBFILES_PATTERN</filename> to the layer's path.
The
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BBFILE_PRIORITY'>BBFILE_PRIORITY</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_PRIORITY'>BBFILE_PRIORITY</ulink></filename>
variable then assigns a priority to the layer.
Applying priorities is useful in situations where the same package might appear in multiple
layers and allows you to choose what layer should take precedence.</para>
<para>Note the use of the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-LAYERDIR'>LAYERDIR</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LAYERDIR'>LAYERDIR</ulink></filename>
variable with the immediate expansion operator.
The <filename>LAYERDIR</filename> variable expands to the directory of the current layer and
requires the immediate expansion operator so that BitBake does not wait to expand the variable
@ -199,7 +200,7 @@
<para>
Before the Yocto Project build system can use your new layer, you need to enable it.
To enable your layer, simply add your layer's path to the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BBLAYERS'>BBLAYERS</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'>BBLAYERS</ulink></filename>
variable in your <filename>conf/bblayers.conf</filename> file, which is found in the
<link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>.
The following example shows how to enable a layer named <filename>meta-mylayer</filename>:
@ -290,12 +291,12 @@
PRINC = "1"
</literallayout>
This example adds or overrides files in
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'><filename>SRC_URI</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
within a bbappend by extending the path BitBake uses to search for files.
The most reliable way to do this is by prepending the
<filename>FILESEXTRAPATHS</filename> variable.
For example, if you have your files in a directory that is named the same as your package
(<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PN'><filename>PN</filename></ulink>),
(<ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>),
you can add this directory by adding the following to your bbappend file:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@ -328,7 +329,7 @@
<para>
To specify the layer's priority manually, use the
<ulink url='http://yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BBFILE_PRIORITY'><filename>BBFILE_PRIORITY</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-BBFILE_PRIORITY'><filename>BBFILE_PRIORITY</filename></ulink>
variable.
For example:
<literallayout class='monospaced'>
@ -338,7 +339,7 @@
<note>
<para>It is possible for a recipe with a lower version number
<ulink url='http://yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PV'><filename>PV</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>
in a layer that has a higher priority to take precedence.</para>
<para>Also, the layer priority does not currently affect the precedence order of
<filename>.conf</filename> or <filename>.bbclass</filename> files.
@ -409,7 +410,8 @@
variables.
For information on variables that are useful for recipes and for information about recipe naming
issues, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-varlocality-recipe-required'>Required</ulink>" section of the Yocto Project Reference Manual.
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-varlocality-recipe-required'>Required</ulink>"
section of the Yocto Project Reference Manual.
</para>
<para>
@ -434,12 +436,14 @@
Building an application from a single file that is stored locally (e.g. under
<filename>files/</filename>) requires a recipe that has the file listed in
the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename> variable.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename>
variable.
Additionally, you need to manually write the <filename>do_compile</filename> and
<filename>do_install</filename> tasks.
The <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'>S</ulink></filename> variable defines the
The <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink></filename>
variable defines the
directory containing the source code, which is set to
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-WORKDIR'>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'>
WORKDIR</ulink></filename> in this case - the directory BitBake uses for the build.
<literallayout class='monospaced'>
DESCRIPTION = "Simple helloworld application"
@ -477,7 +481,7 @@
<para>
Applications that use Autotools such as <filename>autoconf</filename> and
<filename>automake</filename> require a recipe that has a source archive listed in
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename> and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename> and
also inherits Autotools, which instructs BitBake to use the
<filename>autotools.bbclass</filename> file, which contains the definitions of all the steps
needed to build an Autotool-based application.
@ -500,9 +504,9 @@
<para>
The variable
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-LIC_FILES_CHKSUM'>LIC_FILES_CHKSUM</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM'>LIC_FILES_CHKSUM</ulink></filename>
is used to track source license changes as described in the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#usingpoky-configuring-LIC_FILES_CHKSUM'>Track License Change</ulink>" section.
"<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-configuring-LIC_FILES_CHKSUM'>Track License Change</ulink>" section.
You can quickly create Autotool-based recipes in a manner similar to the previous example.
</para>
</section>
@ -512,11 +516,13 @@
<para>
Applications that use GNU <filename>make</filename> also require a recipe that has
the source archive listed in <filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename>.
the source archive listed in
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename>.
You do not need to add a <filename>do_compile</filename> step since by default BitBake
starts the <filename>make</filename> command to compile the application.
If you need additional <filename>make</filename> options you should store them in the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-EXTRA_OEMAKE'>EXTRA_OEMAKE</ulink></filename> variable.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_OEMAKE'>EXTRA_OEMAKE</ulink></filename>
variable.
BitBake passes these options into the <filename>make</filename> GNU invocation.
Note that a <filename>do_install</filename> task is still required.
Otherwise BitBake runs an empty <filename>do_install</filename> task by default.
@ -526,7 +532,7 @@
Some applications might require extra parameters to be passed to the compiler.
For example, the application might need an additional header path.
You can accomplish this by adding to the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-CFLAGS'>CFLAGS</ulink></filename> variable.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-CFLAGS'>CFLAGS</ulink></filename> variable.
The following example shows this:
<literallayout class='monospaced'>
CFLAGS_prepend = "-I ${S}/include "
@ -568,9 +574,9 @@
<para>
You can use the variables
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PACKAGES'>PACKAGES</ulink></filename> and
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-FILES'>FILES</ulink></filename> to split an application into
multiple packages.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'>PACKAGES</ulink></filename> and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-FILES'>FILES</ulink></filename>
to split an application into multiple packages.
</para>
<para>
@ -600,17 +606,17 @@
In the previous example, we want to ship the <filename>sxpm</filename>
and <filename>cxpm</filename> binaries in separate packages.
Since <filename>bindir</filename> would be packaged into the main
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PN'>PN</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'>PN</ulink></filename>
package by default, we prepend the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PACKAGES'>PACKAGES</ulink>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'>PACKAGES</ulink>
</filename> variable so additional package names are added to the start of list.
This results in the extra
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-FILES'>FILES</ulink></filename>_*
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-FILES'>FILES</ulink>_*</filename>
variables then containing information that define which files and
directories go into which packages.
Files included by earlier packages are skipped by latter packages.
Thus, the main
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PN'>PN</ulink></filename> package
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'>PN</ulink></filename> package
does not include the above listed files.
</para>
</section>
@ -677,7 +683,7 @@
<filename>PACKAGENAME</filename> as the name of the package you want to attach to the
<filename>postinst</filename> script.
Normally
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PN'>PN</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'>PN</ulink></filename>
can be used, which automatically expands to PACKAGENAME.
A post-installation function has the following structure:
<literallayout class='monospaced'>
@ -716,7 +722,7 @@
<para>
The previous example delays execution until the image boots again because the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-D'>D</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-D'>D</ulink></filename>
variable points
to the directory containing the image when the root filesystem is created at build time but
is unset when executed on the first boot.
@ -749,7 +755,8 @@
By creating a custom image, a developer has total control
over the contents of the image.
It is important to use the correct names of packages in the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename> variable.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>
variable.
You must use the OpenEmbedded notation and not the Debian notation for the names
(e.g. <filename>eglibc-dev</filename> instead of <filename>libc6-dev</filename>).
</para>
@ -775,13 +782,13 @@
A good example of a tasks package is
<filename>meta/recipes-sato/tasks/task-poky.bb</filename>.
The
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PACKAGES'>PACKAGES</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'>PACKAGES</ulink></filename>
variable lists the task packages to build along with the complementary
<filename>-dbg</filename> and <filename>-dev</filename> packages.
For each package added, you can use
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-RDEPENDS'>RDEPENDS</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RDEPENDS'>RDEPENDS</ulink></filename>
and
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-RRECOMMENDS'>RRECOMMENDS</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'>RRECOMMENDS</ulink></filename>
entries to provide a list of packages the parent task package should contain.
Following is an example:
<literallayout class='monospaced'>
@ -819,7 +826,7 @@
To build an image using these task packages, you need to add
<filename>task-custom-apps</filename> and/or
<filename>task-custom-tools</filename> to
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>.
For other forms of image dependencies see the other areas of this section.
</para>
</section>
@ -831,7 +838,7 @@
<para>
Ultimately users might want to add extra image features to the set used by
Yocto Project with the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename>
variable.
To create these features, the best reference is
<filename>meta/classes/core-image.bbclass</filename>, which shows how the
@ -840,12 +847,12 @@
<filename>IMAGE_FEATURES</filename>
variable and then maps that into a set of tasks or packages.
Based on this information the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-IMAGE_INSTALL'> IMAGE_INSTALL</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'> IMAGE_INSTALL</ulink></filename>
variable is generated automatically.
Users can add extra features by extending the class or creating a custom class for use
with specialized image <filename>.bb</filename> files.
You can also add more features by configuring the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename>
variable in the <filename>local.conf</filename> file found in the Yocto Project
files located in the build directory.
</para>
@ -882,7 +889,7 @@
<para>
The simplest way to add extra packages to all images is by using the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>
variable with the <filename>_append</filename> operator:
<literallayout class='monospaced'>
IMAGE_INSTALL_append = " strace"
@ -917,7 +924,7 @@
<para>
You can add packages using a similar approach through the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-POKY_EXTRA_INSTALL'>POKY_EXTRA_INSTALL</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-POKY_EXTRA_INSTALL'>POKY_EXTRA_INSTALL</ulink></filename>
variable.
If you use this variable, only <filename>core-image-*</filename> images are affected.
</para>
@ -930,7 +937,7 @@
It is possible to filter or mask out recipe and recipe append files such that
BitBake ignores them.
You can do this by providing an expression with the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BBMASK'>BBMASK</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBMASK'>BBMASK</ulink></filename>
variable.
Here is an example:
<literallayout class='monospaced'>
@ -1006,7 +1013,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
For a complete example that shows how to add a new machine to the Yocto Project,
see the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#dev-manual-bsp-appendix'>BSP Development Example</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development Example</ulink>"
in Appendix A.
</para>
@ -1022,11 +1029,11 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
The most important variables to set in this file are as follows:
<itemizedlist>
<listitem><para><filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-TARGET_ARCH'>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-TARGET_ARCH'>
TARGET_ARCH</ulink></filename> (e.g. "arm")</para></listitem>
<listitem><para><filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PREFERRED_PROVIDER'>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PREFERRED_PROVIDER'>
PREFERRED_PROVIDER</ulink></filename>_virtual/kernel (see below)</para></listitem>
<listitem><para><filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-MACHINE_FEATURES'>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_FEATURES'>
MACHINE_FEATURES</ulink></filename> (e.g. "kernel26 apm screen wifi")</para></listitem>
</itemizedlist>
</para>
@ -1034,11 +1041,11 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
You might also need these variables:
<itemizedlist>
<listitem><para><filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SERIAL_CONSOLE'>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SERIAL_CONSOLE'>
SERIAL_CONSOLE</ulink></filename> (e.g. "115200 ttyS0")</para></listitem>
<listitem><para><filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-KERNEL_IMAGETYPE'>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_IMAGETYPE'>
KERNEL_IMAGETYPE</ulink></filename> (e.g. "zImage")</para></listitem>
<listitem><para><filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-IMAGE_FSTYPES'>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FSTYPES'>
IMAGE_FSTYPES</ulink></filename> (e.g. "tar.gz jffs2")</para></listitem>
</itemizedlist>
</para>
@ -1065,9 +1072,9 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
If you are creating a new recipe, normal recipe-writing rules apply for setting
up a
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename>.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename>.
Thus, you need to specify any necessary patches and set
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'>S</ulink></filename> to point at the source code.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink></filename> to point at the source code.
You need to create a <filename>configure</filename> task that configures the
unpacked kernel with a defconfig.
You can do this by using a <filename>make defconfig</filename> command or,
@ -1085,7 +1092,7 @@ so that there are some definite steps on how to do this. I need more detail her
used for other machines in a given kernel.
A possible way to do this is by listing the file in the
<filename>SRC_URI</filename> and adding the machine to the expression in
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-COMPATIBLE_MACHINE'>COMPATIBLE_MACHINE</ulink></filename>:
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'>COMPATIBLE_MACHINE</ulink></filename>:
<literallayout class='monospaced'>
COMPATIBLE_MACHINE = '(qemux86|qemumips)'
</literallayout>
@ -1159,7 +1166,7 @@ so that there are some definite steps on how to do this. I need more detail her
During a build, the unpacked temporary source code used by recipes
to build packages is available in the Yocto Project Build Directory as
defined by the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'>S</ulink></filename> variable.
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink></filename> variable.
Below is the default value for the <filename>S</filename> variable as defined in the
<filename>meta/conf/bitbake.conf</filename> configuration file in the
<link linkend='yocto-project-files'>Yocto Project Files</link>:
@ -1180,7 +1187,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
The path to the work directory for the recipe
(<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-WORKDIR'><filename>WORKDIR</filename></ulink>) depends
(<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>) depends
on the package name and the architecture of the target device.
For example, here is the work directory for packages whose targets are not device-dependent:
<literallayout class='monospaced'>
@ -1212,15 +1219,15 @@ so that there are some definite steps on how to do this. I need more detail her
<note>
To better understand how the Yocto Project build system resolves directories during the
build process, see the glossary entries for the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-WORKDIR'><filename>WORKDIR</filename></ulink>,
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-TMPDIR'><filename>TMPDIR</filename></ulink>,
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-TOPDIR'><filename>TOPDIR</filename></ulink>,
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></ulink>,
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-TARGET_OS'><filename>TARGET_OS</filename></ulink>,
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PN'><filename>PN</filename></ulink>,
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PV'><filename>PV</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_ARCH'><filename>PACKAGE_ARCH</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-TARGET_OS'><filename>TARGET_OS</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>,
and
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PR'><filename>PR</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>
variables in the Yocto Project Reference Manual.
</note>
@ -1255,7 +1262,7 @@ so that there are some definite steps on how to do this. I need more detail her
<listitem><para><emphasis>Change Your Working Directory:</emphasis>
You need to be in the directory that has the temporary source code.
That directory is defined by the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'>S</ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink>
variable.</para></listitem>
<listitem><para><emphasis>Create a New Patch:</emphasis>
Before modifying source code, you need to create a new patch.
@ -1287,7 +1294,7 @@ so that there are some definite steps on how to do this. I need more detail her
<filename>-c cleanall</filename> with BitBake for the package.
Modifications will also disappear if you use the <filename>rm_work</filename>
feature as described in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>"
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section of the Yocto Project Quick Start.
</note></para></listitem>
<listitem><para><emphasis>Generate the Patch:</emphasis>
@ -1307,7 +1314,7 @@ so that there are some definite steps on how to do this. I need more detail her
Placing the patch here guarantees that the Yocto Project build system will find
the patch.
Next, add the patch into the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename>
of the recipe.
Here is an example:
<literallayout class='monospaced'>
@ -1315,7 +1322,7 @@ so that there are some definite steps on how to do this. I need more detail her
</literallayout></para></listitem>
<listitem><para><emphasis>Increment the Package Revision Number:</emphasis>
Finally, don't forget to 'bump' the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PR'>PR</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'>PR</ulink></filename>
value in the same recipe since the resulting packages have changed.</para></listitem>
</orderedlist>
</para>
@ -1351,7 +1358,7 @@ so that there are some definite steps on how to do this. I need more detail her
<listitem><para><emphasis>Change Your Working Directory:</emphasis>
You need to be in the directory that has the temporary source code.
That directory is defined by the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'>S</ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink>
variable.</para></listitem>
<listitem><para><emphasis>Initialize a Git Repository:</emphasis>
Use the <filename>git init</filename> command to initialize a new local repository
@ -1390,7 +1397,7 @@ so that there are some definite steps on how to do this. I need more detail her
<filename>-c cleanall</filename> with BitBake for the package.
Modifications will also disappear if you use the <filename>rm_work</filename>
feature as described in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>"
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section of the Yocto Project Quick Start.
</note></para></listitem>
<listitem><para><emphasis>See the List of Files You Changed:</emphasis>
@ -1435,7 +1442,7 @@ so that there are some definite steps on how to do this. I need more detail her
Placing the patch here guarantees that the Yocto Project build system will find
the patch.
Next, add the patch into the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'>SRC_URI</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename>
of the recipe.
Here is an example:
<literallayout class='monospaced'>
@ -1443,7 +1450,7 @@ so that there are some definite steps on how to do this. I need more detail her
</literallayout></para></listitem>
<listitem><para><emphasis>Increment the Package Revision Number:</emphasis>
Finally, don't forget to 'bump' the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PR'>PR</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'>PR</ulink></filename>
value in the same recipe since the resulting packages have changed.</para></listitem>
</orderedlist>
</para>
@ -1481,7 +1488,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
This section overviews the Multilib process only.
For more details on how to implement Multilib, see the
<ulink url='https://wiki.yoctoproject.org/wiki/Multilib'>Multilib</ulink> wiki
<ulink url='&YOCTO_WIKI_URL;/wiki/Multilib'>Multilib</ulink> wiki
page.
</para>
@ -1630,7 +1637,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
For concepts on kernel configuration, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html#kernel-configuration'>Kernel Configuration</ulink>"
"<ulink url='&YOCTO_DOCS_KERNEL_URL;#kernel-configuration'>Kernel Configuration</ulink>"
section in the Yocto Project Kernel Architecture and Use Manual.
</para>
@ -1804,7 +1811,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
If a committed change results in changing the package output,
then the value of the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PR'>PR</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'>PR</ulink></filename>
variable needs to be increased
(or "bumped") as part of that commit.
This means that for new recipes you must be sure to add the <filename>PR</filename>
@ -1817,7 +1824,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
If you are sharing a common <filename>.inc</filename> file with multiple recipes,
you can also use the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-INC_PR'>INC_PR</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-INC_PR'>INC_PR</ulink></filename>
variable to ensure that
the recipes sharing the <filename>.inc</filename> file are rebuilt when the
<filename>.inc</filename> file itself is changed.
@ -1830,7 +1837,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
When upgrading the version of a package, assuming the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PV'>PV</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PV'>PV</ulink></filename>
changes, the <filename>PR</filename> variable should be reset to "r0"
(or "$(INC_PR).0" if you are using <filename>INC_PR</filename>).
</para>
@ -1839,7 +1846,7 @@ so that there are some definite steps on how to do this. I need more detail her
Usually, version increases occur only to packages.
However, if for some reason <filename>PV</filename> changes but does not
increase, you can increase the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PE'>PE</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PE'>PE</ulink></filename>
variable (Package Epoch).
The <filename>PE</filename> variable defaults to "0".
</para>
@ -1876,7 +1883,7 @@ so that there are some definite steps on how to do this. I need more detail her
If the package exists under a different name in a different distribution, you get a
<filename>distro_check</filename> mismatch.
You can resolve this problem by defining a per-distro recipe name alias using the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-DISTRO_PN_ALIAS'>DISTRO_PN_ALIAS</ulink></filename>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_PN_ALIAS'>DISTRO_PN_ALIAS</ulink></filename>
variable.
</para>
@ -1928,16 +1935,16 @@ so that there are some definite steps on how to do this. I need more detail her
In this case, you want a kernel source directory on the development machine where the
development occurs.
You want the recipe's
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-SRC_URI'><filename>SRC_URI</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
variable to point to the external directory and use it as is, not copy it.
</para>
<para>
To build from software that comes from an external source, all you need to do is
change your recipe so that it inherits the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-classes-externalsrc'><filename>externalsrc.bbclass</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-externalsrc'><filename>externalsrc.bbclass</filename></ulink>
class and then sets the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-S'><filename>S</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-S'><filename>S</filename></ulink>
variable to point to your external source code.
Here are the statements to put in your recipe:
<literallayout class='monospaced'>
@ -1949,11 +1956,11 @@ so that there are some definite steps on how to do this. I need more detail her
<para>
It is important to know that the <filename>externalsrc.bbclass</filename> assumes that the
source directory <filename>S</filename> and the build directory
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-B'><filename>B</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-B'><filename>B</filename></ulink>
are different even though by default these directories are the same.
This assumption is important because it supports building different variants of the recipe
by using the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual#var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></ulink>
<ulink url='&YOCTO_DOCS_REF_URL;#var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></ulink>
variable.
You could allow the build directory to be the same as the source directory but you would
not be able to build more than one variant of the recipe.

View File

@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-intro'>
@ -69,7 +70,7 @@
<listitem><para>Reference material.
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
<ulink url='&YOCTO_DOCS_REF_URL;'>
Yocto Project Reference Manual</ulink>.</para></listitem>
<listitem><para>Detailed public information that is not specific to the Yocto Project.
For example, exhaustive information on how to use Git is covered better through the
@ -86,31 +87,31 @@
need to supplement it with other information.
The following list presents other sources of information you might find helpful:
<itemizedlist>
<listitem><para><emphasis>The <ulink url='http://www.yoctoproject.org'>Yocto Project Website</ulink>:
<listitem><para><emphasis>The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>:
</emphasis> The home page for the Yocto Project provides lots of information on the project
as well as links to software and documentation.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
<ulink url='&YOCTO_DOCS_QS_URL;'>
The Yocto Project Quick Start</ulink>:</emphasis> This short document lets you get started
with the Yocto Project quickly and start building an image.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
<ulink url='&YOCTO_DOCS_REF_URL;'>
The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference
guide to the Yocto Project build component known as "Poky."
The manual also contains a reference chapter on Board Support Package (BSP)
layout.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>:</emphasis>
This guide provides information that lets you get going with the ADT to
develop projects using the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
<ulink url='&YOCTO_DOCS_BSP_URL;'>
The Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
This guide defines the structure for BSP components.
Having a commonly understood structure encourages standardization.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>:</emphasis>
This manual describes the architecture of the Yocto Project kernel and provides
some work flow examples.</para></listitem>
@ -120,14 +121,14 @@
demonstrates how an application developer uses Yocto Plug-in features within
the Eclipse IDE.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.yoctoproject.org/wiki/FAQ'>FAQ</ulink>:</emphasis>
<ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>FAQ</ulink>:</emphasis>
A list of commonly asked questions and their answers.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/download/yocto/yocto-project-1.1-release-notes-poky-6.0'>
<ulink url='&YOCTO_HOME_URL;/download/yocto/yocto-project-1.1-release-notes-poky-&POKYVERSION;'>
Release Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://bugzilla.yoctoproject.org/'>Bugzilla</ulink>:</emphasis>
<ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>:</emphasis>
The bug tracking application the Yocto Project uses.
If you find problems with the Yocto Project, you should report them using this
application.</para></listitem>
@ -135,11 +136,11 @@
Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing
lists, click on the following URLs and follow the instructions:
<itemizedlist>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> for a
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink> for a
Yocto Project Discussions mailing list.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> for a
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink> for a
Yocto Project Discussions mailing list about the Poky build system.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto-announce'></ulink>
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto-announce'></ulink>
for a mailing list to receive offical Yocto Project announcements for developments and
as well as Yocto Project milestones.</para></listitem>
</itemizedlist></para></listitem>
@ -148,7 +149,7 @@
for Yocto Project and Poky discussions: <filename>#yocto</filename> and
<filename>#poky</filename>.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openedhand.com/'>OpenedHand</ulink>:</emphasis>
<ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis>
The company where the Yocto Project build system Poky was first developed.
OpenedHand has since been acquired by Intel Corporation.</para></listitem>
<listitem><para><emphasis>
@ -156,7 +157,7 @@
The company that acquired OpenedHand in 2008 and continues development on the
Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openembedded.org/'>OpenEmbedded</ulink>:</emphasis>
<ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis>
The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
from and to which it contributes.</para></listitem>
<listitem><para><emphasis>

View File

@ -1,5 +1,6 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='dev-manual-kernel-appendix'>
@ -43,10 +44,15 @@
structures you need.
Briefly, you need the following:
<itemizedlist>
<listitem><para>A local Yocto Project files Git repository</para></listitem>
<listitem><para>The <filename>poky-extras</filename> Git repository placed
within the local Yocto Project files Git repository</para></listitem>
<listitem><para>A bare clone of the Linux Yocto kernel upstream Git
<listitem><para>A local
<link linkend='yocto-project-files'>Yocto Project Files</link>
Git repository</para></listitem>
<listitem><para>The
<link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
Git repository placed within the local Yocto Project files Git
repository</para></listitem>
<listitem><para>A bare clone of the
<link linkend='local-kernel-files'>Linux Yocto Kernel</link> upstream Git
repository to which you want to push your modifications.
</para></listitem>
<listitem><para>A copy of that bare clone in which you make your source
@ -154,9 +160,9 @@
The following commands create and checkout the local <filename>edison</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b edison origin/edison
Branch edison set up to track remote branch edison from origin.
Switched to a new branch 'edison'
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch edison set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
@ -539,14 +545,14 @@
$ git branch -a
$ git tag -l
</literallayout>
This example uses the Yocto Project 1.1.1 Release code named "edison",
which maps to the <filename>edison</filename> branch in the repository.
The following commands create and checkout the local <filename>edison</filename>
This example uses the Yocto Project 1.1.1 Release code named "&DISTRO_NAME;",
which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b edison origin/edison
Branch edison set up to track remote branch edison from origin.
Switched to a new branch 'edison'
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch edison set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>

View File

@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-model'>
@ -24,7 +25,7 @@
For a user-space application development example that uses the
<trademark class='trade'>Eclipse</trademark> IDE,
see the
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>.
</para>
@ -79,8 +80,9 @@
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>"
and the
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: You need to have the Yocto Project files available on your host system.
@ -112,7 +114,7 @@
Embedded Media Graphics Driver (EMGD).
The remainder of this example uses that base BSP.</para>
<para>To see the supported BSPs, go to the Yocto Project
<ulink url='http://www.yoctoproject.org/download'>download page</ulink> and click
<ulink url='&YOCTO_DL_URL;/download'>download page</ulink> and click
on “BSP Downloads.”</para></listitem>
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
isolating and storing work for a given piece of hardware.
@ -137,16 +139,17 @@
N450, and Sugar Bay are isolated.</note>
<para>When you set up a layer for a new BSP, you should follow a standard layout.
This layout is described in the section
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-filelayout'>Example Filesystem Layout</ulink>" section of the Board Support Package (BSP) Development Guide.
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>"
section of the Board Support Package (BSP) Development Guide.
In the standard layout, you will notice a suggested structure for recipes and
configuration information.
You can see the standard layout for the Crown Bay BSP in this example by examining the
directory structure of the <filename>meta-crownbay</filename> layer inside the
local Yocto Project files.</para></listitem>
<listitem><para><emphasis>Make configuration changes to your new BSP
layer</emphasis>: The standard BSP layer structure organizes the files you need to edit in
<filename>conf</filename> and several <filename>recipes-*</filename> directories within the
BSP layer.
layer</emphasis>: The standard BSP layer structure organizes the files you need
to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
directories within the BSP layer.
Configuration changes identify where your new layer is on the local system
and identify which kernel you are going to use.
</para></listitem>
@ -160,7 +163,8 @@
You need to get the build environment ready by sourcing an environment setup script
and you need to be sure two key configuration files are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the section
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the Yocto Project Quick Start.
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
of the Yocto Project Quick Start.
You might want to reference this information.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake
tool to build images based on the type of image you want to create.
@ -168,7 +172,7 @@
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" appendix
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" appendix
in The Yocto Project Reference Manual for information on
supported images.</para></listitem>
</orderedlist>
@ -178,10 +182,10 @@
You can view a video presentation on "Building Custom Embedded Images with Yocto"
at <ulink url='http://free-electrons.com/blog/elc-2011-videos'>Free Electrons</ulink>.
You can also find supplemental information in
<ulink url='http://yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
<ulink url='&YOCTO_DOCS_BSP_URL;'>
The Board Support Package (BSP) Development Guide</ulink>.
Finally, there is wiki page write up of the example also located
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
here</ulink> that you might find helpful.
</para>
</section>
@ -201,7 +205,7 @@
The remainder of this section presents a high-level overview of the Linux Yocto
kernel architecture and the steps to modify the Linux Yocto kernel.
For a complete discussion of the kernel, see
<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
You can reference the appendix
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>"
@ -221,7 +225,7 @@
<para>
You can find a web interface to the Linux Yocto kernel source repositories at
<ulink url='http://git.yoctoproject.org/'></ulink>.
<ulink url='&YOCTO_GIT_URL;'></ulink>.
If you look at the interface, you will see to the left a grouping of
Git repositories titled "Yocto Linux Kernel."
Within this group, you will find the four different kernels supported by
@ -352,7 +356,7 @@
<para>
Again, for a complete discussion of the Yocto Project kernel's architcture and its
branching strategy,
see the <ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
see the <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
Also, you can reference
<xref linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</xref>
@ -376,8 +380,8 @@
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: Having the Yocto Project files on your system gives you access to
@ -457,7 +461,8 @@
(<filename>local.conf</filename> and <filename>bblayers.conf</filename>)
are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the Yocto Project Quick Start.
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section of the Yocto Project Quick Start.
You might want to reference this information.
Also, you should look at the detailed examples found in the appendices at
at the end of this manual.</para></listitem>
@ -468,7 +473,7 @@
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the appendix
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" in
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" in
The Yocto Project Reference Manual for information on supported images.</para></listitem>
<listitem><para><emphasis>Make your configuration changes available
in the kernel layer</emphasis>: Up to this point, all the configuration changes to the
@ -519,7 +524,7 @@
provides an overview of the general development process.
If you want to see a detailed example of the process as it is used from within the Eclipse
IDE, see
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Application Development Toolkit (ADT) User's Manual</ulink>.
</para>
@ -536,8 +541,8 @@
<orderedlist>
<listitem><para><emphasis>Prepare the Host System for the Yocto Project</emphasis>:
See
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<!--
@ -565,12 +570,12 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
(QEMU or real hardware), the area you get the image from differs.
<itemizedlist>
<listitem><para>Download the image from
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/'>
<ulink url='&YOCTO_MACHINES_DL_URL;'>
<filename>machines</filename></ulink> if your target architecture is supported
and you are going to develop and test your application on actual hardware.
</para></listitem>
<listitem><para>Download the image from the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/qemu/'>
<ulink url='&YOCTO_QEMU_DL_URL;'>
<filename>machines/qemu</filename></ulink> if your target architecture is supported
and you are going to develop and test your application using the QEMU
emulator.</para></listitem>
@ -585,10 +590,8 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
</itemizedlist></para>
<para>For information on pre-built kernel image naming schemes for images
that can run on the QEMU emulator, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section in
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>.</para></listitem>
"<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section in the Yocto Project Quick Start.</para></listitem>
<listitem><para><emphasis>Install the ADT</emphasis>:
The ADT provides a target-specific cross-development toolchain, the root filesystem,
the QEMU emulator, and other tools that can help you develop your application.
@ -596,8 +599,9 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
easy method.
You can get these pieces by running an ADT installer script, which is configurable.
For information on how to install the ADT, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#using-the-adt-installer'>Using the ADT Installer</ulink>" section
in The Yocto Project Application Development (ADT) User's Manual.</para></listitem>
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Using the ADT Installer</ulink>"
section
in the Yocto Project Application Development (ADT) User's Manual.</para></listitem>
<listitem><para><emphasis>If Applicable, Secure the Target Root Filesystem</emphasis>:
If you choose not to install the ADT using the ADT Installer,
you need to find and download the
@ -641,13 +645,14 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
<orderedlist>
<listitem><para><emphasis>Install the cross-development toolchain for your target hardware:</emphasis>
For information on how to install the toolchain, see the
"<ulink url='http://www.yoctoproject/docs/1.1/adt-manual/adt-manual.html#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" section
in The Yocto Project Application Development (ADT) User's Manual.</para></listitem>
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
section
in the Yocto Project Application Development (ADT) User's Manual.</para></listitem>
<listitem><para><emphasis>Download the Target Image:</emphasis> The Yocto Project supports
several target architectures and has many pre-built kernel images and root filesystem
images.</para>
<para>If you are going to develop your application on hardware, go to the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/'>
<ulink url='&YOCTO_MACHINES_DL_URL;'>
<filename>machines</filename></ulink> download area and choose a target machine area
from which to download the kernel image and root filesystem.
This download area could have several files in it that support development using
@ -657,7 +662,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
Be sure to get the files you need for your particular development process.</para>
<para>If you are going to develop your application and then run and test it using the QEMU
emulator, go to the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/qemu/'>
<ulink url='&YOCTO_QEMU_DL_URL;'>
<filename>machines/qemu</filename></ulink> download area.
From this area, go down into the directory for your target architecture
(e.g. <filename>qemux86_64</filename> for an
@ -665,7 +670,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
Download kernel, root filesystem, and any other files you need for your process.
<note>In order to use the root filesystem in QEMU, you need to extract it.
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" section for information on how to extract the
"<ulink url='&YOCTO_DOCS_ADT_URL;#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" section for information on how to extract the
root filesystem.</note></para></listitem>
<listitem><para><emphasis>Develop and Test your Application:</emphasis> At this point,
you have the tools to develop your application.

View File

@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-newbie'>
@ -122,7 +123,7 @@
<para>
The Yocto Project team maintains complete source repositories for all Yocto Project files
at <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi'></ulink>.
at <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'></ulink>.
This web-based source code browser is organized into categories by function such as
IDE Plugins, Matchbox, Poky, Yocto Linux Kernel, and so forth.
From the interface, you can click on any particular item in the "Name" column and
@ -143,7 +144,7 @@
<para>
For any supported release of Yocto Project, you can go to the Yocto Project websites
<ulink url='http://www.yoctoproject.org/download'>download page</ulink> and get a
<ulink url='&YOCTO_HOME_URL;/download'>download page</ulink> and get a
tarball of the release.
You can also go to this site to download any supported BSP tarballs.
Unpacking the tarball gives you a hierarchical directory structure of Yocto Project
@ -158,14 +159,14 @@
<para>
In summary, here is where you can get the Yocto Project files needed for development:
<itemizedlist>
<listitem><para id='source-repositories'><emphasis><ulink url='http://git.yoctoproject.org/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis>
<listitem><para id='source-repositories'><emphasis><ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis>
This area contains IDE Plugins, Matchbox, Poky, Poky Support, Tools, Yocto Linux Kernel, and Yocto
Metadata Layers.
You can create Git repositories for each of these areas.</para>
<para>
<imagedata fileref="figures/source-repos.png" align="center" width="6in" depth="4in" />
</para></listitem>
<listitem><para><anchor id='index-downloads' /><emphasis><ulink url='http://downloads.yoctoproject.org/releases/'>Index of /releases:</ulink></emphasis>
<listitem><para><anchor id='index-downloads' /><emphasis><ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink></emphasis>
This area contains index releases such as
the <trademark class='trade'>Eclipse</trademark>
Yocto Plug-in, miscellaneous support, Poky, pseudo, cross-development toolchains,
@ -175,11 +176,11 @@
<para>
<imagedata fileref="figures/index-downloads.png" align="center" width="6in" depth="4in" />
</para></listitem>
<listitem><para><emphasis><ulink url='http://www.yoctoproject.org/download'>Yocto Project Download Page</ulink></emphasis>
<listitem><para><emphasis><ulink url='&YOCTO_HOME_URL;/download'>Yocto Project Download Page</ulink></emphasis>
This page on the Yocto Project website allows you to download any Yocto Project
release or Board Support Package (BSP) in tarball form.
The tarballs are similar to those found in the
<ulink url='http://downloads.yoctoproject.org/releases/'>Index of /releases:</ulink> area.</para>
<ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink> area.</para>
<para>
<imagedata fileref="figures/yp-download.png" align="center" width="6in" depth="4in" />
</para></listitem>
@ -239,12 +240,12 @@
Images are the binary output that runs on specific hardware and for specific
use cases.
For a list of the supported image types that the Yocto Project provides, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>"
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>"
appendix in The Yocto Project Reference Manual.</para></listitem>
<listitem><para id='layer'><emphasis>Layer:</emphasis> A collection of recipes representing the core,
a BSP, or an application stack.
For a discussion on BSP Layers, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-layers'>BSP Layers</ulink>"
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Board Support Packages (BSP) Developer's Guide.</para></listitem>
<listitem><para id='metadata'><emphasis>Metadata:</emphasis> The files that BitBake parses when
building an image.
@ -283,44 +284,42 @@
by cloning <filename>git://git.yoctoproject.org/poky</filename>.
Sometimes the term "the Yocto Project Files structure" is used as well.</para>
<para>The Yocto Project files contain BitBake, Documentation, metadata and
<para>The Yocto Project Files contain BitBake, Documentation, metadata and
other files that all support the development environment.
Consequently, you must have the Yocto Project files in place on your development
Consequently, you must have the Yocto Project Files in place on your development
system in order to do any development using the Yocto Project.</para>
<para>The name of the top-level directory of the Yocto Project file structure
<para>The name of the top-level directory of the Yocto Project Files structure
is derived from the Yocto Project release tarball.
For example, downloading and unpacking <filename>poky-edison-6.0.tar.bz2</filename>
For example, downloading and unpacking <filename>&YOCTO_POKY_TARBALL;</filename>
results in a Yocto Project file structure whose Yocto Project source directory is named
<filename>poky-edison-6.0</filename>.
<filename>&YOCTO_POKY;</filename>.
If you create a Git repository, then you can name the repository anything you like.
By default, your local Git repository is named <filename>poky</filename>.</para>
Throughout much of the documentation, the name of the Git repository is used as the
name for the local folder.
So, for example, cloning the <filename>poky</filename> Git repository results in a
local Git repository also named <filename>poky</filename>.</para>
<para>It is important to understand the differences between Yocto Project Files created
by unpacking a release tarball as compared to cloning
<filename>git://git.yoctoproject.org/poky</filename>.
When you unpack a tarball, you have an exact copy of the files based on the time of
release - a fixed release point.
Any changes you make to your local Yocto Project files are on top of the release.
Any changes you make to your local Yocto Project Files are on top of the release.
On the other hand, when you clone the Yocto Project Git repository, you have an
active development repository.
creates a build directory named <filename>YP-6.0</filename>
in your home directory within the directory <filename>mybuilds</filename>.
If <filename>mybuilds</filename> does not exist it is created for you. In this case, any local changes you make to the Yocto Project can be later applied to active
development branches of the upstream Yocto Project Git repository.
If you want to track a set of local changes while starting from the same point
In this case, any local changes you make to the Yocto Project can be later applied
to active development branches of the upstream Yocto Project Git repository.</para>
<para>Finally, if you want to track a set of local changes while starting from the same point
as a release tarball, you can create a local Git branch that
reflects the exact copy of the files at the time of their release.
You do this using Git tags that are part of the repository.
For more information on concepts, see the section
"<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>".
</para>
You do this using Git tags that are part of the repository.</para>
<para>You can find instruction on how to set up the Yocto Project files on your
host development system by reading
the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#getting-setup'>Getting
Setup</ulink>" section.</para></listitem>
<para>For more information on concepts around Git repositories, branches, and tags,
see the
"<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>"
section.</para></listitem>
<listitem>
<para id='yocto-project-build-directory'><emphasis>Yocto Project Build Directory:</emphasis>
This term refers to the area used by the Yocto Project for builds.
@ -341,17 +340,17 @@
</literallayout></para></listitem>
<listitem><para>Provide a directory path and specifically name the build
directory.
This next example creates a build directory named <filename>YP-6.0</filename>
This next example creates a build directory named <filename>YP-&POKYVERSION;</filename>
in your home directory within the directory <filename>mybuilds</filename>.
If <filename>mybuilds</filename> does not exist, the directory is created for you:
<literallayout class='monospaced'>
$ source poky-edison-6.0/oe-init-build-env $HOME/mybuilds/YP-6.0
$ source &OE_INIT_PATH; $HOME/mybuilds/YP-&POKYVERSION;
</literallayout></para></listitem>
<listitem><para>Provide an existing directory to use as the build directory.
This example uses the existing <filename>mybuilds</filename> directory
as the build directory.
<literallayout class='monospaced'>
$ source poky-edison-6.0/oe-init-build-env $HOME/mybuilds/
$ source &OE_INIT_PATH; $HOME/mybuilds/
</literallayout></para></listitem>
</itemizedlist>
</para></listitem>
@ -419,7 +418,7 @@
<para>
You can find a list of the combined SPDX and OSI licenses that the Yocto Project uses
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/files/common-licenses'>here</ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/files/common-licenses'>here</ulink>.
This wiki page discusses the license infrastructure used by the Yocto Project.
</para>
</section>
@ -449,7 +448,7 @@
As mentioned earlier in section
"<link linkend='yocto-project-repositories'>Yocto Project Source Repositories</link>",
the Yocto Project maintains source repositories at
<ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
If you look at this web-interface of the repositories, each item is a separate
Git repository.
</para>
@ -489,9 +488,9 @@
<filename>edison</filename>, and <filename>master</filename> branches among
others.
You can see all the branches by going to
<ulink url='http://git.yoctoproject.org/cgit.cgi/poky/'></ulink> and
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/'></ulink> and
clicking on the
<filename><ulink url='http://git.yoctoproject.org/cgit.cgi/poky/refs/heads'>[...]</ulink></filename>
<filename><ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/refs/heads'>[...]</ulink></filename>
link beneath the "Branch" heading.
</para>
@ -512,19 +511,19 @@
branch in the repository.
To help illustrate, here is a set of commands that creates a local copy of the
<filename>poky</filename> Git repository and then creates and checks out a local
Git branch that tracks the Yocto Project 1.1 Release (edison) development:
Git branch that tracks the Yocto Project &DISTRO; Release (&DISTRO_NAME;) development:
<literallayout class='monospaced'>
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout edison -b edison
$ git checkout &DISTRO_NAME; -b &DISTRO_NAME;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
And, the name of the local working area (or local branch) you have created and checked
out is named <filename>edison</filename>.
out is named <filename>&DISTRO_NAME;</filename>.
The files in your repository now reflect the same files that are in the
<filename>edison</filename> development branch of the Yocto Project's
<filename>&DISTRO_NAME;</filename> development branch of the Yocto Project's
<filename>poky</filename> repository.
It is important to understand that when you create and checkout a
local working branch based on a branch name,
@ -532,8 +531,8 @@
at the time you created your local branch, which could be
different than the files at the time of a similarly named release.
In other words, creating and checking out a local branch based on the
<filename>edison</filename> branch name is not the same as creating and
checking out a local branch based on the <filename>edison-6.0</filename>
<filename>&DISTRO_NAME;</filename> branch name is not the same as creating and
checking out a local branch based on the <filename>&DISTRO_NAME;-&DISTRO;</filename>
release.
Keep reading to see how you create a local snapshot of a Yocto Project Release.
</para>
@ -543,15 +542,15 @@
Typically, a tag is used to mark a special point such as the final change
before a project is released.
You can see the tags used with the <filename>poky</filename> Git repository
by going to <ulink url='http://git.yoctoproject.org/cgit.cgi/poky/'></ulink> and
by going to <ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/'></ulink> and
clicking on the
<filename><ulink url='http://git.yoctoproject.org/cgit.cgi/poky/refs/tags'>[...]</ulink></filename>
<filename><ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/refs/tags'>[...]</ulink></filename>
link beneath the "Tag" heading.
</para>
<para>
Some key tags are <filename>laverne-4.0</filename>, <filename>bernard-5.0</filename>,
and <filename>edison-6.0</filename>.
and <filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
These tags represent Yocto Project releases.
</para>
@ -569,14 +568,14 @@
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout edison-6.0 -b edison-6.0
$ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;-&POKYVERSION;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
And, the name of the local branch you have created and checked out is
<filename>edison-6.0</filename>.
The files in your repository now exactly match the Yocto Project 1.1
Release tag (edison).
<filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
The files in your repository now exactly match the Yocto Project &DISTRO;
Release tag (&DISTRO_NAME;).
It is important to understand that when you create and checkout a local
working branch based on a tag, your environment matches a specific point
in time and not a development branch.
@ -807,7 +806,7 @@
changes, can be used to communicate changes and problems with developers, can be used to
submit and review patches, and can be used to manage quality assurance.
The home page for the Yocto Project implementation of Bugzilla is
<ulink url='http://bugzilla.yoctoproject.org'>http://bugzilla.yoctoproject.org</ulink>.
<ulink url='&YOCTO_BUGZILLA_URL;'>&YOCTO_BUGZILLA_URL;</ulink>.
</para>
<para>
@ -818,7 +817,7 @@
Bugzilla.
You can find more information on defect management, bug tracking, and feature request
processes all accomplished through the Yocto Project Bugzilla on the wiki page
<ulink url='https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>.
<ulink url='&YOCTO_WIKI_URL;/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>.
<orderedlist>
<listitem><para>Always use the Yocto Project implementation of Bugzilla to submit
a bug.</para></listitem>
@ -866,7 +865,7 @@
You should send patches to the appropriate Yocto Project mailing list to get them
in front of the Yocto Project Maintainer.
For a list of the Yocto Project mailing lists, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#resources-mailinglist'>Mailing lists</ulink>" section in
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>" section in
The Yocto Project Reference Manual.
</para>
@ -875,14 +874,14 @@
<itemizedlist>
<listitem><para>For defects against the Yocto Project build system Poky, send
your patch to the
<ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> mailing list.
<ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink> mailing list.
This mailing list corresponds to issues that are not specific to the Yocto Project but
are part of the OE-core.
For example, a defect against anything in the <filename>meta</filename> layer
or the BitBake Manual could be sent to this mailing list.</para></listitem>
<listitem><para>For defects against Yocto-specific layers, tools, and Yocto Project
documentation use the
<ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> mailing list.
<ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink> mailing list.
This mailing list corresponds to Yocto-specific areas such as
<filename>meta-yocto</filename>, <filename>meta-intel</filename>,
<filename>linux-yocto</filename>, and <filename>documentation</filename>.</para></listitem>
@ -973,7 +972,7 @@
<para>
You can find more guidance on creating well-formed commit messages at this OpenEmbedded
wiki page:
<ulink url='http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines'></ulink>.
<ulink url='&OE_HOME_URL;/wiki/Commit_Patch_Message_Guidelines'></ulink>.
</para>
<para>
@ -1089,22 +1088,6 @@
</para>
</section>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-start'>
@ -9,7 +10,7 @@
This chapter introduces the Yocto Project and gives you an idea of what you need to get started.
You can find enough information to set up your development host and build or use images for
hardware supported by the Yocto Project by reading
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
<ulink url='&YOCTO_DOCS_QS_URL;'>
The Yocto Project Quick Start</ulink>.
</para>
@ -57,7 +58,7 @@
</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
exist on your development system (e.g. Python 2.6 or 2.7).
See "<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>"
See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
section in the Yocto Project Quick start for the exact package
requirements and the installation commands to install them
for the supported distributions.</para></listitem>
@ -75,13 +76,14 @@
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute
back into the Yocto Project, you can simply download the Yocto Project release you want
from the websites <ulink url='http://yoctoproject.org/download'>download page</ulink>.
from the websites <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink>.
Once you have the tarball, just extract it into a directory of your choice.</para>
<para>For example, the following command extracts the Yocto Project 1.1 release tarball
<para>For example, the following command extracts the Yocto Project &DISTRO;
release tarball
into the current working directory and sets up the Yocto Project file structure
with a top-level directory named <filename>poky-edison-6.0</filename>:
with a top-level directory named <filename>&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2
$ tar xfj &YOCTO_POKY_TARBALL;
</literallayout></para>
<para>This method does not produce a Git repository.
Instead, you simply end up with a local snapshot of the
@ -100,7 +102,7 @@
<note>The name of the Yocto Project Files Git repository in the Yocto Project Files
Source Repositories is <filename>poky</filename>.
You can view the Yocto Project Source Repositories at
<ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink></note>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink></note>
The command creates the local repository in a directory named <filename>poky</filename>.
For information on Git used within the Yocto Project, see the
"<link linkend='git'>Git</link>" section.
@ -111,9 +113,10 @@
remote: Compressing objects: 100% (35987/35987), done.
remote: Total 116882 (delta 80651), reused 113045 (delta 77578)
Receiving objects: 100% (116882/116882), 72.13 MiB | 2.68 MiB/s, done.
Resolving deltas: 100% (80651/80651), done. </literallayout></para>
Resolving deltas: 100% (80651/80651), done.
</literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink>, which describes how to create both <filename>poky</filename>
and <filename>meta-intel</filename> Git repositories.</para></listitem>
</itemizedlist></para></listitem>
@ -122,7 +125,7 @@
need to establish local copies of the source.
You can find Git repositories of supported Linux Yocto Kernels organized under
"Yocto Linux Kernel" in the Yocto Project Source Repositories at
<ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink>.</para>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
<para>This setup involves creating a bare clone of the Linux Yocto kernel and then
copying that cloned repository.
You can create the bare clone and the copy of the bare clone anywhere you like.
@ -164,7 +167,7 @@
source files from upstream each time you make changes to the kernel.</para>
<para>You can find the <filename>poky-extras</filename> Git Repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
<ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
It is good practice to create this Git repository inside the Yocto Project
files Git repository.</para>
<para>Following is an example that creates the <filename>poky-extras</filename> Git
@ -185,7 +188,7 @@
The Yocto Project provides a layer called <filename>meta-intel</filename> and
it is maintained in its own separate Git repository.
The <filename>meta-intel</filename> layer contains many supported
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-layers'>BSP Layers</ulink>.</para>
<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>.</para>
<para>Similar considerations exist for setting up the <filename>meta-intel</filename>
layer.
You can get set up for BSP development one of two ways: tarball extraction or
@ -204,13 +207,13 @@
meta-n450
</literallayout>
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-layers'>BSP Layers</ulink>"
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Board Support Package (BSP) Developer's Guide for more
information on BSP Layers.
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
BSP tarball from the same
<ulink url='http://yoctoproject.org/download'>download site</ulink> used
<ulink url='&YOCTO_HOME_URL;/download'>download site</ulink> used
to get the Yocto Project release.
Once you have the tarball, just extract it into a directory of your choice.
Again, this method just produces a snapshot of the BSP layer in the form
@ -220,7 +223,7 @@
to set up the <filename>meta-intel</filename> Git repository.
You can locate the <filename>meta-intel</filename> Git repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
<ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink>.</para>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
<para>Typically, you set up the <filename>meta-intel</filename> Git repository inside
the Yocto Project Files Git repository.
For example, the following transcript shows the steps to clone the
@ -237,7 +240,7 @@
Resolving deltas: 100% (546/546), done.
</literallayout></para>
<para>The same
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink> referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.</para></listitem>
</itemizedlist></para></listitem>
@ -245,7 +248,7 @@
applications using the Eclipse Integrated Development Environment (IDE),
you will need this plug-in.
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
"<ulink url='&YOCTO_DOCS_ADT_URL;#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
section in the Yocto Application Development Toolkit (ADT)
Users Guide for more information.</para></listitem>
</itemizedlist>
@ -258,7 +261,7 @@
<para>
The build process creates an entire Linux distribution, including the toolchain, from source.
For more information on this topic, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>"
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section in the Yocto Project Quick Start.
</para>
@ -275,15 +278,15 @@
is set up how you want it.
This file defines many aspects of the build environment including
the target machine architecture through the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-MACHINE'>MACHINE</ulink></filename> variable,
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'>MACHINE</ulink></filename> variable,
the development machine's processor use through the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</ulink></filename> and
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-PARALLEL_MAKE'>PARALLEL_MAKE</ulink></filename> variables, and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</ulink></filename> and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'>PARALLEL_MAKE</ulink></filename> variables, and
a centralized tarball download directory through the
<filename><ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#var-DL_DIR'>DL_DIR</ulink></filename> variable.</para></listitem>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'>DL_DIR</ulink></filename> variable.</para></listitem>
<listitem><para>Build the image using the <filename>bitbake</filename> command.
If you want information on BitBake, see the user manual at
<ulink url='http://docs.openembedded.org/bitbake/html'></ulink>.</para></listitem>
<ulink url='&OE_DOCS_URL;/bitbake/html'></ulink>.</para></listitem>
<listitem><para>Run the image either on the actual hardware or using the QEMU
emulator.</para></listitem>
</orderedlist>
@ -305,7 +308,7 @@
<para>
You can find details on all these steps in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
"<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section of the Yocto Project Quick Start.
</para>
</section>

View File

@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='dev-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@ -36,7 +37,7 @@
</revhistory>
<copyright>
<year>2010-2012</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@ -51,9 +52,9 @@
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>
<ulink url='&YOCTO_DOCS_DEV_URL;'>
The Yocto Project Development Manual</ulink> on
the <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink> website.
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>