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" <!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'> <appendix id='dev-manual-bsp-appendix'>
@ -45,10 +46,10 @@
Alternatively, you can start with the downloaded Poky "edison" tarball. Alternatively, you can start with the downloaded Poky "edison" tarball.
These commands unpack the tarball into a Yocto Project File directory structure. These commands unpack the tarball into a Yocto Project File directory structure.
By default, the top-level directory of the file structure is named 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'> <literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2 $ tar xfj &YOCTO_POKY_TARBALL;
$ cd poky-edison-6.0 $ cd &YOCTO_POKY;
</literallayout> </literallayout>
<note><para>If you're using the tarball method, you can ignore all the following steps that <note><para>If you're using the tarball method, you can ignore all the following steps that
ask you to carry out Git operations. ask you to carry out Git operations.
@ -85,24 +86,24 @@
$ git branch -a $ git branch -a
$ git tag -l $ git tag -l
</literallayout> </literallayout>
For this example, we are going to use the Yocto Project 1.1 Release, which is code For this example, we are going to use the Yocto Project &DISTRO; Release, which is code
named "edison". named "&DISTRO_NAME;".
To make sure we have a local area (branch in Git terms) on our machine that 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'> <literallayout class='monospaced'>
$ cd ~/poky $ cd ~/poky
$ git fetch --tags $ git fetch --tags
$ git checkout edison-6.0 -b edison $ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;
Switched to a new branch 'edison' Switched to a new branch '&DISTRO_NAME;'
</literallayout> </literallayout>
The <filename>git fetch --tags</filename> is somewhat redundant since you just set The <filename>git fetch --tags</filename> is somewhat redundant since you just set
up the repository and should have all the tags. up the repository and should have all the tags.
The <filename>fetch</filename> command makes sure all the tags are available in your The <filename>fetch</filename> command makes sure all the tags are available in your
local repository. local repository.
The Git <filename>checkout</filename> command with the <filename>-b</filename> option The Git <filename>checkout</filename> command with the <filename>-b</filename> option
creates a local branch for you named <filename>edison</filename>. creates a local branch for you named <filename>&DISTRO_NAME;</filename>.
Your local branch begins in the same state as the Yocto Project 1.1 released tarball Your local branch begins in the same state as the Yocto Project &DISTRO; released tarball
marked with the <filename>edison-6.0</filename> tag in the source repositories. marked with the <filename>&DISTRO_NAME;-&POKYVERSION;</filename> tag in the source repositories.
</para> </para>
</section> </section>
@ -160,14 +161,14 @@
</literallayout> </literallayout>
Alternatively, you can start with the downloaded Crown Bay tarball. Alternatively, you can start with the downloaded Crown Bay tarball.
You can download the edison version of the BSP tarball from the 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. Yocto Project website.
Here is the specific link for the tarball needed for this example: 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 Again, be sure that you are already in the <filename>poky</filename> directory
as described previously before installing the tarball: as described previously before installing the tarball:
<literallayout class='monospaced'> <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 $ cd meta-intel
</literallayout> </literallayout>
</para> </para>
@ -181,10 +182,10 @@
skip to the next step. skip to the next step.
Because <filename>meta-intel</filename> is its own Git repository, you will want 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. 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'> <literallayout class='monospaced'>
$ git checkout -b edison origin/edison $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Switched to a new branch 'edison' Switched to a new branch '&DISTRO_NAME;'
</literallayout> </literallayout>
</para> </para>
</section> </section>
@ -271,7 +272,7 @@
<filename>meta-mymachine/conf/layer.conf</filename>. <filename>meta-mymachine/conf/layer.conf</filename>.
This file identifies build information needed for the new layer. This file identifies build information needed for the new layer.
You can see the 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. 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. Basically, we are changing the existing statements to work with our BSP.
</para> </para>
@ -483,7 +484,7 @@
the <filename>SRCREV</filename> statements. the <filename>SRCREV</filename> statements.
You can find all the <filename>machine</filename> and <filename>meta</filename> 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 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>
<para> <para>
@ -610,7 +611,7 @@
<para> <para>
The appendix 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 Reference: Variables Glossary</ulink> in the Yocto Project Reference Manual has more information
on configuration variables. on configuration variables.
</para> </para>

View File

@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" <!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'> <chapter id='extendpoky'>
@ -60,8 +61,8 @@
and then explore that folder, you will discover many BSP layers within the and then explore that folder, you will discover many BSP layers within the
<filename>meta-intel</filename> layer. <filename>meta-intel</filename> layer.
For more information on BSP layers, see the 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>" "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Development Manual. section in the Yocto Project Board Support Package (BSP) Developer's Guide.
</para> </para>
</section> </section>
@ -76,7 +77,7 @@
you should be sure someone has not already created a layer containing the metadata you should be sure someone has not already created a layer containing the metadata
you need. you need.
You can see the 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 for a list of layers from the OpenEmbedded community that can be used in the
Yocto Project.</para></listitem> Yocto Project.</para></listitem>
<listitem><para><emphasis>Create a Directory:</emphasis> Create the directory <listitem><para><emphasis>Create a Directory:</emphasis> Create the directory
@ -108,24 +109,24 @@
BBFILE_PRIORITY_yocto = "5" BBFILE_PRIORITY_yocto = "5"
</literallayout></para> </literallayout></para>
<para>In the previous example, the recipes for the layers are added to <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 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. variable is then appended with the layer name.
The 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 variable is set to a regular expression and is used to match files
from <filename>BBFILES</filename> into a particular layer. from <filename>BBFILES</filename> into a particular layer.
In this case, immediate expansion of 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. sets <filename>BBFILES_PATTERN</filename> to the layer's path.
The 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. variable then assigns a priority to the layer.
Applying priorities is useful in situations where the same package might appear in multiple 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> layers and allows you to choose what layer should take precedence.</para>
<para>Note the use of the <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. variable with the immediate expansion operator.
The <filename>LAYERDIR</filename> variable expands to the directory of the current layer and 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 requires the immediate expansion operator so that BitBake does not wait to expand the variable
@ -199,7 +200,7 @@
<para> <para>
Before the Yocto Project build system can use your new layer, you need to enable it. 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 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 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>. <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>: The following example shows how to enable a layer named <filename>meta-mylayer</filename>:
@ -290,12 +291,12 @@
PRINC = "1" PRINC = "1"
</literallayout> </literallayout>
This example adds or overrides files in 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. within a bbappend by extending the path BitBake uses to search for files.
The most reliable way to do this is by prepending the The most reliable way to do this is by prepending the
<filename>FILESEXTRAPATHS</filename> variable. <filename>FILESEXTRAPATHS</filename> variable.
For example, if you have your files in a directory that is named the same as your package 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: you can add this directory by adding the following to your bbappend file:
<literallayout class='monospaced'> <literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@ -328,7 +329,7 @@
<para> <para>
To specify the layer's priority manually, use the 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. variable.
For example: For example:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@ -338,7 +339,7 @@
<note> <note>
<para>It is possible for a recipe with a lower version number <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> 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 <para>Also, the layer priority does not currently affect the precedence order of
<filename>.conf</filename> or <filename>.bbclass</filename> files. <filename>.conf</filename> or <filename>.bbclass</filename> files.
@ -409,7 +410,8 @@
variables. variables.
For information on variables that are useful for recipes and for information about recipe naming For information on variables that are useful for recipes and for information about recipe naming
issues, see the 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>
<para> <para>
@ -434,12 +436,14 @@
Building an application from a single file that is stored locally (e.g. under 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 <filename>files/</filename>) requires a recipe that has the file listed in
the 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 Additionally, you need to manually write the <filename>do_compile</filename> and
<filename>do_install</filename> tasks. <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 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. WORKDIR</ulink></filename> in this case - the directory BitBake uses for the build.
<literallayout class='monospaced'> <literallayout class='monospaced'>
DESCRIPTION = "Simple helloworld application" DESCRIPTION = "Simple helloworld application"
@ -477,7 +481,7 @@
<para> <para>
Applications that use Autotools such as <filename>autoconf</filename> and Applications that use Autotools such as <filename>autoconf</filename> and
<filename>automake</filename> require a recipe that has a source archive listed in <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 also inherits Autotools, which instructs BitBake to use the
<filename>autotools.bbclass</filename> file, which contains the definitions of all the steps <filename>autotools.bbclass</filename> file, which contains the definitions of all the steps
needed to build an Autotool-based application. needed to build an Autotool-based application.
@ -500,9 +504,9 @@
<para> <para>
The variable 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 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. You can quickly create Autotool-based recipes in a manner similar to the previous example.
</para> </para>
</section> </section>
@ -512,11 +516,13 @@
<para> <para>
Applications that use GNU <filename>make</filename> also require a recipe that has 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 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. starts the <filename>make</filename> command to compile the application.
If you need additional <filename>make</filename> options you should store them in the 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. BitBake passes these options into the <filename>make</filename> GNU invocation.
Note that a <filename>do_install</filename> task is still required. Note that a <filename>do_install</filename> task is still required.
Otherwise BitBake runs an empty <filename>do_install</filename> task by default. 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. Some applications might require extra parameters to be passed to the compiler.
For example, the application might need an additional header path. For example, the application might need an additional header path.
You can accomplish this by adding to the 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: The following example shows this:
<literallayout class='monospaced'> <literallayout class='monospaced'>
CFLAGS_prepend = "-I ${S}/include " CFLAGS_prepend = "-I ${S}/include "
@ -568,9 +574,9 @@
<para> <para>
You can use the variables 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='&YOCTO_DOCS_REF_URL;#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 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-FILES'>FILES</ulink></filename>
multiple packages. to split an application into multiple packages.
</para> </para>
<para> <para>
@ -600,17 +606,17 @@
In the previous example, we want to ship the <filename>sxpm</filename> In the previous example, we want to ship the <filename>sxpm</filename>
and <filename>cxpm</filename> binaries in separate packages. and <filename>cxpm</filename> binaries in separate packages.
Since <filename>bindir</filename> would be packaged into the main 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 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. </filename> variable so additional package names are added to the start of list.
This results in the extra 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 variables then containing information that define which files and
directories go into which packages. directories go into which packages.
Files included by earlier packages are skipped by latter packages. Files included by earlier packages are skipped by latter packages.
Thus, the main 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. does not include the above listed files.
</para> </para>
</section> </section>
@ -677,7 +683,7 @@
<filename>PACKAGENAME</filename> as the name of the package you want to attach to the <filename>PACKAGENAME</filename> as the name of the package you want to attach to the
<filename>postinst</filename> script. <filename>postinst</filename> script.
Normally 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. can be used, which automatically expands to PACKAGENAME.
A post-installation function has the following structure: A post-installation function has the following structure:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@ -716,7 +722,7 @@
<para> <para>
The previous example delays execution until the image boots again because the 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 variable points
to the directory containing the image when the root filesystem is created at build time but to the directory containing the image when the root filesystem is created at build time but
is unset when executed on the first boot. is unset when executed on the first boot.
@ -749,7 +755,8 @@
By creating a custom image, a developer has total control By creating a custom image, a developer has total control
over the contents of the image. over the contents of the image.
It is important to use the correct names of packages in the 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 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>). (e.g. <filename>eglibc-dev</filename> instead of <filename>libc6-dev</filename>).
</para> </para>
@ -775,13 +782,13 @@
A good example of a tasks package is A good example of a tasks package is
<filename>meta/recipes-sato/tasks/task-poky.bb</filename>. <filename>meta/recipes-sato/tasks/task-poky.bb</filename>.
The 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 variable lists the task packages to build along with the complementary
<filename>-dbg</filename> and <filename>-dev</filename> packages. <filename>-dbg</filename> and <filename>-dev</filename> packages.
For each package added, you can use 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 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. entries to provide a list of packages the parent task package should contain.
Following is an example: Following is an example:
<literallayout class='monospaced'> <literallayout class='monospaced'>
@ -819,7 +826,7 @@
To build an image using these task packages, you need to add To build an image using these task packages, you need to add
<filename>task-custom-apps</filename> and/or <filename>task-custom-apps</filename> and/or
<filename>task-custom-tools</filename> to <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. For other forms of image dependencies see the other areas of this section.
</para> </para>
</section> </section>
@ -831,7 +838,7 @@
<para> <para>
Ultimately users might want to add extra image features to the set used by Ultimately users might want to add extra image features to the set used by
Yocto Project with the 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. variable.
To create these features, the best reference is To create these features, the best reference is
<filename>meta/classes/core-image.bbclass</filename>, which shows how the <filename>meta/classes/core-image.bbclass</filename>, which shows how the
@ -840,12 +847,12 @@
<filename>IMAGE_FEATURES</filename> <filename>IMAGE_FEATURES</filename>
variable and then maps that into a set of tasks or packages. variable and then maps that into a set of tasks or packages.
Based on this information the 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. variable is generated automatically.
Users can add extra features by extending the class or creating a custom class for use Users can add extra features by extending the class or creating a custom class for use
with specialized image <filename>.bb</filename> files. with specialized image <filename>.bb</filename> files.
You can also add more features by configuring the 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 variable in the <filename>local.conf</filename> file found in the Yocto Project
files located in the build directory. files located in the build directory.
</para> </para>
@ -882,7 +889,7 @@
<para> <para>
The simplest way to add extra packages to all images is by using the 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: variable with the <filename>_append</filename> operator:
<literallayout class='monospaced'> <literallayout class='monospaced'>
IMAGE_INSTALL_append = " strace" IMAGE_INSTALL_append = " strace"
@ -917,7 +924,7 @@
<para> <para>
You can add packages using a similar approach through the 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. variable.
If you use this variable, only <filename>core-image-*</filename> images are affected. If you use this variable, only <filename>core-image-*</filename> images are affected.
</para> </para>
@ -930,7 +937,7 @@
It is possible to filter or mask out recipe and recipe append files such that It is possible to filter or mask out recipe and recipe append files such that
BitBake ignores them. BitBake ignores them.
You can do this by providing an expression with the 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. variable.
Here is an example: Here is an example:
<literallayout class='monospaced'> <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> <para>
For a complete example that shows how to add a new machine to the Yocto Project, For a complete example that shows how to add a new machine to the Yocto Project,
see the 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. in Appendix A.
</para> </para>
@ -1022,11 +1029,11 @@ so that there are some definite steps on how to do this. I need more detail her
<para> <para>
The most important variables to set in this file are as follows: The most important variables to set in this file are as follows:
<itemizedlist> <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> 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> 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> MACHINE_FEATURES</ulink></filename> (e.g. "kernel26 apm screen wifi")</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@ -1034,11 +1041,11 @@ so that there are some definite steps on how to do this. I need more detail her
<para> <para>
You might also need these variables: You might also need these variables:
<itemizedlist> <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> 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> 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> IMAGE_FSTYPES</ulink></filename> (e.g. "tar.gz jffs2")</para></listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@ -1065,9 +1072,9 @@ so that there are some definite steps on how to do this. I need more detail her
<para> <para>
If you are creating a new recipe, normal recipe-writing rules apply for setting If you are creating a new recipe, normal recipe-writing rules apply for setting
up a 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 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 You need to create a <filename>configure</filename> task that configures the
unpacked kernel with a defconfig. unpacked kernel with a defconfig.
You can do this by using a <filename>make defconfig</filename> command or, 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. used for other machines in a given kernel.
A possible way to do this is by listing the file in the 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>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'> <literallayout class='monospaced'>
COMPATIBLE_MACHINE = '(qemux86|qemumips)' COMPATIBLE_MACHINE = '(qemux86|qemumips)'
</literallayout> </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 During a build, the unpacked temporary source code used by recipes
to build packages is available in the Yocto Project Build Directory as to build packages is available in the Yocto Project Build Directory as
defined by the 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 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 <filename>meta/conf/bitbake.conf</filename> configuration file in the
<link linkend='yocto-project-files'>Yocto Project Files</link>: <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> <para>
The path to the work directory for the recipe 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. 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: For example, here is the work directory for packages whose targets are not device-dependent:
<literallayout class='monospaced'> <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> <note>
To better understand how the Yocto Project build system resolves directories during the To better understand how the Yocto Project build system resolves directories during the
build process, see the glossary entries for 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='&YOCTO_DOCS_REF_URL;#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='&YOCTO_DOCS_REF_URL;#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='&YOCTO_DOCS_REF_URL;#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='&YOCTO_DOCS_REF_URL;#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='&YOCTO_DOCS_REF_URL;#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='&YOCTO_DOCS_REF_URL;#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-PV'><filename>PV</filename></ulink>,
and 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. variables in the Yocto Project Reference Manual.
</note> </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> <listitem><para><emphasis>Change Your Working Directory:</emphasis>
You need to be in the directory that has the temporary source code. You need to be in the directory that has the temporary source code.
That directory is defined by the 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> variable.</para></listitem>
<listitem><para><emphasis>Create a New Patch:</emphasis> <listitem><para><emphasis>Create a New Patch:</emphasis>
Before modifying source code, you need to create a new patch. 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. <filename>-c cleanall</filename> with BitBake for the package.
Modifications will also disappear if you use the <filename>rm_work</filename> Modifications will also disappear if you use the <filename>rm_work</filename>
feature as described in the 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. section of the Yocto Project Quick Start.
</note></para></listitem> </note></para></listitem>
<listitem><para><emphasis>Generate the Patch:</emphasis> <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 Placing the patch here guarantees that the Yocto Project build system will find
the patch. the patch.
Next, add the patch into the 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. of the recipe.
Here is an example: Here is an example:
<literallayout class='monospaced'> <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> </literallayout></para></listitem>
<listitem><para><emphasis>Increment the Package Revision Number:</emphasis> <listitem><para><emphasis>Increment the Package Revision Number:</emphasis>
Finally, don't forget to 'bump' the 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> value in the same recipe since the resulting packages have changed.</para></listitem>
</orderedlist> </orderedlist>
</para> </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> <listitem><para><emphasis>Change Your Working Directory:</emphasis>
You need to be in the directory that has the temporary source code. You need to be in the directory that has the temporary source code.
That directory is defined by the 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> variable.</para></listitem>
<listitem><para><emphasis>Initialize a Git Repository:</emphasis> <listitem><para><emphasis>Initialize a Git Repository:</emphasis>
Use the <filename>git init</filename> command to initialize a new local repository 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. <filename>-c cleanall</filename> with BitBake for the package.
Modifications will also disappear if you use the <filename>rm_work</filename> Modifications will also disappear if you use the <filename>rm_work</filename>
feature as described in the 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. section of the Yocto Project Quick Start.
</note></para></listitem> </note></para></listitem>
<listitem><para><emphasis>See the List of Files You Changed:</emphasis> <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 Placing the patch here guarantees that the Yocto Project build system will find
the patch. the patch.
Next, add the patch into the 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. of the recipe.
Here is an example: Here is an example:
<literallayout class='monospaced'> <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> </literallayout></para></listitem>
<listitem><para><emphasis>Increment the Package Revision Number:</emphasis> <listitem><para><emphasis>Increment the Package Revision Number:</emphasis>
Finally, don't forget to 'bump' the 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> value in the same recipe since the resulting packages have changed.</para></listitem>
</orderedlist> </orderedlist>
</para> </para>
@ -1481,7 +1488,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para> <para>
This section overviews the Multilib process only. This section overviews the Multilib process only.
For more details on how to implement Multilib, see the 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. page.
</para> </para>
@ -1630,7 +1637,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para> <para>
For concepts on kernel configuration, see the 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. section in the Yocto Project Kernel Architecture and Use Manual.
</para> </para>
@ -1804,7 +1811,7 @@ so that there are some definite steps on how to do this. I need more detail her
<para> <para>
If a committed change results in changing the package output, If a committed change results in changing the package output,
then the value of the 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 variable needs to be increased
(or "bumped") as part of that commit. (or "bumped") as part of that commit.
This means that for new recipes you must be sure to add the <filename>PR</filename> 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> <para>
If you are sharing a common <filename>.inc</filename> file with multiple recipes, If you are sharing a common <filename>.inc</filename> file with multiple recipes,
you can also use the 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 variable to ensure that
the recipes sharing the <filename>.inc</filename> file are rebuilt when the the recipes sharing the <filename>.inc</filename> file are rebuilt when the
<filename>.inc</filename> file itself is changed. <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> <para>
When upgrading the version of a package, assuming the 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" changes, the <filename>PR</filename> variable should be reset to "r0"
(or "$(INC_PR).0" if you are using <filename>INC_PR</filename>). (or "$(INC_PR).0" if you are using <filename>INC_PR</filename>).
</para> </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. Usually, version increases occur only to packages.
However, if for some reason <filename>PV</filename> changes but does not However, if for some reason <filename>PV</filename> changes but does not
increase, you can increase the 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). variable (Package Epoch).
The <filename>PE</filename> variable defaults to "0". The <filename>PE</filename> variable defaults to "0".
</para> </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 If the package exists under a different name in a different distribution, you get a
<filename>distro_check</filename> mismatch. <filename>distro_check</filename> mismatch.
You can resolve this problem by defining a per-distro recipe name alias using the 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. variable.
</para> </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 In this case, you want a kernel source directory on the development machine where the
development occurs. development occurs.
You want the recipe's 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. variable to point to the external directory and use it as is, not copy it.
</para> </para>
<para> <para>
To build from software that comes from an external source, all you need to do is To build from software that comes from an external source, all you need to do is
change your recipe so that it inherits the 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 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. variable to point to your external source code.
Here are the statements to put in your recipe: Here are the statements to put in your recipe:
<literallayout class='monospaced'> <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> <para>
It is important to know that the <filename>externalsrc.bbclass</filename> assumes that the It is important to know that the <filename>externalsrc.bbclass</filename> assumes that the
source directory <filename>S</filename> and the build directory 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. are different even though by default these directories are the same.
This assumption is important because it supports building different variants of the recipe This assumption is important because it supports building different variants of the recipe
by using the 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. variable.
You could allow the build directory to be the same as the source directory but you would 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. 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" <!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'> <chapter id='dev-manual-intro'>
@ -69,7 +70,7 @@
<listitem><para>Reference material. <listitem><para>Reference material.
This type of material resides in an appropriate reference manual. This type of material resides in an appropriate reference manual.
For example, system variables are documented in the 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> Yocto Project Reference Manual</ulink>.</para></listitem>
<listitem><para>Detailed public information that is not specific to the Yocto Project. <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 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. need to supplement it with other information.
The following list presents other sources of information you might find helpful: The following list presents other sources of information you might find helpful:
<itemizedlist> <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 </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> as well as links to software and documentation.</para></listitem>
<listitem><para><emphasis> <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 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> with the Yocto Project quickly and start building an image.</para></listitem>
<listitem><para><emphasis> <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 The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference
guide to the Yocto Project build component known as "Poky." guide to the Yocto Project build component known as "Poky."
The manual also contains a reference chapter on Board Support Package (BSP) The manual also contains a reference chapter on Board Support Package (BSP)
layout.</para></listitem> layout.</para></listitem>
<listitem><para><emphasis> <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> 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 This guide provides information that lets you get going with the ADT to
develop projects using the Yocto Project.</para></listitem> develop projects using the Yocto Project.</para></listitem>
<listitem><para><emphasis> <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> The Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
This guide defines the structure for BSP components. This guide defines the structure for BSP components.
Having a commonly understood structure encourages standardization.</para></listitem> Having a commonly understood structure encourages standardization.</para></listitem>
<listitem><para><emphasis> <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> The Yocto Project Kernel Architecture and Use Manual</ulink>:</emphasis>
This manual describes the architecture of the Yocto Project kernel and provides This manual describes the architecture of the Yocto Project kernel and provides
some work flow examples.</para></listitem> some work flow examples.</para></listitem>
@ -120,14 +121,14 @@
demonstrates how an application developer uses Yocto Plug-in features within demonstrates how an application developer uses Yocto Plug-in features within
the Eclipse IDE.</para></listitem> the Eclipse IDE.</para></listitem>
<listitem><para><emphasis> <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> A list of commonly asked questions and their answers.</para></listitem>
<listitem><para><emphasis> <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 Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem> release of the Yocto Project.</para></listitem>
<listitem><para><emphasis> <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. The bug tracking application the Yocto Project uses.
If you find problems with the Yocto Project, you should report them using this If you find problems with the Yocto Project, you should report them using this
application.</para></listitem> application.</para></listitem>
@ -135,11 +136,11 @@
Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing
lists, click on the following URLs and follow the instructions: lists, click on the following URLs and follow the instructions:
<itemizedlist> <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> 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> 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 for a mailing list to receive offical Yocto Project announcements for developments and
as well as Yocto Project milestones.</para></listitem> as well as Yocto Project milestones.</para></listitem>
</itemizedlist></para></listitem> </itemizedlist></para></listitem>
@ -148,7 +149,7 @@
for Yocto Project and Poky discussions: <filename>#yocto</filename> and for Yocto Project and Poky discussions: <filename>#yocto</filename> and
<filename>#poky</filename>.</para></listitem> <filename>#poky</filename>.</para></listitem>
<listitem><para><emphasis> <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. The company where the Yocto Project build system Poky was first developed.
OpenedHand has since been acquired by Intel Corporation.</para></listitem> OpenedHand has since been acquired by Intel Corporation.</para></listitem>
<listitem><para><emphasis> <listitem><para><emphasis>
@ -156,7 +157,7 @@
The company that acquired OpenedHand in 2008 and continues development on the The company that acquired OpenedHand in 2008 and continues development on the
Yocto Project.</para></listitem> Yocto Project.</para></listitem>
<listitem><para><emphasis> <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 The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
from and to which it contributes.</para></listitem> from and to which it contributes.</para></listitem>
<listitem><para><emphasis> <listitem><para><emphasis>

View File

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

View File

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

View File

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

View File

@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" <!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'> <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. 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 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 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>. The Yocto Project Quick Start</ulink>.
</para> </para>
@ -57,7 +58,7 @@
</para></listitem> </para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages <listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
exist on your development system (e.g. Python 2.6 or 2.7). 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 section in the Yocto Project Quick start for the exact package
requirements and the installation commands to install them requirements and the installation commands to install them
for the supported distributions.</para></listitem> for the supported distributions.</para></listitem>
@ -75,13 +76,14 @@
<itemizedlist> <itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute <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 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> 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 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'> <literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2 $ tar xfj &YOCTO_POKY_TARBALL;
</literallayout></para> </literallayout></para>
<para>This method does not produce a Git repository. <para>This method does not produce a Git repository.
Instead, you simply end up with a local snapshot of the 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 <note>The name of the Yocto Project Files Git repository in the Yocto Project Files
Source Repositories is <filename>poky</filename>. Source Repositories is <filename>poky</filename>.
You can view the Yocto Project Source Repositories at 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>. The command creates the local repository in a directory named <filename>poky</filename>.
For information on Git used within the Yocto Project, see the For information on Git used within the Yocto Project, see the
"<link linkend='git'>Git</link>" section. "<link linkend='git'>Git</link>" section.
@ -111,9 +113,10 @@
remote: Compressing objects: 100% (35987/35987), done. remote: Compressing objects: 100% (35987/35987), done.
remote: Total 116882 (delta 80651), reused 113045 (delta 77578) remote: Total 116882 (delta 80651), reused 113045 (delta 77578)
Receiving objects: 100% (116882/116882), 72.13 MiB | 2.68 MiB/s, done. 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 <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> wiki page</ulink>, which describes how to create both <filename>poky</filename>
and <filename>meta-intel</filename> Git repositories.</para></listitem> and <filename>meta-intel</filename> Git repositories.</para></listitem>
</itemizedlist></para></listitem> </itemizedlist></para></listitem>
@ -122,7 +125,7 @@
need to establish local copies of the source. need to establish local copies of the source.
You can find Git repositories of supported Linux Yocto Kernels organized under You can find Git repositories of supported Linux Yocto Kernels organized under
"Yocto Linux Kernel" in the Yocto Project Source Repositories at "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 <para>This setup involves creating a bare clone of the Linux Yocto kernel and then
copying that cloned repository. copying that cloned repository.
You can create the bare clone and the copy of the bare clone anywhere you like. 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> 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 <para>You can find the <filename>poky-extras</filename> Git Repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at "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 It is good practice to create this Git repository inside the Yocto Project
files Git repository.</para> files Git repository.</para>
<para>Following is an example that creates the <filename>poky-extras</filename> Git <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 The Yocto Project provides a layer called <filename>meta-intel</filename> and
it is maintained in its own separate Git repository. it is maintained in its own separate Git repository.
The <filename>meta-intel</filename> layer contains many supported 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> <para>Similar considerations exist for setting up the <filename>meta-intel</filename>
layer. layer.
You can get set up for BSP development one of two ways: tarball extraction or You can get set up for BSP development one of two ways: tarball extraction or
@ -204,13 +207,13 @@
meta-n450 meta-n450
</literallayout> </literallayout>
See the 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 section in the Yocto Project Board Support Package (BSP) Developer's Guide for more
information on BSP Layers. information on BSP Layers.
<itemizedlist> <itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released <listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
BSP tarball from the same 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. to get the Yocto Project release.
Once you have the tarball, just extract it into a directory of your choice. 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 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. to set up the <filename>meta-intel</filename> Git repository.
You can locate the <filename>meta-intel</filename> Git repository in the You can locate the <filename>meta-intel</filename> Git repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at "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 <para>Typically, you set up the <filename>meta-intel</filename> Git repository inside
the Yocto Project Files Git repository. the Yocto Project Files Git repository.
For example, the following transcript shows the steps to clone the For example, the following transcript shows the steps to clone the
@ -237,7 +240,7 @@
Resolving deltas: 100% (546/546), done. Resolving deltas: 100% (546/546), done.
</literallayout></para> </literallayout></para>
<para>The same <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 wiki page</ulink> referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.</para></listitem> set up the <filename>meta-intel</filename> Git repository.</para></listitem>
</itemizedlist></para></listitem> </itemizedlist></para></listitem>
@ -245,7 +248,7 @@
applications using the Eclipse Integrated Development Environment (IDE), applications using the Eclipse Integrated Development Environment (IDE),
you will need this plug-in. you will need this plug-in.
See the 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) section in the Yocto Application Development Toolkit (ADT)
Users Guide for more information.</para></listitem> Users Guide for more information.</para></listitem>
</itemizedlist> </itemizedlist>
@ -258,7 +261,7 @@
<para> <para>
The build process creates an entire Linux distribution, including the toolchain, from source. The build process creates an entire Linux distribution, including the toolchain, from source.
For more information on this topic, see the 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. section in the Yocto Project Quick Start.
</para> </para>
@ -275,15 +278,15 @@
is set up how you want it. is set up how you want it.
This file defines many aspects of the build environment including This file defines many aspects of the build environment including
the target machine architecture through the 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 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='&YOCTO_DOCS_REF_URL;#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-PARALLEL_MAKE'>PARALLEL_MAKE</ulink></filename> variables, and
a centralized tarball download directory through the 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. <listitem><para>Build the image using the <filename>bitbake</filename> command.
If you want information on BitBake, see the user manual at 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 <listitem><para>Run the image either on the actual hardware or using the QEMU
emulator.</para></listitem> emulator.</para></listitem>
</orderedlist> </orderedlist>
@ -305,7 +308,7 @@
<para> <para>
You can find details on all these steps in the 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. section of the Yocto Project Quick Start.
</para> </para>
</section> </section>

View File

@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" <!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' <book id='dev-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude" xmlns:xi="http://www.w3.org/2003/XInclude"
@ -36,7 +37,7 @@
</revhistory> </revhistory>
<copyright> <copyright>
<year>2010-2012</year> <year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder> <holder>Linux Foundation</holder>
</copyright> </copyright>
@ -51,9 +52,9 @@
<note> <note>
Due to production processes, there could be differences between the Yocto Project Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and 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 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. For the latest version of this manual, see the manual on the website.
</note> </note>
</legalnotice> </legalnotice>