summaryrefslogtreecommitdiff
path: root/poky/documentation
diff options
context:
space:
mode:
Diffstat (limited to 'poky/documentation')
-rw-r--r--poky/documentation/Makefile3
-rw-r--r--poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml41
-rw-r--r--poky/documentation/bsp-guide/bsp-guide.xml10
-rw-r--r--poky/documentation/bsp-guide/bsp.xml4
-rw-r--r--poky/documentation/dev-manual/dev-manual-common-tasks.xml396
-rw-r--r--poky/documentation/dev-manual/dev-manual-intro.xml4
-rw-r--r--poky/documentation/dev-manual/dev-manual-start.xml448
-rw-r--r--poky/documentation/dev-manual/dev-manual.xml10
-rw-r--r--poky/documentation/dev-manual/figures/multiconfig_files.pngbin0 -> 18611 bytes
-rw-r--r--poky/documentation/kernel-dev/kernel-dev-common.xml2
-rw-r--r--poky/documentation/kernel-dev/kernel-dev.xml10
-rw-r--r--poky/documentation/mega-manual/figures/multiconfig_files.pngbin0 -> 18611 bytes
-rw-r--r--poky/documentation/mega-manual/mega-manual.xml10
-rw-r--r--poky/documentation/overview-manual/overview-manual-yp-intro.xml2
-rw-r--r--poky/documentation/overview-manual/overview-manual.xml10
-rw-r--r--poky/documentation/poky.ent24
-rw-r--r--poky/documentation/profile-manual/profile-manual-intro.xml4
-rw-r--r--poky/documentation/profile-manual/profile-manual-usage.xml4
-rw-r--r--poky/documentation/profile-manual/profile-manual.xml10
-rw-r--r--poky/documentation/ref-manual/migration.xml655
-rw-r--r--poky/documentation/ref-manual/ref-classes.xml160
-rw-r--r--poky/documentation/ref-manual/ref-manual.xml10
-rw-r--r--poky/documentation/ref-manual/ref-release-process.xml2
-rw-r--r--poky/documentation/ref-manual/ref-system-requirements.xml45
-rw-r--r--poky/documentation/ref-manual/ref-tasks.xml11
-rw-r--r--poky/documentation/ref-manual/ref-terms.xml32
-rw-r--r--poky/documentation/ref-manual/ref-variables.xml853
-rw-r--r--poky/documentation/sdk-manual/sdk-appendix-customizing.xml76
-rw-r--r--poky/documentation/sdk-manual/sdk-appendix-obtain.xml2
-rw-r--r--poky/documentation/sdk-manual/sdk-eclipse-project.xml4
-rw-r--r--poky/documentation/sdk-manual/sdk-manual.xml10
-rw-r--r--poky/documentation/toaster-manual/toaster-manual-start.xml2
-rw-r--r--poky/documentation/toaster-manual/toaster-manual.xml10
-rw-r--r--poky/documentation/tools/mega-manual.sed48
34 files changed, 2178 insertions, 734 deletions
diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile
index e41d5a0f6..093422f69 100644
--- a/poky/documentation/Makefile
+++ b/poky/documentation/Makefile
@@ -165,6 +165,7 @@ TARFILES = dev-style.css dev-manual.html \
TARFILES = dev-style.css dev-manual.html figures/buildhistory-web.png \
figures/dev-title.png figures/buildhistory.png \
figures/recipe-workflow.png figures/bitbake-build-flow.png \
+ figures/multiconfig_files.png \
eclipse
endif
@@ -261,7 +262,7 @@ TARFILES = mega-manual.html mega-style.css \
figures/image-generation.png figures/key-dev-elements.png\
figures/sdk-generation.png figures/recipe-workflow.png \
figures/build-workspace-directory.png figures/mega-title.png \
- figures/toaster-title.png figures/hosted-service.png \
+ figures/toaster-title.png figures/hosted-service.png figures/multiconfig_files.png \
figures/simple-configuration.png figures/poky-reference-distribution.png \
figures/compatible-layers.png figures/import-layer.png figures/new-project.png \
figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \
diff --git a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
index 62c4964f5..f8b01ecc4 100644
--- a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
+++ b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml
@@ -37,17 +37,30 @@
hardware.
You will use Yocto Project to build a reference embedded OS
called Poky.
- <note>
- The examples in this paper assume you are using a native Linux
- system running a recent Ubuntu Linux distribution.
- If the machine you want to use
- Yocto Project on to build an image is not a native Linux
- system, you can still perform these steps by using CROss
- PlatformS (CROPS) and setting up a Poky container.
- See the
- <ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-crops'>Setting Up to Use CROss PlatformS (CROPS)</ulink>"
- section in the Yocto Project Development Tasks Manual for more
- information.
+ <note><title>Notes</title>
+ <itemizedlist>
+ <listitem><para>
+ The examples in this paper assume you are using a
+ native Linux system running a recent Ubuntu Linux
+ distribution.
+ If the machine you want to use Yocto Project on to
+ build an image
+ (<ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>)
+ is not a native Linux system, you can
+ still perform these steps by using CROss PlatformS
+ (CROPS) and setting up a Poky container.
+ See the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-to-use-crops'>Setting Up to Use CROss PlatformS (CROPS)</ulink>"
+ section in the Yocto Project Development Tasks Manual for more
+ information.
+ </para></listitem>
+ <listitem><para>
+ You cannot use a build host that is using the
+ <ulink url='https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux'>Windows Subsystem for Linux</ulink>
+ (WSL).
+ The Yocto Project is not compatible with WSL.
+ </para></listitem>
+ </itemizedlist>
</note>
</para>
@@ -75,6 +88,10 @@
Linux distributions that support the Yocto Project, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
section in the Yocto Project Reference Manual.
+ For detailed information on preparing your build host, see
+ the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
+ section in the Yocto Project Development Tasks Manual.
</para></listitem>
<listitem><para>
<itemizedlist>
@@ -110,7 +127,7 @@
<note>
For host package requirements on all supported Linux
distributions, see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
+ "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host'>Required Packages for the Build Host</ulink>"
section in the Yocto Project Reference Manual.
</note>
<literallayout class='monospaced'>
diff --git a/poky/documentation/bsp-guide/bsp-guide.xml b/poky/documentation/bsp-guide/bsp-guide.xml
index 0389c725f..0d5b6b136 100644
--- a/poky/documentation/bsp-guide/bsp-guide.xml
+++ b/poky/documentation/bsp-guide/bsp-guide.xml
@@ -122,14 +122,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/bsp-guide/bsp.xml b/poky/documentation/bsp-guide/bsp.xml
index 00a28b032..0bb0b68ab 100644
--- a/poky/documentation/bsp-guide/bsp.xml
+++ b/poky/documentation/bsp-guide/bsp.xml
@@ -187,7 +187,7 @@
<emphasis>Set Up the Build Environment:</emphasis>
Be sure you are set up to use BitBake in a shell.
See the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
section in the Yocto Project Development Tasks Manual for information
on how to get a build host ready that is either a native
Linux machine or a machine that uses CROPS.
@@ -1012,7 +1012,7 @@
to Support Development Using the Yocto
Project</emphasis>:
See the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
section in the Yocto Project Development Tasks
Manual for options on how to get a system ready
to use the Yocto Project.
diff --git a/poky/documentation/dev-manual/dev-manual-common-tasks.xml b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
index fe1bfba6c..c75e718d6 100644
--- a/poky/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/poky/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -189,8 +189,8 @@
<ulink url='&YOCTO_WIKI_URL;/wiki/Releases'>Yocto Project</ulink>
releases for which the current version is
compatible.
- This variable is a good way to indicate how
- up-to-date your particular layer is.
+ This variable is a good way to indicate if
+ your particular layer is current.
</para></listitem>
</itemizedlist>
</para></listitem>
@@ -3237,30 +3237,22 @@
post-installation script to be delayed until the first boot.
For example, the script might need to be executed on the
device itself.
- To delay script execution until boot time, use the following
- structure in the post-installation script:
- <literallayout class='monospaced'>
- pkg_postinst_<replaceable>PACKAGENAME</replaceable>() {
- if [ x"$D" = "x" ]; then
- # Actions to carry out on the device go here
- else
- exit 1
- fi
- }
- </literallayout>
- </para>
-
- <para>
- The previous example delays execution until the image boots
- again because the environment variable <filename>D</filename>
- points to the directory containing the image when
- the root filesystem is created at build time but is unset
- when executed on the first boot.
+ To delay script execution until boot time, you must explicitly
+ mark post installs to defer to the target.
+ You can use <filename>pkg_postinst_ontarget()</filename> or
+ call
+ <filename>postinst-intercepts defer_to_first_boot</filename>
+ from <filename>pkg_postinst()</filename>.
+ Any failure of a <filename>pkg_postinst()</filename> script
+ (including exit 1) triggers an error during the
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-rootfs'><filename>do_rootfs</filename></ulink>
+ task.
</para>
<para>
- If you have recipes that use <filename>pkg_postinst</filename>
- scripts and they require the use of non-standard native
+ If you have recipes that use
+ <filename>pkg_postinst</filename> function
+ and they require the use of non-standard native
tools that have dependencies during rootfs construction, you
need to use the
<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_WRITE_DEPS'><filename>PACKAGE_WRITE_DEPS</filename></ulink>
@@ -3279,8 +3271,8 @@
<filename>pkg_prerm</filename>, and
<filename>pkg_postrm</filename>, respectively.
These scrips work in exactly the same way as does
- <filename>pkg_postinst</filename> with the exception that they
- run at different times.
+ <filename>pkg_postinst</filename> with the exception
+ that they run at different times.
Also, because of when they run, they are not applicable to
being run at image creation time like
<filename>pkg_postinst</filename>.
@@ -4264,7 +4256,7 @@
You need to be sure that your development host is
set up to use the Yocto Project.
For information on how to set up your host, see the
- "<link linkend='setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</link>"
+ "<link linkend='dev-preparing-the-build-host'>Preparing the Build Host</link>"
section.
</para></listitem>
<listitem><para>
@@ -5321,104 +5313,215 @@
</para>
</section>
- <section id='platdev-building-targets-with-multiple-configurations'>
- <title>Building Targets with Multiple Configurations</title>
+ <section id='dev-building-images-for-multiple-targets-using-multiple-configurations'>
+ <title>Building Images for Multiple Targets Using Multiple Configurations</title>
<para>
- Bitbake also has functionality that allows you to build
- multiple targets at the same time, where each target uses
- a different configuration.
+ You can use a single <filename>bitbake</filename> command
+ to build multiple images or packages for different targets
+ where each image or package requires a different configuration
+ (multiple configuration builds).
+ The builds, in this scenario, are sometimes referred to as
+ "multiconfigs", and this section uses that term throughout.
</para>
<para>
- In order to accomplish this, you setup each of the configurations
- you need to use in parallel by placing the configuration files in
- your current build directory alongside the usual
- <filename>local.conf</filename> file.
+ This section describes how to set up for multiple
+ configuration builds and how to account for cross-build
+ dependencies between the multiconfigs.
</para>
- <para>
- Follow these guidelines to create an environment that supports
- multiple configurations:
- <itemizedlist>
- <listitem><para>
- <emphasis>Create Configuration Files</emphasis>:
- You need to create a single configuration file for each
- configuration for which you want to add support.
- These files would contain lines such as the following:
- <literallayout class='monospaced'>
- MACHINE = "A"
- </literallayout>
- The files would contain any other variables that can
- be set and built in the same directory.
- <note>
- You can change the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>
- to not conflict.
- </note></para>
+ <section id='dev-setting-up-and-running-a-multiple-configuration-build'>
+ <title>Setting Up and Running a Multiple Configuration Build</title>
- <para>
- Furthermore, the configuration file must be located in the
- current build directory in a directory named
- <filename>multiconfig</filename> under the build's
- <filename>conf</filename> directory where
- <filename>local.conf</filename> resides.
- The reason for this restriction is because the
- <filename>BBPATH</filename> variable is not constructed
- until the layers are parsed.
- Consequently, using the configuration file as a
- pre-configuration file is not possible unless it is
- located in the current working directory.
- </para></listitem>
- <listitem><para>
- <emphasis>Add the BitBake Multi-Config Variable to you Local Configuration File</emphasis>:
- Use the
- <filename>BBMULTICONFIG</filename>
- variable in your <filename>conf/local.conf</filename>
- configuration file to specify each separate configuration.
- For example, the following line tells BitBake it should load
- <filename>conf/multiconfig/configA.conf</filename>,
- <filename>conf/multiconfig/configB.conf</filename>, and
- <filename>conf/multiconfig/configC.conf</filename>.
- <literallayout class='monospaced'>
- BBMULTICONFIG = "configA configB configC"
- </literallayout>
- </para></listitem>
- <listitem><para>
- <emphasis>Launch BitBake</emphasis>:
- Use the following BitBake command form to launch the
- build:
- <literallayout class='monospaced'>
- $ bitbake [multiconfig:<replaceable>multiconfigname</replaceable>:]<replaceable>target</replaceable> [[[multiconfig:<replaceable>multiconfigname</replaceable>:]<replaceable>target</replaceable>] ... ]
- </literallayout>
- Following is an example that supports building a minimal
- image for configuration A alongside a standard
- <filename>core-image-sato</filename>, which takes its
- configuration from <filename>local.conf</filename>:
- <literallayout class='monospaced'>
- $ bitbake multiconfig:configA:core-image-minimal core-image-sato
- </literallayout>
- </para></listitem>
- </itemizedlist>
- </para>
+ <para>
+ To accomplish a multiple configuration build, you must
+ define each target's configuration separately using
+ a parallel configuration file in the
+ <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
+ and you must follow a required file hierarchy.
+ Additionally, you must enable the multiple configuration
+ builds in your <filename>local.conf</filename> file.
+ </para>
- <para>
- Support for multiple configurations in this current release of
- the Yocto Project (&DISTRO_NAME; &DISTRO;) has some known issues:
- <itemizedlist>
- <listitem><para>
- No inter-multi-configuration dependencies exist.
- </para></listitem>
- <listitem><para>
- Shared State (sstate) optimizations do not exist.
- Consequently, if the build uses the same object twice
+ <para>
+ Follow these steps to set up and execute multiple
+ configuration builds:
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>Create Separate Configuration Files</emphasis>:
+ You need to create a single configuration file for
+ each build target (each multiconfig).
+ Minimally, each configuration file must define the
+ machine and the temporary directory BitBake uses
+ for the build.
+ Suggested practice dictates that you do not
+ overlap the temporary directories
+ used during the builds.
+ However, it is possible that you can share the
+ temporary directory
+ (<ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>).
+ For example, consider a scenario with two
+ different multiconfigs for the same
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>: "qemux86" built for
+ two distributions such as "poky" and "poky-lsb".
+ In this case, you might want to use the same
+ <filename>TMPDIR</filename>.</para>
+
+ <para>Here is an example showing the minimal
+ statements needed in a configuration file for
+ a "qemux86" target whose temporary build directory
+ is <filename>tmpmultix86</filename>:
+ <literallayout class='monospaced'>
+ MACHINE="qemux86"
+ TMPDIR="${TOPDIR}/tmpmultix86"
+ </literallayout></para>
+
+ <para>The location for these multiconfig
+ configuration files is specific.
+ They must reside in the current build directory in
+ a sub-directory of <filename>conf</filename> named
+ <filename>multiconfig</filename>.
+ Following is an example that defines two
+ configuration files for the "x86" and "arm"
+ multiconfigs:
+ <imagedata fileref="figures/multiconfig_files.png" align="center" width="4in" depth="3in" />
+ </para>
+
+ <para>The reason for this required file hierarchy
+ is because the <filename>BBPATH</filename> variable
+ is not constructed until the layers are parsed.
+ Consequently, using the configuration file as a
+ pre-configuration file is not possible unless it is
+ located in the current working directory.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Add the BitBake Multi-configuration Variable to the Local Configuration File</emphasis>:
+ Use the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-BBMULTICONFIG'><filename>BBMULTICONFIG</filename></ulink>
+ variable in your
+ <filename>conf/local.conf</filename> configuration
+ file to specify each multiconfig.
+ Continuing with the example from the previous
+ figure, the <filename>BBMULTICONFIG</filename>
+ variable needs to enable two multiconfigs: "x86"
+ and "arm" by specifying each configuration file:
+ <literallayout class='monospaced'>
+ BBMULTICONFIG = "x86 arm"
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Launch BitBake</emphasis>:
+ Use the following BitBake command form to launch the
+ multiple configuration build:
+ <literallayout class='monospaced'>
+ $ bitbake [multiconfig:<replaceable>multiconfigname</replaceable>:]<replaceable>target</replaceable> [[[multiconfig:<replaceable>multiconfigname</replaceable>:]<replaceable>target</replaceable>] ... ]
+ </literallayout>
+ For the example in this section, the following
+ command applies:
+ <literallayout class='monospaced'>
+ $ bitbake multiconfig:x86:core-image-minimal multiconfig:arm:core-image-sato
+ </literallayout>
+ The previous BitBake command builds a
+ <filename>core-image-minimal</filename> image that
+ is configured through the
+ <filename>x86.conf</filename> configuration file
+ and builds a <filename>core-image-sato</filename>
+ image that is configured through the
+ <filename>arm.conf</filename> configuration file.
+ </para></listitem>
+ </itemizedlist>
+ <note>
+ Support for multiple configuration builds in the
+ Yocto Project &DISTRO; (&DISTRO_NAME;) Release does
+ not include Shared State (sstate) optimizations.
+ Consequently, if a build uses the same object twice
in, for example, two different
<filename>TMPDIR</filename> directories, the build
- will either load from an existing sstate cache at the
- start or build the object twice.
- </para></listitem>
- </itemizedlist>
- </para>
+ either loads from an existing sstate cache for that
+ build at the start or builds the object fresh.
+ </note>
+ </para>
+ </section>
+
+ <section id='dev-enabling-multiple-configuration-build-dependencies'>
+ <title>Enabling Multiple Configuration Build Dependencies</title>
+
+ <para>
+ Sometimes dependencies can exist between targets
+ (multiconfigs) in a multiple configuration build.
+ For example, suppose that in order to build a
+ <filename>core-image-sato</filename> image for an "x86"
+ multiconfig, the root filesystem of an "arm"
+ multiconfig must exist.
+ This dependency is essentially that the
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-image'><filename>do_image</filename></ulink>
+ task in the <filename>core-image-sato</filename> recipe
+ depends on the completion of the
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-rootfs'><filename>do_rootfs</filename></ulink>
+ task of the <filename>core-image-minimal</filename>
+ recipe.
+ </para>
+
+ <para>
+ To enable dependencies in a multiple configuration
+ build, you must declare the dependencies in the recipe
+ using the following statement form:
+ <literallayout class='monospaced'>
+ <replaceable>task_or_package</replaceable>[mcdepends] = "multiconfig:<replaceable>from_multiconfig</replaceable>:<replaceable>to_multiconfig</replaceable>:<replaceable>recipe_name</replaceable>:<replaceable>task_on_which_to_depend</replaceable>"
+ </literallayout>
+ To better show how to use this statement, consider the
+ example scenario from the first paragraph of this section.
+ The following statement needs to be added to the recipe
+ that builds the <filename>core-image-sato</filename>
+ image:
+ <literallayout class='monospaced'>
+ do_image[mcdepends] = "multiconfig:x86:arm:core-image-minimal:do_rootfs"
+ </literallayout>
+ In this example, the
+ <replaceable>from_multiconfig</replaceable> is "x86".
+ The <replaceable>to_multiconfig</replaceable> is "arm".
+ The task on which the <filename>do_image</filename> task
+ in the recipe depends is the <filename>do_rootfs</filename>
+ task from the <filename>core-image-minimal</filename>
+ recipe associated with the "arm" multiconfig.
+ </para>
+
+ <para>
+ Once you set up this dependency, you can build the
+ "x86" multiconfig using a BitBake command as follows:
+ <literallayout class='monospaced'>
+ $ bitbake multiconfig:x86:core-image-sato
+ </literallayout>
+ This command executes all the tasks needed to create
+ the <filename>core-image-sato</filename> image for the
+ "x86" multiconfig.
+ Because of the dependency, BitBake also executes through
+ the <filename>do_rootfs</filename> task for the "arm"
+ multiconfig build.
+ </para>
+
+ <para>
+ Having a recipe depend on the root filesystem of another
+ build might not seem that useful.
+ Consider this change to the statement in the
+ <filename>core-image-sato</filename> recipe:
+ <literallayout class='monospaced'>
+ do_image[mcdepends] = "multiconfig:x86:arm:core-image-minimal:do_image"
+ </literallayout>
+ In this case, BitBake must create the
+ <filename>core-image-minimal</filename> image for the
+ "arm" build since the "x86" build depends on it.
+ </para>
+
+ <para>
+ Because "x86" and "arm" are enabled for multiple
+ configuration builds and have separate configuration
+ files, BitBake places the artifacts for each build in the
+ respective temporary build directories (i.e.
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>).
+ </para>
+ </section>
</section>
<section id='building-an-initramfs-image'>
@@ -7159,13 +7262,12 @@
easier-to-use and more flexible replacements for an
existing functionality in OE-Core's
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-image-live'><filename>image-live</filename></ulink>
- class and <filename>mkefidisk.sh</filename> script.
- The difference between
- Wic and those examples is
- that with Wic the
- functionality of those scripts is implemented
- by a general-purpose partitioning language, which is
- based on Redhat kickstart syntax.</para></listitem>
+ class.
+ The difference between Wic and those examples is
+ that with Wic the functionality of those scripts is
+ implemented by a general-purpose partitioning language,
+ which is based on Redhat kickstart syntax.
+ </para></listitem>
</itemizedlist>
</para>
</section>
@@ -11400,8 +11502,8 @@
within a separately started QEMU or any
other virtual machine manager.
</para></listitem>
- <listitem><para><emphasis>"Systemd-bootTarget":</emphasis>
- Choose "Systemd-bootTarget" if your hardware is
+ <listitem><para><emphasis>"SystemdbootTarget":</emphasis>
+ Choose "SystemdbootTarget" if your hardware is
an EFI-based machine with
<filename>systemd-boot</filename> as bootloader and
<filename>core-image-testmaster</filename>
@@ -11409,10 +11511,10 @@
Also, your hardware under test must be in a
DHCP-enabled network that gives it the same IP
address for each reboot.</para>
- <para>If you choose "Systemd-bootTarget", there are
+ <para>If you choose "SystemdbootTarget", there are
additional requirements and considerations.
See the
- "<link linkend='selecting-systemd-boottarget'>Selecting Systemd-bootTarget</link>"
+ "<link linkend='selecting-systemdboottarget'>Selecting SystemdbootTarget</link>"
section, which follows, for more information.
</para></listitem>
<listitem><para><emphasis>"BeagleBoneTarget":</emphasis>
@@ -11458,12 +11560,12 @@
</para>
</section>
- <section id='selecting-systemd-boottarget'>
- <title>Selecting Systemd-bootTarget</title>
+ <section id='selecting-systemdboottarget'>
+ <title>Selecting SystemdbootTarget</title>
<para>
If you did not set <filename>TEST_TARGET</filename> to
- "Systemd-bootTarget", then you do not need any information
+ "SystemdbootTarget", then you do not need any information
in this section.
You can skip down to the
"<link linkend='qemu-image-running-tests'>Running Tests</link>"
@@ -11472,7 +11574,7 @@
<para>
If you did set <filename>TEST_TARGET</filename> to
- "Systemd-bootTarget", you also need to perform a one-time
+ "SystemdbootTarget", you also need to perform a one-time
setup of your master image by doing the following:
<orderedlist>
<listitem><para><emphasis>Set <filename>EFI_PROVIDER</filename>:</emphasis>
@@ -11543,7 +11645,7 @@
<para>
The final thing you need to do when setting
- <filename>TEST_TARGET</filename> to "Systemd-bootTarget" is
+ <filename>TEST_TARGET</filename> to "SystemdbootTarget" is
to set up the test image:
<orderedlist>
<listitem><para><emphasis>Set up your <filename>local.conf</filename> file:</emphasis>
@@ -11552,7 +11654,7 @@
<literallayout class='monospaced'>
IMAGE_FSTYPES += "tar.gz"
INHERIT += "testimage"
- TEST_TARGET = "Systemd-bootTarget"
+ TEST_TARGET = "SystemdbootTarget"
TEST_TARGET_IP = "192.168.2.3"
</literallayout>
</para></listitem>
@@ -11687,16 +11789,15 @@
To run the tests automatically after the
OpenEmbedded build system successfully creates an image,
first set the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-TEST_IMAGE'><filename>TEST_IMAGE</filename></ulink>
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-TESTIMAGE_AUTO'><filename>TESTIMAGE_AUTO</filename></ulink>
variable to "1" in your <filename>local.conf</filename>
file in the
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>:
<literallayout class='monospaced'>
- TEST_IMAGE = "1"
+ TESTIMAGE_AUTO = "1"
</literallayout>
Next, build your image.
- If the image successfully builds, the tests will be
- run:
+ If the image successfully builds, the tests run:
<literallayout class='monospaced'>
bitbake core-image-sato
</literallayout></para></listitem>
@@ -11969,7 +12070,7 @@
The target controller object used to deploy
and start an image on a particular target
(e.g. QemuTarget, SimpleRemote, and
- Systemd-bootTarget).
+ SystemdbootTarget).
Tests usually use the following:
<itemizedlist>
<listitem><para><emphasis><filename>ip</filename>:</emphasis>
@@ -15072,6 +15173,31 @@
</para>
</section>
</section>
+
+ <section id='copying-licenses-that-do-not-exist'>
+ <title>Copying Licenses that Do Not Exist</title>
+
+ <para>
+ Some packages, such as the linux-firmware package, have many
+ licenses that are not in any way common.
+ You can avoid adding a lot of these types of common license
+ files, which are only applicable to a specific package, by using
+ the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-NO_GENERIC_LICENSE'><filename>NO_GENERIC_LICENSE</filename></ulink>
+ variable.
+ Using this variable also avoids QA errors when you use a
+ non-common, non-CLOSED license in a recipe.
+ </para>
+
+ <para>
+ The following is an example that uses the
+ <filename>LICENSE.Abilis.txt</filename>
+ file as the license from the fetched source:
+ <literallayout class='monospaced'>
+ NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt"
+ </literallayout>
+ </para>
+ </section>
</section>
<section id='using-the-error-reporting-tool'>
diff --git a/poky/documentation/dev-manual/dev-manual-intro.xml b/poky/documentation/dev-manual/dev-manual-intro.xml
index f457c8033..3a34094b8 100644
--- a/poky/documentation/dev-manual/dev-manual-intro.xml
+++ b/poky/documentation/dev-manual/dev-manual-intro.xml
@@ -19,7 +19,7 @@
</para>
<para>
- The following list describes what you can get from this manual:
+ This manual provides the following:
<itemizedlist>
<listitem><para>
Procedures that help you get going with the Yocto Project.
@@ -44,7 +44,7 @@
</para>
<para>
- This manual will not give you the following:
+ This manual does not provide the following:
<itemizedlist>
<listitem><para>
Redundant Step-by-step Instructions:
diff --git a/poky/documentation/dev-manual/dev-manual-start.xml b/poky/documentation/dev-manual/dev-manual-start.xml
index d8726b485..3f971ba4b 100644
--- a/poky/documentation/dev-manual/dev-manual-start.xml
+++ b/poky/documentation/dev-manual/dev-manual-start.xml
@@ -10,8 +10,10 @@
This chapter provides procedures related to getting set up to use the
Yocto Project.
You can learn about creating a team environment that develops using the
- Yocto Project, how to set up a build host, how to locate Yocto Project
- source repositories, and how to create local Git repositories.
+ Yocto Project, how to set up a
+ <ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>,
+ how to locate Yocto Project source repositories, and how to create local
+ Git repositories.
</para>
<section id="usingpoky-changes-collaborate">
@@ -19,69 +21,71 @@
<para>
It might not be immediately clear how you can use the Yocto
- Project in a team development environment, or scale it for a large
- team of developers.
+ Project in a team development environment, or how to scale it for a
+ large team of developers.
One of the strengths of the Yocto Project is that it is extremely
flexible.
Thus, you can adapt it to many different use cases and scenarios.
- However, these characteristics can cause a struggle if you are trying
+ However, this flexibility could cause difficulties if you are trying
to create a working setup that scales across a large team.
</para>
<para>
To help you understand how to set up this type of environment,
- this section presents a procedure that gives you the information
- to learn how to get the results you want.
+ this section presents a procedure that gives you information
+ that can help you get the results you want.
The procedure is high-level and presents some of the project's most
successful experiences, practices, solutions, and available
- technologies that work well.
+ technologies that have proved to work well in the past.
Keep in mind, the procedure here is a starting point.
- You can build off it and customize it to fit any
+ You can build off these steps and customize the procedure to fit any
particular working environment and set of practices.
<orderedlist>
<listitem><para>
<emphasis>Determine Who is Going to be Developing:</emphasis>
You need to understand who is going to be doing anything
related to the Yocto Project and what their roles would be.
- Making this determination is essential to completing the
+ Making this determination is essential to completing
steps two and three, which are to get your equipment together
and set up your development environment's hardware topology.
</para>
<para>The following roles exist:
- <itemizedlist>
- <listitem><para>
- <emphasis>Application Development:</emphasis>
- These types of developers do application level work
- on top of an existing software stack.
- </para></listitem>
- <listitem><para>
- <emphasis>Core System Development:</emphasis>
- These types of developers work on the contents of the
- operating system image itself.
- </para></listitem>
- <listitem><para>
- <emphasis>Build Engineer:</emphasis>
- This type of developer manages Autobuilders and
- releases.
- Not all environments need a Build Engineer.
- </para></listitem>
- <listitem><para>
- <emphasis>Test Engineer:</emphasis>
- This type of developer creates and manages automated
- tests needed to ensure all application and core
- system development meets desired quality standards.
- </para></listitem>
- </itemizedlist>
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>Application Developer:</emphasis>
+ This type of developer does application level work
+ on top of an existing software stack.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Core System Developer:</emphasis>
+ This type of developer works on the contents of the
+ operating system image itself.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Build Engineer:</emphasis>
+ This type of developer manages Autobuilders and
+ releases.
+ Not all environments need a Build Engineer.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Test Engineer:</emphasis>
+ This type of developer creates and manages automated
+ tests that are used to ensure all application and
+ core system development meets desired quality
+ standards.
+ </para></listitem>
+ </itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Gather the Hardware:</emphasis>
Based on the size and make-up of the team, get the hardware
together.
- Any development, build, or test engineer should be using
- a system that is running a supported Linux distribution.
- Systems, in general, should be high performance (e.g. dual,
- six-core Xeons with 24 Gbytes of RAM and plenty of disk space).
+ Ideally, any development, build, or test engineer uses
+ a system that runs a supported Linux distribution.
+ These systems, in general, should be high performance
+ (e.g. dual, six-core Xeons with 24 Gbytes of RAM and plenty
+ of disk space).
You can help ensure efficiency by having any machines used
for testing or that run Autobuilders be as high performance
as possible.
@@ -107,11 +111,12 @@
<emphasis>Use Git as Your Source Control Manager (SCM):</emphasis>
Keeping your
<ulink url='&YOCTO_DOCS_REF_URL;#metadata'>Metadata</ulink>
- and any software you are developing under the
- control of an SCM system that is compatible
- with the OpenEmbedded build system is advisable.
- Of the SCMs BitBake supports, the
- Yocto Project team strongly recommends using
+ (i.e. recipes, configuration files, classes, and so forth)
+ and any software you are developing under the control of an SCM
+ system that is compatible with the OpenEmbedded build system
+ is advisable.
+ Of the SCMs BitBake supports, the Yocto Project team strongly
+ recommends using
<ulink url='&YOCTO_DOCS_OM_URL;#git'>Git</ulink>.
Git is a distributed system that is easy to backup,
allows you to work remotely, and then connects back to the
@@ -129,20 +134,19 @@
being used to generate the web interface that lets you view the
repositories.
The <filename>gitolite</filename> software identifies users
- using SSH keys and allows branch-based
- access controls to repositories that you can control as little
- or as much as necessary.
-
+ using SSH keys and allows branch-based access controls to
+ repositories that you can control as little or as much as
+ necessary.
<note>
The setup of these services is beyond the scope of this
manual.
- However, sites such as these exist that describe how to
- perform setup:
+ However, sites such as the following exist that describe
+ how to perform setup:
<itemizedlist>
<listitem><para>
<ulink url='http://git-scm.com/book/ch4-8.html'>Git documentation</ulink>:
- Describes how to install <filename>gitolite</filename>
- on the server.
+ Describes how to install
+ <filename>gitolite</filename> on the server.
</para></listitem>
<listitem><para>
<ulink url='http://gitolite.com'>Gitolite</ulink>:
@@ -150,8 +154,8 @@
</para></listitem>
<listitem><para>
<ulink url='https://git.wiki.kernel.org/index.php/Interfaces,_frontends,_and_tools'>Interfaces, frontends, and tools</ulink>:
- Documentation on how to create interfaces and frontends
- for Git.
+ Documentation on how to create interfaces and
+ frontends for Git.
</para></listitem>
</itemizedlist>
</note>
@@ -161,23 +165,22 @@
As mentioned earlier, application developers are creating
applications on top of existing software stacks.
Following are some best practices for setting up machines
- that do application development:
+ used for application development:
<itemizedlist>
<listitem><para>
- Use a pre-built toolchain that
- contains the software stack itself.
+ Use a pre-built toolchain that contains the software
+ stack itself.
Then, develop the application code on top of the
stack.
This method works well for small numbers of relatively
isolated applications.
</para></listitem>
<listitem><para>
- When possible, use the Yocto Project
- plug-in for the
+ When possible, use the Yocto Project plug-in for the
<trademark class='trade'>Eclipse</trademark> IDE
and SDK development practices.
For more information, see the
- "<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>"
+ <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>
manual.
</para></listitem>
<listitem><para>
@@ -186,27 +189,29 @@
toolchain downloads or as updates through a package
update mechanism using <filename>opkg</filename>
to provide updates to an existing toolchain.
- The exact mechanics of how and when to do this are a
- question for local policy.
+ The exact mechanics of how and when to do this depend
+ on local policy.
</para></listitem>
<listitem><para>
- Use multiple toolchains installed locally
- into different locations to allow development across
+ Use multiple toolchains installed locally into
+ different locations to allow development across
versions.
</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Set up the Core Development Machines:</emphasis>
- As mentioned earlier, these types of developers work on the
- contents of the operating system itself.
+ As mentioned earlier, core developers work on the contents of
+ the operating system itself.
Following are some best practices for setting up machines
used for developing images:
<itemizedlist>
<listitem><para>
- Have the Yocto Project build system itself available on
- the developer workstations so developers can run their own
- builds and directly rebuild the software stack.
+ Have the
+ <ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>OpenEmbedded build system</ulink>
+ available on the developer workstations so developers
+ can run their own builds and directly rebuild the
+ software stack.
</para></listitem>
<listitem><para>
Keep the core system unchanged as much as
@@ -228,8 +233,9 @@
Autobuilders are often the core of the development
environment.
It is here that changes from individual developers are brought
- together and centrally tested and subsequent decisions about
- releases can be made.
+ together and centrally tested.
+ Based on this automated build and test environment, subsequent
+ decisions about releases can be made.
Autobuilders also allow for "continuous integration" style
testing of software components and regression identification
and tracking.</para>
@@ -239,22 +245,23 @@
The Yocto Project team has found this implementation
works well in this role.
A public example of this is the Yocto Project
- Autobuilders, which we use to test the overall health of the
- project.</para>
+ Autobuilders, which the Yocto Project team uses to test the
+ overall health of the project.</para>
<para>The features of this system are:
<itemizedlist>
<listitem><para>
- Highlights when commits break the build.
- </para></listitem>
+ Highlights when commits break the build.
+ </para></listitem>
<listitem><para>
- Populates an sstate cache from which
- developers can pull rather than requiring local
- builds.
+ Populates an
+ <ulink url='&YOCTO_DOCS_OM_URL;#shared-state-cache'>sstate cache</ulink>
+ from which developers can pull rather than requiring
+ local builds.
</para></listitem>
<listitem><para>
- Allows commit hook triggers,
- which trigger builds when commits are made.
+ Allows commit hook triggers, which trigger builds when
+ commits are made.
</para></listitem>
<listitem><para>
Allows triggering of automated image booting
@@ -275,19 +282,19 @@
Allows scheduling of builds so that resources
can be used efficiently.
</para></listitem>
- </itemizedlist>
- </para></listitem>
- <listitem><para>
- <emphasis>Set up Test Machines:</emphasis>
- Use a small number of shared, high performance systems
- for testing purposes.
- Developers can use these systems for wider, more
- extensive testing while they continue to develop
- locally using their primary development system.
- </para></listitem>
- <listitem><para>
- <emphasis>Document Policies and Change Flow:</emphasis>
- The Yocto Project itself uses a hierarchical structure and a
+ </itemizedlist>
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Set up Test Machines:</emphasis>
+ Use a small number of shared, high performance systems
+ for testing purposes.
+ Developers can use these systems for wider, more
+ extensive testing while they continue to develop
+ locally using their primary development system.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Document Policies and Change Flow:</emphasis>
+ The Yocto Project uses a hierarchical structure and a
pull model.
Scripts exist to create and send pull requests
(i.e. <filename>create-pull-request</filename> and
@@ -330,16 +337,20 @@
<listitem><para>
Maintain your Metadata in layers that make sense
for your situation.
- See the "<link linkend='understanding-and-creating-layers'>Understanding
- and Creating Layers</link>" section for more information on
- layers.
+ See the
+ "<ulink url='&YOCTO_DOCS_OM_URL;#the-yocto-project-layer-model'>The Yocto Project Layer Model</ulink>"
+ section in the Yocto Project Overview and Concepts
+ Manual and the
+ "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>"
+ section for more information on layers.
</para></listitem>
<listitem><para>
Separate the project's Metadata and code by using
separate Git repositories.
See the
"<ulink url='&YOCTO_DOCS_OM_URL;#yocto-project-repositories'>Yocto Project Source Repositories</ulink>"
- section for information on these repositories.
+ section in the Yocto Project Overview and Concepts
+ Manual for information on these repositories.
See the
"<link linkend='locating-yocto-project-source-files'>Locating Yocto Project Source Files</link>"
section for information on how to set up local Git
@@ -360,7 +371,8 @@
</para></listitem>
<listitem><para>
The Yocto Project community encourages you
- to send patches to the project to fix bugs or add features.
+ to send patches to the project to fix bugs or add
+ features.
If you do submit patches, follow the project commit
guidelines for writing good commit messages.
See the "<link linkend='how-to-submit-a-change'>Submitting a Change to the Yocto Project</link>"
@@ -369,10 +381,12 @@
<listitem><para>
Send changes to the core sooner than later
as others are likely to run into the same issues.
- For some guidance on mailing lists to use, see the list in the
+ For some guidance on mailing lists to use, see the list
+ in the
"<link linkend='how-to-submit-a-change'>Submitting a Change to the Yocto Project</link>"
section.
- For a description of the available mailing lists, see the
+ For a description of the available mailing lists, see
+ the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing Lists</ulink>"
section in the Yocto Project Reference Manual.
</para></listitem>
@@ -382,22 +396,28 @@
</para>
</section>
-<section id='setting-up-the-development-host-to-use-the-yocto-project'>
+<section id='dev-preparing-the-build-host'>
<title>Preparing the Build Host</title>
<para>
- This section provides procedures to set up your development host to
- use the Yocto Project.
- You can use the Yocto Project on a native Linux development host or
- you can use
+ This section provides procedures to set up a system to be used as your
+ <ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>
+ for development using the Yocto Project.
+ Your build host can be a native Linux machine (recommended) or it can
+ be a machine (Linux, Mac, or Windows) that uses
<ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/crops/about/'>CROPS</ulink>,
which leverages
- <ulink url='https://www.docker.com/'>Docker Containers</ulink>,
- to prepare any Linux, Mac, or Windows development host.
+ <ulink url='https://www.docker.com/'>Docker Containers</ulink>.
+ <note>
+ You cannot use a build host that is using the
+ <ulink url='https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux'>Windows Subsystem for Linux</ulink>
+ (WSL).
+ The Yocto Project is not compatible with WSL.
+ </note>
</para>
<para>
- Once your development host is set up to use the Yocto Project,
+ Once your build host is set up to use the Yocto Project,
further steps are necessary depending on what you want to
accomplish.
See the following references for information on how to prepare for
@@ -432,7 +452,7 @@
<para>
Follow these steps to prepare a native Linux machine as your
- Yocto Project development host:
+ Yocto Project Build Host:
<orderedlist>
<listitem><para>
<emphasis>Use a Supported Linux Distribution:</emphasis>
@@ -450,8 +470,8 @@
</para></listitem>
<listitem><para>
<emphasis>Have Enough Free Memory:</emphasis>
- You should have at least 50 Gbytes of free disk space
- for building images.
+ Your system should have at least 50 Gbytes of free disk
+ space for building images.
</para></listitem>
<listitem><para>
<emphasis>Meet Minimal Version Requirements:</emphasis>
@@ -480,14 +500,14 @@
<listitem><para>
<emphasis>Install Development Host Packages:</emphasis>
Required development host packages vary depending on your
- build machine and what you want to do with the Yocto
+ build host and what you want to do with the Yocto
Project.
Collectively, the number of required packages is large
if you want to be able to cover all cases.</para>
<para>For lists of required packages for all scenarios,
see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
+ "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host'>Required Packages for the Build Host</ulink>"
section in the Yocto Project Reference Manual.
</para></listitem>
</orderedlist>
@@ -514,7 +534,7 @@
<para>
With
- <ulink url='https://git.yoctoproject.org/cgit/cgit.cgi/crops/about/'>CROPS</ulink>,
+ <ulink url='https://github.com/crops/crops/blob/master/README.md'>CROPS</ulink>,
which leverages
<ulink url='https://www.docker.com/'>Docker Containers</ulink>,
you can create a Yocto Project development environment that
@@ -525,66 +545,101 @@
<para>
Follow these general steps to prepare a Windows, Mac, or Linux
- machine as your Yocto Project development host:
+ machine as your Yocto Project build host:
<orderedlist>
<listitem><para>
- <emphasis>Go to the Docker Installation Site:</emphasis>
+ <emphasis>Determine What Your Build Host Needs:</emphasis>
<ulink url='https://www.docker.com/what-docker'>Docker</ulink>
is a software container platform that you need to install
- on the host development machine.
- To start the installation process, see the
- <ulink url='https://docs.docker.com/engine/installation/'>Docker Installation</ulink>
- site.
+ on the build host.
+ Depending on your build host, you might have to install
+ different software to support Docker containers.
+ Go to the Docker installation page and read about the
+ platform requirements in
+ "<ulink url='https://docs.docker.com/install/#supported-platforms'>Supported Platforms</ulink>"
+ your build host needs to run containers.
</para></listitem>
<listitem><para>
- <emphasis>Choose Your Docker Edition:</emphasis>
- Docker comes in several editions.
- For the Yocto Project, the stable community edition
- (i.e. "Docker CE Stable") is adequate.
- You can learn more about the Docker editions from the
- site.
+ <emphasis>Choose What To Install:</emphasis>
+ Depending on whether or not your build host meets system
+ requirements, you need to install "Docker CE Stable" or
+ the "Docker Toolbox".
+ Most situations call for Docker CE.
+ However, if you have a build host that does not meet
+ requirements (e.g. Pre-Windows 10 or Windows 10 "Home"
+ version), you must install Docker Toolbox instead.
</para></listitem>
<listitem><para>
<emphasis>Go to the Install Site for Your Platform:</emphasis>
Click the link for the Docker edition associated with
- your development host machine's native software.
- For example, if your machine is running Microsoft
+ your build host's native software.
+ For example, if your build host is running Microsoft
Windows Version 10 and you want the Docker CE Stable
edition, click that link under "Supported Platforms".
</para></listitem>
<listitem><para>
- <emphasis>Understand What You Need:</emphasis>
- The install page has pre-requisites your machine must
- meet.
- Be sure you read through this page and make sure your
- machine meets the requirements to run Docker.
- If your machine does not meet the requirements, the page
- has instructions to handle exceptions.
- For example, to run Docker on Windows 10, you must have
- the pro version of the operating system.
- If you have the home version, you need to install the
- <ulink url='https://docs.docker.com/toolbox/overview/#ready-to-get-started'>Docker Toolbox</ulink>.
- </para>
-
- <para>Another example is that a Windows machine needs to
- have Microsoft Hyper-V.
- If you have a legacy version of the the Microsoft
- operating system or for any other reason you do not have
- Microsoft Hyper-V, you would have to enter the BIOS and
- enable virtualization.
- </para></listitem>
- <listitem><para>
<emphasis>Install the Software:</emphasis>
Once you have understood all the pre-requisites, you can
download and install the appropriate software.
Follow the instructions for your specific machine and
- the type of the software you need to install.
+ the type of the software you need to install:
+ <itemizedlist>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/docker-for-windows/install/#install-docker-for-windows-desktop-app'>Docker CE for Windows</ulink>
+ for Windows build hosts that meet requirements.
+ </para></listitem>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/docker-for-mac/install/#install-and-run-docker-for-mac'>Docker CE for Macs</ulink>
+ for Mac build hosts that meet requirements.
+ </para></listitem>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/toolbox/toolbox_install_windows/'>Docker Toolbox for Windows</ulink>
+ for Windows build hosts that do not meet Docker
+ requirements.
+ </para></listitem>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/toolbox/toolbox_install_mac/'>Docker Toolbox for MacOS</ulink>
+ for Mac build hosts that do not meet Docker
+ requirements.
+ </para></listitem>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/install/linux/docker-ce/centos/'>Docker CE for CentOS</ulink>
+ for Linux build hosts running the CentOS
+ distribution.
+ </para></listitem>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/install/linux/docker-ce/debian/'>Docker CE for Debian</ulink>
+ for Linux build hosts running the Debian
+ distribution.
+ </para></listitem>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/install/linux/docker-ce/fedora/'>Docker CE for Fedora</ulink>
+ for Linux build hosts running the Fedora
+ distribution.
+ </para></listitem>
+ <listitem><para>
+ Install
+ <ulink url='https://docs.docker.com/install/linux/docker-ce/ubuntu/'>Docker CE for Ubuntu</ulink>
+ for Linux build hosts running the Ubuntu
+ distribution.
+ </para></listitem>
+ </itemizedlist>
</para></listitem>
<listitem><para>
<emphasis>Optionally Orient Yourself With Docker:</emphasis>
If you are unfamiliar with Docker and the container
concept, you can learn more here -
<ulink url='https://docs.docker.com/get-started/'></ulink>.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Launch Docker or Docker Toolbox:</emphasis>
You should be able to launch Docker or the Docker Toolbox
and have a terminal shell on your development host.
</para></listitem>
@@ -593,7 +648,7 @@
Go to
<ulink url='https://github.com/crops/docker-win-mac-docs/wiki'></ulink>
and follow the directions for your particular
- development host (i.e. Linux, Mac, or Windows).</para>
+ build host (i.e. Linux, Mac, or Windows).</para>
<para>Once you complete the setup instructions for your
machine, you have the Poky, Extensible SDK, and Toaster
@@ -622,8 +677,8 @@
<title>Locating Yocto Project Source Files</title>
<para>
- This section contains procedures related to locating Yocto Project
- files.
+ This section shows you how to locate and access the
+ source files that ship with the Yocto Project.
You establish and use these local files to work on projects.
<note><title>Notes</title>
<itemizedlist>
@@ -670,7 +725,7 @@
</para></listitem>
<listitem><para>
<emphasis>Select the Repository:</emphasis>
- Click on the repository in which you are interested (i.e.
+ Click on the repository in which you are interested (e.g.
<filename>poky</filename>).
</para></listitem>
<listitem><para>
@@ -704,6 +759,7 @@
The procedure in this section exists should you desire a
tarball snapshot of any given component.
</note>
+ Follow these steps to locate and download a particular tarball:
<orderedlist>
<listitem><para>
<emphasis>Access the Index of Releases:</emphasis>
@@ -753,7 +809,10 @@
uses a "DOWNLOADS" page from which you can locate and download
tarballs of any Yocto Project release.
Rather than Git repositories, these files represent snapshot
- tarballs.
+ tarballs similar to the tarballs located in the Index of Releases
+ described in the
+ "<link linkend='accessing-index-of-releases'>Accessing Index of Releases</link>"
+ section.
<note><title>Tip</title>
The recommended method for accessing Yocto Project
components is to use Git to clone a repository and work from
@@ -771,18 +830,23 @@
<listitem><para>
<emphasis>Get to the Downloads Area:</emphasis>
Select the "DOWNLOADS" item from the pull-down
- "SOFTWARE" tab menu.
+ "SOFTWARE" tab menu near the top of the page.
</para></listitem>
<listitem><para>
<emphasis>Select a Yocto Project Release:</emphasis>
Use the menu next to "RELEASE" to display and choose
- a Yocto Project release (e.g. sumo, rocko, pyro, and
- so forth.
- For a "map" of Yocto Project releases to version numbers,
- see the
- <ulink url='https://wiki.yoctoproject.org/wiki/Releases'>Releases</ulink>
- wiki page.
- </para></listitem>
+ a recent or past supported Yocto Project release
+ (e.g. &DISTRO_NAME_NO_CAP;,
+ &DISTRO_NAME_NO_CAP_MINUS_ONE;, and so forth).
+ <note><title>Tip</title>
+ For a "map" of Yocto Project releases to version
+ numbers, see the
+ <ulink url='https://wiki.yoctoproject.org/wiki/Releases'>Releases</ulink>
+ wiki page.
+ </note>
+ You can use the "RELEASE ARCHIVE" link to reveal a menu of
+ all Yocto Project releases.
+ </para></listitem>
<listitem><para>
<emphasis>Download Tools or Board Support Packages (BSPs):</emphasis>
From the "DOWNLOADS" page, you can download tools or
@@ -799,8 +863,9 @@
<para>
Yocto Project maintains an area for nightly builds that contains
tarball releases at <ulink url='&YOCTO_AB_NIGHTLY_URL;'/>.
- These builds include Yocto Project releases, SDK installation
- scripts, and experimental builds.
+ These builds include Yocto Project releases ("poky"),
+ toolchains, Yocto Project plugins for Eclipse, and builds for
+ supported machines.
</para>
<para>
@@ -808,14 +873,21 @@
Yocto Project component, use the following procedure:
<orderedlist>
<listitem><para>
- <emphasis>Access the Nightly Builds:</emphasis>
+ <emphasis>Locate the Index of Nightly Builds:</emphasis>
Open a browser and go to
<ulink url='&YOCTO_AB_NIGHTLY_URL;'/> to access the
Nightly Builds.
</para></listitem>
<listitem><para>
+ <emphasis>Select a Date:</emphasis>
+ Click on the date in which you are interested.
+ If you want the latest builds, use "CURRENT".
+ </para></listitem>
+ <listitem><para>
<emphasis>Select a Build:</emphasis>
- Click on any build by date in which you are interested.
+ Choose the area in which you are interested.
+ For example, if you are looking for the most recent
+ toolchains, select the "toolchain" link.
</para></listitem>
<listitem><para>
<emphasis>Find the Tarball:</emphasis>
@@ -831,27 +903,23 @@
</section>
</section>
-<section id='cloning-and-checking-out-branchs'>
+<section id='cloning-and-checking-out-branches'>
<title>Cloning and Checking Out Branches</title>
<para>
- To use the Yocto Project, you need a release of the Yocto Project
- locally installed on your development system.
- The locally installed set of files is referred to as the
+ To use the Yocto Project for development, you need a release locally
+ installed on your development system.
+ This locally installed set of files is referred to as the
<ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
in the Yocto Project documentation.
</para>
<para>
- You create your Source Directory by using
+ The preferred method of creating your Source Directory is by using
<ulink url='&YOCTO_DOCS_OM_URL;#git'>Git</ulink> to clone a local
copy of the upstream <filename>poky</filename> repository.
- <note><title>Tip</title>
- The preferred method of getting the Yocto Project Source
- Directory set up is to clone the repository.
- </note>
- Working from a copy of the upstream repository allows you
- to contribute back into the Yocto Project or simply work with
+ Working from a cloned copy of the upstream repository allows you
+ to contribute back into the Yocto Project or to simply work with
the latest software on a development branch.
Because Git maintains and creates an upstream repository with
a complete history of changes and you are working with a local
@@ -871,21 +939,23 @@
<orderedlist>
<listitem><para>
<emphasis>Set Your Directory:</emphasis>
- Be in the directory where you want to create your local
- copy of poky.
+ Change your working directory to where you want to
+ create your local copy of
+ <filename>poky</filename>.
</para></listitem>
<listitem><para>
<emphasis>Clone the Repository:</emphasis>
- The following command clones the repository and uses
+ The following example command clones the
+ <filename>poky</filename> repository and uses
the default name "poky" for your local repository:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Cloning into 'poky'...
- remote: Counting objects: 367178, done.
- remote: Compressing objects: 100% (88161/88161), done.
- remote: Total 367178 (delta 272761), reused 366942 (delta 272525)
- Receiving objects: 100% (367178/367178), 133.26 MiB | 6.40 MiB/s, done.
- Resolving deltas: 100% (272761/272761), done.
+ remote: Counting objects: 416542, done.
+ remote: Compressing objects: 100% (98611/98611), done.
+ remote: Total 416542 (delta 311104), reused 416377 (delta 310939)
+ Receiving objects: 100% (416542/416542), 150.39 MiB | 15.77 MiB/s, done.
+ Resolving deltas: 100% (311104/311104), done.
Checking connectivity... done.
</literallayout>
Unless you specify a specific development branch or
@@ -900,8 +970,8 @@
<link linkend='checkout-out-by-tag-in-poky'>Checking Out By Tag in Poky</link>"
sections, respectively.</para>
- <para>Once the repository is created, you can change to
- that directory and check its status.
+ <para>Once the local repository is created, you can
+ change to that directory and check its status.
Here, the single "master" branch exists on your system
and by default, it is checked out:
<literallayout class='monospaced'>
@@ -916,6 +986,10 @@
Your local repository of poky is identical to the
upstream poky repository at the time from which it was
cloned.
+ As you work with the local branch, you can periodically
+ use the <filename>git pull &dash;&dash;rebase</filename>
+ command to be sure you are up-to-date with the upstream
+ branch.
</para></listitem>
</orderedlist>
</para>
diff --git a/poky/documentation/dev-manual/dev-manual.xml b/poky/documentation/dev-manual/dev-manual.xml
index d473142f3..b54c0d65d 100644
--- a/poky/documentation/dev-manual/dev-manual.xml
+++ b/poky/documentation/dev-manual/dev-manual.xml
@@ -107,14 +107,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/dev-manual/figures/multiconfig_files.png b/poky/documentation/dev-manual/figures/multiconfig_files.png
new file mode 100644
index 000000000..0b59338b3
--- /dev/null
+++ b/poky/documentation/dev-manual/figures/multiconfig_files.png
Binary files differ
diff --git a/poky/documentation/kernel-dev/kernel-dev-common.xml b/poky/documentation/kernel-dev/kernel-dev-common.xml
index 4c6fc35da..905287612 100644
--- a/poky/documentation/kernel-dev/kernel-dev-common.xml
+++ b/poky/documentation/kernel-dev/kernel-dev-common.xml
@@ -25,7 +25,7 @@
Before you can do any kernel development, you need to be
sure your build host is set up to use the Yocto Project.
For information on how to get set up, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
section in the Yocto Project Development Tasks Manual.
Part of preparing the system is creating a local Git
repository of the
diff --git a/poky/documentation/kernel-dev/kernel-dev.xml b/poky/documentation/kernel-dev/kernel-dev.xml
index e5e6fd1d7..fc46c205b 100644
--- a/poky/documentation/kernel-dev/kernel-dev.xml
+++ b/poky/documentation/kernel-dev/kernel-dev.xml
@@ -92,14 +92,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/mega-manual/figures/multiconfig_files.png b/poky/documentation/mega-manual/figures/multiconfig_files.png
new file mode 100644
index 000000000..0b59338b3
--- /dev/null
+++ b/poky/documentation/mega-manual/figures/multiconfig_files.png
Binary files differ
diff --git a/poky/documentation/mega-manual/mega-manual.xml b/poky/documentation/mega-manual/mega-manual.xml
index 4a68999de..7a4199198 100644
--- a/poky/documentation/mega-manual/mega-manual.xml
+++ b/poky/documentation/mega-manual/mega-manual.xml
@@ -76,14 +76,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/overview-manual/overview-manual-yp-intro.xml b/poky/documentation/overview-manual/overview-manual-yp-intro.xml
index ccf5e274a..d34b640e2 100644
--- a/poky/documentation/overview-manual/overview-manual-yp-intro.xml
+++ b/poky/documentation/overview-manual/overview-manual-yp-intro.xml
@@ -1296,7 +1296,7 @@
<para>It is worth noting that the term "package" can,
in general, have subtle meanings.
For example, the packages referred to in the
- "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
+ "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host'>Required Packages for the Build Host</ulink>"
section in the Yocto Project Reference Manual are compiled
binaries that, when installed, add functionality to your
Linux distribution.</para>
diff --git a/poky/documentation/overview-manual/overview-manual.xml b/poky/documentation/overview-manual/overview-manual.xml
index d7f04abe9..320ca3553 100644
--- a/poky/documentation/overview-manual/overview-manual.xml
+++ b/poky/documentation/overview-manual/overview-manual.xml
@@ -37,14 +37,14 @@
<revremark>The initial document released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/poky.ent b/poky/documentation/poky.ent
index 1b71b8070..c76fe7b2d 100644
--- a/poky/documentation/poky.ent
+++ b/poky/documentation/poky.ent
@@ -1,17 +1,17 @@
-<!ENTITY DISTRO "2.5.2">
-<!ENTITY DISTRO_COMPRESSED "252">
-<!ENTITY DISTRO_NAME_NO_CAP "sumo">
-<!ENTITY DISTRO_NAME "Sumo">
-<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "rocko">
-<!ENTITY DISTRO_NAME_MINUS_ONE "Rocko">
-<!ENTITY YOCTO_DOC_VERSION "2.5.2">
-<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.4.4">
-<!ENTITY DISTRO_REL_TAG "yocto-2.5.2">
-<!ENTITY METAINTELVERSION "9.2">
+<!ENTITY DISTRO "2.6.1">
+<!ENTITY DISTRO_COMPRESSED "261">
+<!ENTITY DISTRO_NAME_NO_CAP "thud">
+<!ENTITY DISTRO_NAME "Thud">
+<!ENTITY DISTRO_NAME_NO_CAP_MINUS_ONE "sumo">
+<!ENTITY DISTRO_NAME_MINUS_ONE "Sumo">
+<!ENTITY YOCTO_DOC_VERSION "2.6.1">
+<!ENTITY YOCTO_DOC_VERSION_MINUS_ONE "2.5.2">
+<!ENTITY DISTRO_REL_TAG "yocto-2.6.1">
+<!ENTITY METAINTELVERSION "9.0">
<!ENTITY REL_MONTH_YEAR "December 2018">
<!ENTITY META_INTEL_REL_TAG "&METAINTELVERSION;-&DISTRO_NAME_NO_CAP;-&YOCTO_DOC_VERSION;">
-<!ENTITY POKYVERSION "20.0.2">
-<!ENTITY POKYVERSION_COMPRESSED "2002">
+<!ENTITY POKYVERSION "21.0.1">
+<!ENTITY POKYVERSION_COMPRESSED "2101">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME_NO_CAP;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2019">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">
diff --git a/poky/documentation/profile-manual/profile-manual-intro.xml b/poky/documentation/profile-manual/profile-manual-intro.xml
index d38d61a82..f16db3f0f 100644
--- a/poky/documentation/profile-manual/profile-manual-intro.xml
+++ b/poky/documentation/profile-manual/profile-manual-intro.xml
@@ -92,7 +92,9 @@
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs"
</literallayout>
Additionally, in order to generate the right type of
- debuginfo, we also need to add the following to local.conf:
+ debuginfo, we also need to set
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_DEBUG_SPLIT_STYLE'><filename>PACKAGE_DEBUG_SPLIT_STYLE</filename></ulink>
+ in the <filename>local.conf</filename> file:
<literallayout class='monospaced'>
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
</literallayout>
diff --git a/poky/documentation/profile-manual/profile-manual-usage.xml b/poky/documentation/profile-manual/profile-manual-usage.xml
index c0873e13a..a1b565157 100644
--- a/poky/documentation/profile-manual/profile-manual-usage.xml
+++ b/poky/documentation/profile-manual/profile-manual-usage.xml
@@ -375,7 +375,9 @@
EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile dbg-pkgs"
</literallayout>
Additionally, in order to generate the type of debuginfo that
- perf understands, we also need to add the following to local.conf:
+ perf understands, we also need to set
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_DEBUG_SPLIT_STYLE'><filename>PACKAGE_DEBUG_SPLIT_STYLE</filename></ulink>
+ in the <filename>local.conf</filename> file:
<literallayout class='monospaced'>
PACKAGE_DEBUG_SPLIT_STYLE = 'debug-file-directory'
</literallayout>
diff --git a/poky/documentation/profile-manual/profile-manual.xml b/poky/documentation/profile-manual/profile-manual.xml
index 7629386aa..10ca68e50 100644
--- a/poky/documentation/profile-manual/profile-manual.xml
+++ b/poky/documentation/profile-manual/profile-manual.xml
@@ -92,14 +92,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/ref-manual/migration.xml b/poky/documentation/ref-manual/migration.xml
index b06096800..c648d8d44 100644
--- a/poky/documentation/ref-manual/migration.xml
+++ b/poky/documentation/ref-manual/migration.xml
@@ -3619,7 +3619,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.
<para>
The
- <link linkend='var-KERNEL_IMAGE_BASE_NAME'><filename>KERNEL_IMAGE_BASE_NAME</filename></link>
+ <filename>KERNEL_IMAGE_BASE_NAME</filename>
variable no longer uses the
<link linkend='var-KERNEL_IMAGETYPE'><filename>KERNEL_IMAGETYPE</filename></link>
variable to create the image's base name.
@@ -5557,8 +5557,9 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
incompatible with other implementations.
</para></listitem>
<listitem><para>
- By default, the <filename>cmake</filename> class uses
- <filename>ninja</filename> instead of
+ By default, the
+ <link linkend='ref-classes-cmake'><filename>cmake</filename></link>
+ class uses <filename>ninja</filename> instead of
<filename>make</filename> for building.
This improves build performance.
If a recipe is broken with <filename>ninja</filename>, then
@@ -5608,7 +5609,11 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
Any failure of a <filename>pkg_postinst()</filename>
script (including <filename>exit 1</filename>)
will trigger a warning during
- <filename>do_rootfs</filename>.
+ <filename>do_rootfs</filename>.</para>
+
+ <para>For more information, see the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#new-recipe-post-installation-scripts'>Post-Installation Scripts</ulink>"
+ section in the Yocto Project Development Tasks Manual.
</para></listitem>
<listitem><para>
The <filename>elf</filename> image type has been removed.
@@ -5678,6 +5683,648 @@ id=f4d4f99cfbc2396e49c1613a7d237b9e57f06f81'>commit message</ulink>.
</para>
</section>
</section>
+
+<section id='moving-to-the-yocto-project-2.6-release'>
+ <title>Moving to the Yocto Project 2.6 Release</title>
+
+ <para>
+ This section provides migration information for moving to the
+ Yocto Project 2.6 Release from the prior release.
+ </para>
+
+ <section id='migration-2.6-gcc-changes'>
+ <title>GCC 8.2 is Now Used by Default</title>
+
+ <para>
+ The GNU Compiler Collection version 8.2 is now used by default
+ for compilation.
+ For more information on what has changed in the GCC 8.x release,
+ see
+ <ulink url='https://gcc.gnu.org/gcc-8/changes.html'></ulink>.
+ </para>
+
+ <para>
+ If you still need to compile with version 7.x, GCC 7.3 is
+ also provided.
+ You can select this version by setting the
+ and can be selected by setting the
+ <link linkend='var-GCCVERSION'><filename>GCCVERSION</filename></link>
+ variable to "7.%" in your configuration.
+ </para>
+ </section>
+
+ <section id='migration-2.6-removed-recipes'>
+ <title>Removed Recipes</title>
+
+ <para>
+ The following recipes have been removed:
+ <literallayout class='monospaced'>
+ <emphasis><filename>beecrypt</filename>:</emphasis> No longer needed since moving to RPM 4.
+ <emphasis><filename>bigreqsproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>calibrateproto</filename>:</emphasis> Removed in favor of <filename>xinput</filename>.
+ <emphasis><filename>compositeproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>damageproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>dmxproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>dri2proto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>dri3proto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>eee-acpi-scripts</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>fixesproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>fontsproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>fstests</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>gccmakedep</filename>:</emphasis> No longer used.
+ <emphasis><filename>glproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>gnome-desktop3</filename>:</emphasis> No longer needed. This recipe has moved to <filename>meta-oe</filename>.
+ <emphasis><filename>icon-naming-utils</filename>:</emphasis> No longer used since the Sato theme was removed in 2016.
+ <emphasis><filename>inputproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>kbproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>libusb-compat</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>libuser</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>libnfsidmap</filename>:</emphasis> No longer an external requirement since <filename>nfs-utils</filename> 2.2.1. <filename>libnfsidmap</filename> is now integrated.
+ <emphasis><filename>libxcalibrate</filename>:</emphasis> No longer needed with <filename>xinput</filename>
+ <emphasis><filename>mktemp</filename>:</emphasis> Became obsolete. The <filename>mktemp</filename> command is provided by both <filename>busybox</filename> and <filename>coreutils</filename>.
+ <emphasis><filename>ossp-uuid</filename>:</emphasis> Is not being maintained and has mostly been replaced by <filename>uuid.h</filename> in <filename>util-linux</filename>.
+ <emphasis><filename>pax-utils</filename>:</emphasis> No longer needed. Previous QA tests that did use this recipe are now done at build time.
+ <emphasis><filename>pcmciautils</filename>:</emphasis> Became obsolete.
+ <emphasis><filename>pixz</filename>:</emphasis> No longer needed. <filename>xz</filename> now supports multi-threaded compression.
+ <emphasis><filename>presentproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>randrproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>recordproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>renderproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>resourceproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>scrnsaverproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>trace-cmd</filename>:</emphasis> Became obsolete. <filename>perf</filename> replaced this recipe's functionally.
+ <emphasis><filename>videoproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>wireless-tools</filename>:</emphasis> Became obsolete. Superseded by <filename>iw</filename>.
+ <emphasis><filename>xcmiscproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xextproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86dgaproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86driproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86miscproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xf86-video-omapfb</filename>:</emphasis> Became obsolete. Use kernel modesetting driver instead.
+ <emphasis><filename>xf86-video-omap</filename>:</emphasis> Became obsolete. Use kernel modesetting driver instead.
+ <emphasis><filename>xf86vidmodeproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xineramaproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>xproto</filename>:</emphasis> Replaced by <filename>xorgproto</filename>.
+ <emphasis><filename>yasm</filename>:</emphasis> No longer needed since previous usages are now satisfied by <filename>nasm</filename>.
+ </literallayout>
+ </para>
+ </section>
+
+ <section id='migration-2.6-packaging-changes'>
+ <title>Packaging Changes</title>
+
+ <para>
+ The following packaging changes have been made:
+ <itemizedlist>
+ <listitem><para>
+ <emphasis><filename>cmake</filename>:</emphasis>
+ <filename>cmake.m4</filename> and
+ <filename>toolchain</filename> files have been moved to the
+ main package.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>iptables</filename>:</emphasis>
+ The <filename>iptables</filename> modules have been split
+ into separate packages.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>alsa-lib</filename>:</emphasis>
+ <filename>libasound</filename> is now in the main
+ <filename>alsa-lib</filename> package instead of
+ <filename>libasound</filename>.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>glibc</filename>:</emphasis>
+ <filename>libnss-db</filename> is now in its own package
+ along with a <filename>/var/db/makedbs.sh</filename>
+ script to update databases.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>python</filename> and <filename>python3</filename>:</emphasis>
+ The main package has been removed from the recipe.
+ You must install specific packages or
+ <filename>python-modules</filename> /
+ <filename>python3-modules</filename> for everything.
+ </para></listitem>
+ <listitem><para>
+ <emphasis><filename>systemtap</filename>:</emphasis>
+ Moved <filename>systemtap-exporter</filename> into its own
+ package.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.6-xorg-protocol-dependencies'>
+ <title>XOrg Protocol dependencies</title>
+
+ <para>
+ The "*proto" upstream repositories have been combined into one
+ "xorgproto" repository.
+ Thus, the corresponding recipes have also been combined into a
+ single <filename>xorgproto</filename> recipe.
+ Any recipes that depend upon the older <filename>*proto</filename>
+ recipes need to be changed to depend on the newer
+ <filename>xorgproto</filename> recipe instead.
+ </para>
+
+ <para>
+ For names of recipes removed because of this repository change,
+ see the
+ <link linkend="migration-2.6-removed-recipes">Removed Recipes</link>
+ section.
+ </para>
+ </section>
+
+ <section id='migration-2.6-distutils-distutils3-fetching-dependencies'>
+ <title><filename>distutils</filename> and <filename>distutils3</filename> Now Prevent Fetching Dependencies During the <filename>do_configure</filename> Task</title>
+
+ <para>
+ Previously, it was possible for Python recipes that inherited
+ the
+ <link linkend='ref-classes-distutils'><filename>distutils</filename></link>
+ and
+ <link linkend='ref-classes-distutils3'><filename>distutils3</filename></link>
+ classes to fetch code during the
+ <link linkend='ref-tasks-configure'><filename>do_configure</filename></link>
+ task to satisfy dependencies mentioned in
+ <filename>setup.py</filename> if those dependencies were not
+ provided in the sysroot (i.e. recipes providing the dependencies
+ were missing from
+ <link linkend='var-DEPENDS'><filename>DEPENDS</filename></link>).
+ <note>
+ This change affects classes beyond just the two mentioned
+ (i.e. <filename>distutils</filename> and
+ <filename>distutils3</filename>).
+ Any recipe that inherits <filename>distutils*</filename>
+ classes are affected.
+ For example, the <filename>setuptools</filename> and
+ <filename>setuptools3</filename> recipes are affected since
+ they inherit the <filename>distutils*</filename> classes.
+ </note>
+ </para>
+
+ <para>
+ Fetching these types of dependencies that are not provided in the
+ sysroot negatively affects the ability to reproduce builds.
+ This type of fetching is now explicitly disabled.
+ Consequently, any missing dependencies in Python recipes that
+ use these classes now result in an error during the
+ <filename>do_configure</filename> task.
+ </para>
+ </section>
+
+ <section id='migration-2.6-linux-yocto-configuration-audit-issues-now-correctly-reported'>
+ <title><filename>linux-yocto</filename> Configuration Audit Issues Now Correctly Reported</title>
+
+ <para>
+ Due to a bug, the kernel configuration audit functionality was
+ not writing out any resulting warnings during the build.
+ This issue is now corrected.
+ You might notice these warnings now if you have a custom kernel
+ configuration with a <filename>linux-yocto</filename> style
+ kernel recipe.
+ </para>
+ </section>
+
+ <section id='migration-2.6-image-kernel-artifact-naming-changes'>
+ <title>Image/Kernel Artifact Naming Changes</title>
+
+ <para>
+ The following changes have been made:
+ <itemizedlist>
+ <listitem><para>
+ Name variables (e.g.
+ <link linkend='var-IMAGE_NAME'><filename>IMAGE_NAME</filename></link>)
+ use a new <filename>IMAGE_VERSION_SUFFIX</filename>
+ variable instead of
+ <link linkend='var-DATETIME'><filename>DATETIME</filename></link>.
+ Using <filename>IMAGE_VERSION_SUFFIX</filename> allows
+ easier and more direct changes.</para>
+
+ <para>The <filename>IMAGE_VERSION_SUFFIX</filename>
+ variable is set in the
+ <filename>bitbake.conf</filename> configuration file as
+ follows:
+ <literallayout class='monospaced'>
+ IMAGE_VERSION_SUFFIX = "-${DATETIME}"
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ Several variables have changed names for consistency:
+ <literallayout class='monospaced'>
+ Old Variable Name New Variable Name
+ ========================================================
+ KERNEL_IMAGE_BASE_NAME <link linkend='var-KERNEL_IMAGE_NAME'>KERNEL_IMAGE_NAME</link>
+ KERNEL_IMAGE_SYMLINK_NAME <link linkend='var-KERNEL_IMAGE_LINK_NAME'>KERNEL_IMAGE_LINK_NAME</link>
+ MODULE_TARBALL_BASE_NAME <link linkend='var-MODULE_TARBALL_NAME'>MODULE_TARBALL_NAME</link>
+ MODULE_TARBALL_SYMLINK_NAME <link linkend='var-MODULE_TARBALL_LINK_NAME'>MODULE_TARBALL_LINK_NAME</link>
+ INITRAMFS_BASE_NAME <link linkend='var-INITRAMFS_NAME'>INITRAMFS_NAME</link>
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ The <filename>MODULE_IMAGE_BASE_NAME</filename> variable
+ has been removed.
+ The module tarball name is now controlled directly with the
+ <link linkend='var-MODULE_TARBALL_NAME'><filename>MODULE_TARBALL_NAME</filename></link>
+ variable.
+ </para></listitem>
+ <listitem><para>
+ The
+ <link linkend='var-KERNEL_DTB_NAME'><filename>KERNEL_DTB_NAME</filename></link>
+ and
+ <link linkend='var-KERNEL_DTB_LINK_NAME'><filename>KERNEL_DTB_LINK_NAME</filename></link>
+ variables have been introduced to control kernel Device
+ Tree Binary (DTB) artifact names instead of mangling
+ <filename>KERNEL_IMAGE_*</filename> variables.
+ </para></listitem>
+ <listitem><para>
+ The
+ <link linkend='var-KERNEL_FIT_NAME'><filename>KERNEL_FIT_NAME</filename></link>
+ and
+ <link linkend='var-KERNEL_FIT_LINK_NAME'><filename>KERNEL_FIT_LINK_NAME</filename></link>
+ variables have been introduced to specify the name of
+ flattened image tree (FIT) kernel images similar to other
+ deployed artifacts.
+ </para></listitem>
+ <listitem><para>
+ The
+ <link linkend='var-MODULE_TARBALL_NAME'><filename>MODULE_TARBALL_NAME</filename></link>
+ and
+ <link linkend='var-MODULE_TARBALL_LINK_NAME'><filename>MODULE_TARBALL_LINK_NAME</filename></link>
+ variable values no longer include the "module-" prefix or
+ ".tgz" suffix.
+ These parts are now hardcoded so that the values are
+ consistent with other artifact naming variables.
+ </para></listitem>
+ <listitem><para>
+ Added the
+ <link linkend='var-INITRAMFS_LINK_NAME'><filename>INITRAMFS_LINK_NAME</filename></link>
+ variable so that the symlink can be controlled similarly
+ to other artifact types.
+ </para></listitem>
+ <listitem><para>
+ <link linkend='var-INITRAMFS_NAME'><filename>INITRAMFS_NAME</filename></link>
+ now uses
+ "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ instead of
+ "${PV}-${PR}-${MACHINE}-${DATETIME}", which
+ makes it consistent with other variables.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.6-serial-console-deprecated'>
+ <title><filename>SERIAL_CONSOLE</filename> Deprecated</title>
+
+ <para>
+ The
+ <link linkend='var-SERIAL_CONSOLE'><filename>SERIAL_CONSOLE</filename></link>
+ variable has been functionally replaced by the
+ <link linkend='var-SERIAL_CONSOLES'><filename>SERIAL_CONSOLES</filename></link>
+ variable for some time.
+ With the Yocto Project 2.6 release,
+ <filename>SERIAL_CONSOLE</filename> has been officially deprecated.
+ </para>
+
+ <para>
+ <filename>SERIAL_CONSOLE</filename> will continue to work as
+ before for the 2.6 release.
+ However, for the sake of future compatibility, it is recommended
+ that you replace all instances of
+ <filename>SERIAL_CONSOLE</filename> with
+ <filename>SERIAL_CONSOLES</filename>.
+ <note>
+ The only difference in usage is that
+ <filename>SERIAL_CONSOLES</filename> expects entries to be
+ separated using semicolons as compared to
+ <filename>SERIAL_CONSOLE</filename>, which expects spaces.
+ </note>
+ </para>
+ </section>
+
+ <section id='migration-2.6-poky-sets-unknown-configure-option-to-qa-error'>
+ <title>Configure Script Reports Unknown Options as Errors</title>
+
+ <para>
+ If the configure script reports an unknown option, this now
+ triggers a QA error instead of a warning.
+ Any recipes that previously got away with specifying such unknown
+ options now need to be fixed.
+ </para>
+ </section>
+
+ <section id='migration-2.6-override-changes'>
+ <title>Override Changes</title>
+
+ <para>
+ The following changes have occurred:
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>The <filename>virtclass-native</filename> and
+ <filename>virtclass-nativesdk</filename> Overrides Have
+ Been Removed:</emphasis>
+ The <filename>virtclass-native</filename> and
+ <filename>virtclass-nativesdk</filename> overrides have
+ been deprecated since 2012 in favor of
+ <filename>class-native</filename> and
+ <filename>class-nativesdk</filename>, respectively.
+ Both <filename>virtclass-native</filename> and
+ <filename>virtclass-nativesdk</filename> are now dropped.
+ <note>
+ The <filename>virtclass-multilib-</filename> overrides
+ for multilib are still valid.
+ </note>
+ </para></listitem>
+ <listitem><para>
+ <emphasis>The <filename>forcevariable</filename>
+ Override Now Has a Higher Priority Than
+ <filename>libc</filename> Overrides:</emphasis>
+ The <filename>forcevariable</filename> override is
+ documented to be the highest priority override.
+ However, due to a long-standing quirk of how
+ <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
+ is set, the <filename>libc</filename> overrides (e.g.
+ <filename>libc-glibc</filename>,
+ <filename>libc-musl</filename>, and so forth) erroneously
+ had a higher priority.
+ This issue is now corrected.</para>
+
+ <para>It is likely this change will not cause any
+ problems.
+ However, it is possible with some unusual configurations
+ that you might see a change in behavior if you were
+ relying on the previous behavior.
+ Be sure to check how you use
+ <filename>forcevariable</filename> and
+ <filename>libc-*</filename> overrides in your custom
+ layers and configuration files to ensure they make sense.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>The <filename>build-${BUILD_OS}</filename>
+ Override Has Been Removed:</emphasis>
+ The <filename>build-${BUILD_OS}</filename>, which is
+ typically <filename>build-linux</filename>, override has
+ been removed because building on a host operating system
+ other than a recent version of Linux is neither supported
+ nor recommended.
+ Dropping the override avoids giving the impression that
+ other host operating systems might be supported.
+ </para></listitem>
+ <listitem><para>
+ The "_remove" operator now preserves whitespace.
+ Consequently, when specifying list items to remove, be
+ aware that leading and trailing whitespace resulting from
+ the removal is retained.</para>
+
+ <para>See the
+ "<ulink url='&YOCTO_DOCS_BB_URL;#removing-override-style-syntax'>Removal (Override Style Syntax)</ulink>"
+ section in the BitBake User Manual for a detailed example.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.6-systemd-configuration-now-split-out-to-system-conf'>
+ <title><filename>systemd</filename> Configuration is Now Split Into <filename>systemd-conf</filename></title>
+
+ <para>
+ The configuration for the <filename>systemd</filename> recipe
+ has been moved into a <filename>system-conf</filename> recipe.
+ Moving this configuration to a separate recipe avoids the
+ <filename>systemd</filename> recipe from becoming machine-specific
+ for cases where machine-specific configurations need to be applied
+ (e.g. for <filename>qemu*</filename> machines).
+ </para>
+
+ <para>
+ Currently, the new recipe packages the following files:
+ <literallayout class='monospaced'>
+ ${sysconfdir}/machine-id
+ ${sysconfdir}/systemd/coredump.conf
+ ${sysconfdir}/systemd/journald.conf
+ ${sysconfdir}/systemd/logind.conf
+ ${sysconfdir}/systemd/system.conf
+ ${sysconfdir}/systemd/user.conf
+ </literallayout>
+ If you previously used bbappend files to append the
+ <filename>systemd</filename> recipe to change any of the
+ listed files, you must do so for the
+ <filename>systemd-conf</filename> recipe instead.
+ </para>
+ </section>
+
+ <section id='migration-2.6-automatic-testing-changes'>
+ <title>Automatic Testing Changes</title>
+
+ <para>
+ This section provides information about automatic testing
+ changes:
+ <itemizedlist>
+ <listitem><para>
+ <emphasis><filename>TEST_IMAGE</filename> Variable Removed:</emphasis>
+ Prior to this release, you set the
+ <filename>TEST_IMAGE</filename> variable to "1" to
+ enable automatic testing for successfully built images.
+ The <filename>TEST_IMAGE</filename> variable no longer
+ exists and has been replaced by the
+ <link linkend='var-TESTIMAGE_AUTO'><filename>TESTIMAGE_AUTO</filename></link>
+ variable.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Inheriting the <filename>testimage</filename> and
+ <filename>testsdk</filename> Classes:</emphasis>
+ Best practices now dictate that you use the
+ <link linkend='var-IMAGE_CLASSES'><filename>IMAGE_CLASSES</filename></link>
+ variable rather than the
+ <link linkend='var-INHERIT'><filename>INHERIT</filename></link>
+ variable when you inherit the
+ <link linkend='ref-classes-testimage*'><filename>testimage</filename></link>
+ and
+ <link linkend='ref-classes-testsdk'><filename>testsdk</filename></link>
+ classes used for automatic testing.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section id='migration-2.6-openssl-changes'>
+ <title>OpenSSL Changes</title>
+
+ <para>
+ <ulink url='https://www.openssl.org/'>OpenSSL</ulink> has been
+ upgraded from 1.0 to 1.1.
+ By default, this upgrade could cause problems for recipes that
+ have both versions in their dependency chains.
+ The problem is that both versions cannot be installed together
+ at build time.
+ <note>
+ It is possible to have both versions of the library at runtime.
+ </note>
+ </para>
+ </section>
+
+ <section id='migration-2.6-bitbake-changes'>
+ <title>BitBake Changes</title>
+
+ <para>
+ The server logfile <filename>bitbake-cookerdaemon.log</filename> is
+ now always placed in the
+ <link linkend='build-directory'>Build Directory</link>
+ instead of the current directory.
+ </para>
+ </section>
+
+ <section id='migration-2.6-security-changes'>
+ <title>Security Changes</title>
+
+ <para>
+ The Poky distribution now uses security compiler flags by
+ default.
+ Inclusion of these flags could cause new failures due to stricter
+ checking for various potential security issues in code.
+ </para>
+ </section>
+
+ <section id='migration-2.6-post-installation-changes'>
+ <title>Post Installation Changes</title>
+
+ <para>
+ You must explicitly mark post installs to defer to the target.
+ If you want to explicitly defer a postinstall to first boot on
+ the target rather than at rootfs creation time, use
+ <filename>pkg_postinst_ontarget()</filename> or call
+ <filename>postinst-intercepts defer_to_first_boot</filename> from
+ <filename>pkg_postinst()</filename>.
+ Any failure of a <filename>pkg_postinst()</filename> script
+ (including exit 1) triggers an error during the
+ <link linkend='ref-tasks-rootfs'><filename>do_rootfs</filename></link> task.
+ </para>
+
+ <para>
+ For more information on post-installation behavior, see the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#new-recipe-post-installation-scripts'>Post-Installation Scripts</ulink>"
+ section in the Yocto Project Development Tasks Manual.
+ </para>
+ </section>
+
+ <section id='migration-2.6-python-3-profile-guided-optimizations'>
+ <title>Python 3 Profile-Guided Optimization</title>
+
+ <para>
+ The <filename>python3</filename> recipe now enables profile-guided
+ optimization.
+ Using this optimization requires a little extra build time in
+ exchange for improved performance on the target at runtime.
+ Additionally, the optimization is only enabled if the current
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ has support for user-mode emulation in QEMU (i.e. "qemu-usermode"
+ is in
+ <link linkend='var-MACHINE_FEATURES'><filename>MACHINE_FEATURES</filename></link>,
+ which it is by default).
+ </para>
+
+ <para>
+ If you wish to disable Python profile-guided optimization
+ regardless of the value of
+ <filename>MACHINE_FEATURES</filename>, then ensure that
+ <link linkend='var-PACKAGECONFIG'><filename>PACKAGECONFIG</filename></link>
+ for the <filename>python3</filename> recipe does not contain "pgo".
+ You could accomplish the latter using the following at the
+ configuration level:
+ <literallayout class='monospaced'>
+ PACKAGECONFIG_remove_pn-python3 = "pgo"
+ </literallayout>
+ Alternatively, you can set
+ <filename>PACKAGECONFIG</filename> using an append file for the
+ <filename>python3</filename> recipe.
+ </para>
+ </section>
+
+ <section id='migration-2.6-miscellaneous-changes'>
+ <title>Miscellaneous Changes</title>
+
+ <para>
+ The following miscellaneous changes occurred:
+ <itemizedlist>
+ <listitem><para>
+ Default to using the Thumb-2 instruction set for armv7a
+ and above.
+ If you have any custom recipes that build software that
+ needs to be built with the ARM instruction set, change the
+ recipe to set the instruction set as follows:
+ <literallayout class='monospaced'>
+ ARM_INSTRUCTION_SET = "arm"
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ <filename>run-postinsts</filename> no longer uses
+ <filename>/etc/*-postinsts</filename> for
+ <filename>dpkg/opkg</filename> in favor of built-in
+ postinst support.
+ RPM behavior remains unchanged.
+ </para></listitem>
+ <listitem><para>
+ The <filename>NOISO</filename> and
+ <filename>NOHDD</filename> variables are no longer used.
+ You now control building <filename>*.iso</filename> and
+ <filename>*.hddimg</filename> image types directly
+ by using the
+ <link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>
+ variable.
+ </para></listitem>
+ <listitem><para>
+ The <filename>scripts/contrib/mkefidisk.sh</filename>
+ has been removed in favor of Wic.
+ </para></listitem>
+ <listitem><para>
+ <filename>kernel-modules</filename> has been removed from
+ <link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>
+ for <filename>qemumips</filename> and
+ <filename>qemumips64</filename> machines.
+ Removal also impacts the <filename>x86-base.inc</filename>
+ file.
+ <note>
+ <filename>genericx86</filename> and
+ <filename>genericx86-64</filename> retain
+ <filename>kernel-modules</filename> as part of the
+ <filename>RRECOMMENDS</filename> variable setting.
+ </note>
+ </para></listitem>
+ <listitem><para>
+ The <filename>LGPLv2_WHITELIST_GPL-3.0</filename>
+ variable has been removed.
+ If you are setting this variable in your configuration,
+ set or append it to the
+ <filename>WHITELIST_GPL-3.0</filename> variable instead.
+ </para></listitem>
+ <listitem><para>
+ <filename>${ASNEEDED}</filename> is now included in
+ the
+ <link linkend='var-TARGET_LDFLAGS'><filename>TARGET_LDFLAGS</filename></link>
+ variable directly.
+ The remaining definitions from
+ <filename>meta/conf/distro/include/as-needed.inc</filename>
+ have been moved to corresponding recipes.
+ </para></listitem>
+ <listitem><para>
+ Support for DSA host keys has been dropped from the
+ OpenSSH recipes.
+ If you are still using DSA keys, you must switch over to a
+ more secure algorithm as recommended by OpenSSH upstream.
+ </para></listitem>
+ <listitem><para>
+ The <filename>dhcp</filename> recipe now uses the
+ <filename>dhcpd6.conf</filename> configuration file in
+ <filename>dhcpd6.service</filename> for IPv6 DHCP rather
+ than re-using <filename>dhcpd.conf</filename>, which is
+ now reserved for IPv4.
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ </section>
+</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
diff --git a/poky/documentation/ref-manual/ref-classes.xml b/poky/documentation/ref-manual/ref-classes.xml
index 77f21ede7..d602851c5 100644
--- a/poky/documentation/ref-manual/ref-classes.xml
+++ b/poky/documentation/ref-manual/ref-classes.xml
@@ -449,12 +449,13 @@
<title><filename>cmake.bbclass</filename></title>
<para>
- The <filename>cmake</filename> class allows for
- recipes that need to build software using the CMake build system.
+ The <filename>cmake</filename> class allows for recipes that need to
+ build software using the
+ <ulink url='https://cmake.org/overview/'>CMake</ulink> build system.
You can use the
<link linkend='var-EXTRA_OECMAKE'><filename>EXTRA_OECMAKE</filename></link>
- variable to specify additional configuration options to be passed on
- the <filename>cmake</filename> command line.
+ variable to specify additional configuration options to be passed
+ using the <filename>cmake</filename> command line.
</para>
</section>
@@ -645,6 +646,54 @@
</para>
</section>
+<section id='ref-classes-devupstream'>
+ <title><filename>devupstream.bbclass</filename></title>
+
+ <para>
+ The <filename>devupstream</filename> class uses
+ <link linkend='var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></link>
+ to add a variant of the recipe that fetches from an alternative URI
+ (e.g. Git) instead of a tarball.
+ Following is an example:
+ <literallayout class='monospaced'>
+ BBCLASSEXTEND = "devupstream:target"
+ SRC_URI_class-devupstream = "git://git.example.com/example"
+ SRCREV_class-devupstream = "abcd1234"
+ </literallayout>
+ Adding the above statements to your recipe creates a variant that has
+ <link linkend='var-DEFAULT_PREFERENCE'><filename>DEFAULT_PREFERENCE</filename></link>
+ set to "-1".
+ Consequently, you need to select the variant of the recipe to use it.
+ Any development-specific adjustments can be done by using the
+ <filename>class-devupstream</filename> override.
+ Here is an example:
+ <literallayout class='monospaced'>
+ DEPENDS_append_class-devupstream = " gperf-native"
+
+ do_configure_prepend_class-devupstream() {
+ touch ${S}/README
+ }
+ </literallayout>
+ The class currently only supports creating a development variant of
+ the target recipe, not <filename>native</filename> or
+ <filename>nativesdk</filename> variants.
+ </para>
+
+ <para>
+ The <filename>BBCLASSEXTEND</filename> syntax
+ (i.e. <filename>devupstream:target</filename>) provides support for
+ <filename>native</filename> and <filename>nativesdk</filename>
+ variants.
+ Consequently, this functionality can be added in a future release.
+ </para>
+
+ <para>
+ Support for other version control systems such as Subversion is
+ limited due to BitBake's automatic fetch dependencies (e.g.
+ <filename>subversion-native</filename>).
+ </para>
+</section>
+
<section id='ref-classes-distro_features_check'>
<title><filename>distro_features_check.bbclass</filename></title>
@@ -1266,28 +1315,35 @@
<title><filename>image_types.bbclass</filename></title>
<para>
- The <filename>image_types</filename> class defines all of
- the standard image output types that you can enable through the
+ The <filename>image_types</filename> class defines all of the
+ standard image output types that you can enable through the
<link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>
variable.
- You can use this class as a reference on how to add support for custom
- image output types.
+ You can use this class as a reference on how to add support for
+ custom image output types.
</para>
<para>
- By default, this class is enabled through the
- <link linkend='var-IMAGE_CLASSES'><filename>IMAGE_CLASSES</filename></link>
- variable in
- <link linkend='ref-classes-image'><filename>image.bbclass</filename></link>.
- If you define your own image types using a custom BitBake class and
- then use <filename>IMAGE_CLASSES</filename> to enable it, the custom
- class must either inherit <filename>image_types</filename> or
- <filename>image_types</filename> must also appear in
- <filename>IMAGE_CLASSES</filename>.
+ By default, the
+ <link linkend='ref-classes-image'><filename>image</filename></link>
+ class automatically enables the <filename>image_types</filename> class.
+ The <filename>image</filename> class uses the
+ <filename>IMGCLASSES</filename> variable as follows:
+ <literallayout class='monospaced'>
+ IMGCLASSES = "rootfs_${IMAGE_PKGTYPE} image_types ${IMAGE_CLASSES}"
+ IMGCLASSES += "${@['populate_sdk_base', 'populate_sdk_ext']['linux' in d.getVar("SDK_OS")]}"
+ IMGCLASSES += "${@bb.utils.contains_any('IMAGE_FSTYPES', 'live iso hddimg', 'image-live', '', d)}"
+ IMGCLASSES += "${@bb.utils.contains('IMAGE_FSTYPES', 'container', 'image-container', '', d)}"
+ IMGCLASSES += "image_types_wic"
+ IMGCLASSES += "rootfs-postcommands"
+ IMGCLASSES += "image-postinst-intercepts"
+ inherit ${IMGCLASSES}
+ </literallayout>
</para>
<para>
- This class also handles conversion and compression of images.
+ The <filename>image_types</filename> class also handles conversion and
+ compression of images.
<note>
To build a VMware VMDK image, you need to add "wic.vmdk" to
<filename>IMAGE_FSTYPES</filename>.
@@ -1314,14 +1370,6 @@
Normally, you do not use this class directly.
Instead, you add "live" to
<link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>.
- You can selectively build just one of these types through the
- <link linkend='var-NOISO'><filename>NOISO</filename></link>
- and
- <link linkend='var-NOHDD'><filename>NOHDD</filename></link> variables.
- For example, if you were building an ISO image, you would add "live"
- to <filename>IMAGE_FSTYPES</filename>, set the
- <filename>NOISO</filename> variable to "0" and the build system would
- use the <filename>image-live</filename> class to build the ISO image.
</para>
</section>
@@ -2173,8 +2221,9 @@ This check was removed for YP 2.3 release
<para>
The <filename>native</filename> class provides common
- functionality for recipes that wish to build tools to run on the build
- host (i.e. tools that use the compiler or other tools from the
+ functionality for recipes that build tools to run on the
+ <link linkend='hardware-build-system-term'>build host</link>
+ (i.e. tools that use the compiler or other tools from the
build host).
</para>
@@ -2182,30 +2231,35 @@ This check was removed for YP 2.3 release
You can create a recipe that builds tools that run natively on the
host a couple different ways:
<itemizedlist>
- <listitem><para>Create a <replaceable>myrecipe</replaceable><filename>-native.bb</filename>
- that inherits the <filename>native</filename> class.
+ <listitem><para>
+ Create a
+ <replaceable>myrecipe</replaceable><filename>-native.bb</filename>
+ recipe that inherits the <filename>native</filename> class.
If you use this method, you must order the inherit statement
in the recipe after all other inherit statements so that the
<filename>native</filename> class is inherited last.
+ <note><title>Warning</title>
+ When creating a recipe this way, the recipe name must
+ follow this naming convention:
+ <literallayout class='monospaced'>
+ <replaceable>myrecipe</replaceable>-native.bb
+ </literallayout>
+ Not using this naming convention can lead to subtle
+ problems caused by existing code that depends on that
+ naming convention.
+ </note>
</para></listitem>
- <listitem><para>Create or modify a target recipe that contains
- the following:
+ <listitem><para>
+ Create or modify a target recipe that contains the following:
<literallayout class='monospaced'>
<link linkend='var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></link> = "native"
</literallayout>
Inside the recipe, use <filename>_class-native</filename> and
<filename>_class-target</filename> overrides to specify any
functionality specific to the respective native or target
- case.</para></listitem>
+ case.
+ </para></listitem>
</itemizedlist>
- <note><title>Warning</title>
- When creating a recipe, you must follow this naming convention:
- <literallayout class='monospaced'>
- native-<replaceable>myrecipe</replaceable>.bb
- </literallayout>
- Not doing so can lead to subtle problems because code exists
- that depends on the naming convention.
- </note>
</para>
<para>
@@ -3145,12 +3199,6 @@ This check was removed for YP 2.3 release
and <filename><link linkend='var-SITEINFO_BITS'>SITEINFO_BITS</link></filename>
that can be used elsewhere in the metadata.
</para>
-
- <para>
- Because the
- <link linkend='ref-classes-base'><filename>base</filename></link> class
- includes the <filename>siteinfo</filename> class, it is always active.
- </para>
</section>
<section id='ref-classes-spdx'>
@@ -3502,6 +3550,14 @@ This check was removed for YP 2.3 release
The classes handle loading the tests and starting the image.
To use the classes, you need to perform steps to set up the
environment.
+ <note><title>Tip</title>
+ Best practices include using
+ <link linkend='var-IMAGE_CLASSES'><filename>IMAGE_CLASSES</filename></link>
+ rather than
+ <link linkend='var-INHERIT'><filename>INHERIT</filename></link> to
+ inherit the <filename>testimage</filename> class for automated
+ image testing.
+ </note>
</para>
<para>
@@ -3519,7 +3575,7 @@ This check was removed for YP 2.3 release
</literallayout>
The <filename>testimage-auto</filename> class runs tests on an image
after the image is constructed (i.e.
- <link linkend='var-TEST_IMAGE'><filename>TEST_IMAGE</filename></link>
+ <link linkend='var-TESTIMAGE_AUTO'><filename>TESTIMAGE_AUTO</filename></link>
must be set to "1").
</para>
@@ -3541,6 +3597,14 @@ This check was removed for YP 2.3 release
<literallayout class='monospaced'>
$ bitbake -c testsdk image
</literallayout>
+ <note><title>Tip</title>
+ Best practices include using
+ <link linkend='var-IMAGE_CLASSES'><filename>IMAGE_CLASSES</filename></link>
+ rather than
+ <link linkend='var-INHERIT'><filename>INHERIT</filename></link> to
+ inherit the <filename>testsdk</filename> class for automated
+ SDK testing.
+ </note>
</para>
</section>
diff --git a/poky/documentation/ref-manual/ref-manual.xml b/poky/documentation/ref-manual/ref-manual.xml
index 9d491e157..f834d2dea 100644
--- a/poky/documentation/ref-manual/ref-manual.xml
+++ b/poky/documentation/ref-manual/ref-manual.xml
@@ -123,14 +123,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/ref-manual/ref-release-process.xml b/poky/documentation/ref-manual/ref-release-process.xml
index c665cd938..5efe17417 100644
--- a/poky/documentation/ref-manual/ref-release-process.xml
+++ b/poky/documentation/ref-manual/ref-release-process.xml
@@ -189,7 +189,7 @@
Running <filename>oe-selftest</filename> requires
host packages beyond the "Essential" grouping.
See the
- "<link linkend='required-packages-for-the-host-development-system'>Required Packages for the Host Development System</link>"
+ "<link linkend='required-packages-for-the-build-host'>Required Packages for the Build Host</link>"
section for more information.
</note>
</para></listitem>
diff --git a/poky/documentation/ref-manual/ref-system-requirements.xml b/poky/documentation/ref-manual/ref-system-requirements.xml
index aea1fdf18..69d4b4e72 100644
--- a/poky/documentation/ref-manual/ref-system-requirements.xml
+++ b/poky/documentation/ref-manual/ref-system-requirements.xml
@@ -66,6 +66,14 @@
below.
</para></listitem>
<listitem><para>
+ The Yocto Project is not compatible with the
+ <ulink url='https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux'>Windows Subsystem for Linux</ulink>
+ (WSL).
+ You cannot use a
+ <link linkend='hardware-build-system-term'>build host</link>
+ that is running WSL.
+ </para></listitem>
+ <listitem><para>
If you encounter problems, please go to
<ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
and submit a bug.
@@ -80,46 +88,49 @@
</itemizedlist>
</note>
<itemizedlist>
-<!--
- <listitem><para>Ubuntu 10.04</para></listitem>
+<!-- <listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 11.10</para></listitem>
<listitem><para>Ubuntu 12.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 13.10</para></listitem>
- <listitem><para>Ubuntu 14.04 (LTS)</para></listitem> -->
+ <listitem><para>Ubuntu 14.04 (LTS)</para></listitem>
<listitem><para>Ubuntu 14.10</para></listitem>
<listitem><para>Ubuntu 15.04</para></listitem>
- <listitem><para>Ubuntu 15.10</para></listitem>
+ <listitem><para>Ubuntu 15.10</para></listitem> -->
<listitem><para>Ubuntu 16.04 (LTS)</para></listitem>
-<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
+ <listitem><para>Ubuntu 16.10 (LTS)</para></listitem>
+ <listitem><para>Ubuntu 17.04</para></listitem>
+<!-- <listitem><para>Fedora 16 (Verne)</para></listitem>
<listitem><para>Fedora 17 (Spherical)</para></listitem>
- <listitem><para>Fedora release 19 (Schrödinger's Cat)</para></listitem>
- <listitem><para>Fedora release 20 (Heisenbug)</para></listitem> -->
+ <listitem><para>Fedora 19 (Schrödinger's Cat)</para></listitem>
+ <listitem><para>Fedora release 20 (Heisenbug)</para></listitem>
<listitem><para>Fedora release 22</para></listitem>
<listitem><para>Fedora release 23</para></listitem>
-<!-- <listitem><para>Fedora release 24</para></listitem>
- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
+ <listitem><para>Fedora release 24</para></listitem> -->
+ <listitem><para>Fedora release 26</para></listitem>
+<!-- <listitem><para>CentOS release 5.6 (Final)</para></listitem>
<listitem><para>CentOS release 5.7 (Final)</para></listitem>
<listitem><para>CentOS release 5.8 (Final)</para></listitem>
<listitem><para>CentOS release 6.3 (Final)</para></listitem>
<listitem><para>CentOS release 6.x</para></listitem> -->
<listitem><para>CentOS release 7.x</para></listitem>
-<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
+<!-- <listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
<listitem><para>Debian GNU/Linux 7.x (Wheezy)</para></listitem> -->
<listitem><para>Debian GNU/Linux 8.x (Jessie)</para></listitem>
<listitem><para>Debian GNU/Linux 9.x (Stretch)</para></listitem>
-<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
+<!-- <listitem><para>Debian GNU/Linux 7.1 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.2 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.3 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.4 (Wheezy)</para></listitem>
<listitem><para>Debian GNU/Linux 7.5 (Wheezy)</para></listitem>
- <listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem> -->
-<!-- <listitem><para>openSUSE 11.4</para></listitem>
+ <listitem><para>Debian GNU/Linux 7.6 (Wheezy)</para></listitem>
+ <listitem><para>openSUSE 11.4</para></listitem>
<listitem><para>openSUSE 12.1</para></listitem>
<listitem><para>openSUSE 12.2</para></listitem>
<listitem><para>openSUSE 12.3</para></listitem>
- <listitem><para>openSUSE 13.1</para></listitem> -->
- <listitem><para>openSUSE 13.2</para></listitem>
+ <listitem><para>openSUSE 13.1</para></listitem>
+ <listitem><para>openSUSE 13.2</para></listitem> -->
<listitem><para>openSUSE 42.1</para></listitem>
+ <listitem><para>openSUSE 42.2</para></listitem>
</itemizedlist>
</para>
@@ -132,8 +143,8 @@
</note>
</section>
- <section id='required-packages-for-the-host-development-system'>
- <title>Required Packages for the Host Development System</title>
+ <section id='required-packages-for-the-build-host'>
+ <title>Required Packages for the Build Host</title>
<para>
The list of packages you need on the host development system can
diff --git a/poky/documentation/ref-manual/ref-tasks.xml b/poky/documentation/ref-manual/ref-tasks.xml
index e6cf68670..8f3ff26d2 100644
--- a/poky/documentation/ref-manual/ref-tasks.xml
+++ b/poky/documentation/ref-manual/ref-tasks.xml
@@ -596,15 +596,6 @@
</para>
</section>
- <section id='ref-tasks-rm_work_all'>
- <title><filename>do_rm_work_all</filename></title>
-
- <para>
- Top-level task for removing work files after the build system has
- finished with them.
- </para>
- </section>
-
<section id='ref-tasks-unpack'>
<title><filename>do_unpack</filename></title>
@@ -895,7 +886,7 @@
Boots an image and performs runtime tests within the image
immediately after it has been built.
This task is enabled when you set
- <link linkend='var-TEST_IMAGE'><filename>TEST_IMAGE</filename></link>
+ <link linkend='var-TESTIMAGE_AUTO'><filename>TESTIMAGE_AUTO</filename></link>
equal to "1".
</para>
diff --git a/poky/documentation/ref-manual/ref-terms.xml b/poky/documentation/ref-manual/ref-terms.xml
index cc09d3f8a..c573a521a 100644
--- a/poky/documentation/ref-manual/ref-terms.xml
+++ b/poky/documentation/ref-manual/ref-terms.xml
@@ -29,11 +29,31 @@
information in the similarly-named recipe file.
For an example of an append file in use, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files in Your Layer</ulink>"
- section in the Yocto Project Development Tasks Manual.
- <note>
- Append files can also use wildcard patterns in their
- version numbers so they can be applied to more than one
- version of the underlying recipe file.
+ section in the Yocto Project Development Tasks Manual.</para>
+
+ <para>When you name an append file, you can use the
+ "<filename>%</filename>" wildcard character to allow for
+ matching recipe names.
+ For example, suppose you have an append file named as follows:
+ <literallayout class='monospaced'>
+ busybox_1.21.%.bbappend
+ </literallayout>
+ That append file would match any
+ <filename>busybox_1.21.</filename><replaceable>x</replaceable><filename>.bb</filename>
+ version of the recipe.
+ So, the append file would match the following recipe names:
+ <literallayout class='monospaced'>
+ busybox_1.21.1.bb
+ busybox_1.21.2.bb
+ busybox_1.21.3.bb
+ </literallayout>
+ <note><title>Important</title>
+ The use of the "<filename>%</filename>" character
+ is limited in that it only works directly in front of the
+ <filename>.bbappend</filename> portion of the append file's
+ name.
+ You cannot use the wildcard character in any other
+ location of the name.
</note>
</para></listitem>
<listitem><para id='bitbake-term'>
@@ -329,7 +349,7 @@
<para>It is worth noting that the term "package" can,
in general, have subtle meanings.
For example, the packages referred to in the
- "<link linkend='required-packages-for-the-host-development-system'>Required Packages for the Host Development System</link>"
+ "<link linkend='required-packages-for-the-build-host'>Required Packages for the Build Host</link>"
section are compiled binaries that, when installed, add
functionality to your Linux distribution.</para>
diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml
index e88389647..9e51b7591 100644
--- a/poky/documentation/ref-manual/ref-variables.xml
+++ b/poky/documentation/ref-manual/ref-variables.xml
@@ -679,6 +679,20 @@
<literallayout class='monospaced'>
BB_ALLOWED_NETWORKS = "*.gnu.org"
</literallayout>
+ <note><title>Important</title>
+ <para>The use of the "<filename>*</filename>"
+ character only works at the beginning of
+ a host name and it must be isolated from
+ the remainder of the host name.
+ You cannot use the wildcard character in any
+ other location of the name or combined with
+ the front part of the name.</para>
+
+ <para>For example,
+ <filename>*.foo.bar</filename> is supported,
+ while <filename>*aa.foo.bar</filename> is not.
+ </para>
+ </note>
</para></listitem>
<listitem><para>
Mirrors not in the host list are skipped and
@@ -1133,12 +1147,22 @@
<glossentry id='var-BBFILES'><glossterm>BBFILES</glossterm>
<info>
- BBFILES[doc] = "List of recipe files used by BitBake to build software."
+ BBFILES[doc] = "A space-separated list of recipe files BitBake uses to build software."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- List of recipe files used by BitBake to build software.
+ A space-separated list of recipe files BitBake uses to
+ build software.
+ </para>
+
+ <para>
+ When specifying recipe files, you can pattern match using
+ Python's
+ <ulink url='https://docs.python.org/3/library/glob.html'><filename>glob</filename></ulink>
+ syntax.
+ For details on the syntax, see the documentation by
+ following the previous link.
</para>
</glossdef>
</glossentry>
@@ -1267,15 +1291,19 @@
match any of the expressions.
It is as if BitBake does not see them at all.
Consequently, matching files are not parsed or otherwise
- used by BitBake.</para>
+ used by BitBake.
+ </para>
+
<para>
The values you provide are passed to Python's regular
expression compiler.
+ Consequently, the syntax follows Python's Regular
+ Expression (re) syntax.
The expressions are compared against the full paths to
the files.
For complete syntax information, see Python's
- documentation for the appropriate release at
- <ulink url='http://docs.python.org/release/'></ulink>.
+ documentation at
+ <ulink url='http://docs.python.org/3/library/re.html#re'></ulink>.
</para>
<para>
@@ -1336,7 +1364,7 @@
<filename>BBMULTICONFIG</filename> in an environment that
supports building targets with multiple configurations,
see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#platdev-building-targets-with-multiple-configurations'>Building Targets with Multiple Configurations</ulink>"
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-building-images-for-multiple-targets-using-multiple-configurations'>Building Images for Multiple Targets Using Multiple Configurations</ulink>"
section in the Yocto Project Development Tasks Manual.
</para>
</glossdef>
@@ -1443,6 +1471,17 @@
set up during compilation so that they are correct for
use when installed into the sysroot and called by the
build processes of other recipes.
+ <note>
+ The <filename>BINCONFIG_GLOB</filename> variable
+ uses
+ <ulink url='http://tldp.org/LDP/abs/html/globbingref.html'>shell globbing</ulink>,
+ which is recognition and expansion of wildcards during
+ pattern matching.
+ Shell globbing is very similar to
+ <ulink url='https://docs.python.org/2/library/fnmatch.html#module-fnmatch'><filename>fnmatch</filename></ulink>
+ and
+ <ulink url='https://docs.python.org/2/library/glob.html'><filename>glob</filename></ulink>.
+ </note>
</para>
<para>
@@ -2366,6 +2405,14 @@
Defines wildcards to match when installing a list of
complementary packages for all the packages explicitly
(or implicitly) installed in an image.
+ <note>
+ The <filename>COMPLEMENTARY_GLOB</filename> variable
+ uses Unix filename pattern matching
+ (<ulink url='https://docs.python.org/2/library/fnmatch.html#module-fnmatch'><filename>fnmatch</filename></ulink>),
+ which is similar to the Unix style pathname pattern
+ expansion
+ (<ulink url='https://docs.python.org/2/library/glob.html'><filename>glob</filename></ulink>).
+ </note>
The resulting list of complementary packages is associated
with an item that can be added to
<link linkend='var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></link>.
@@ -4586,7 +4633,12 @@
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- Additional <filename>cmake</filename> options.
+ Additional
+ <ulink url='https://cmake.org/overview/'>CMake</ulink>
+ options.
+ See the
+ <link linkend='ref-classes-cmake'><filename>cmake</filename></link>
+ class for additional information.
</para>
</glossdef>
</glossentry>
@@ -4782,23 +4834,38 @@
<literallayout class='monospaced'>
FILES_${PN} += "${bindir}/mydir1 ${bindir}/mydir2/myfile"
</literallayout>
+ <note><title>Notes</title>
+ <itemizedlist>
+ <listitem><para>
+ When specifying files or paths, you can pattern
+ match using Python's
+ <ulink url='https://docs.python.org/2/library/glob.html'><filename>glob</filename></ulink>
+ syntax.
+ For details on the syntax, see the
+ documentation by following the previous link.
+ </para></listitem>
+ <listitem><para>
+ When specifying paths as part of the
+ <filename>FILES</filename> variable, it is
+ good practice to use appropriate path
+ variables.
+ For example, use <filename>${sysconfdir}</filename>
+ rather than <filename>/etc</filename>, or
+ <filename>${bindir}</filename> rather than
+ <filename>/usr/bin</filename>.
+ You can find a list of these variables at the
+ top of the
+ <filename>meta/conf/bitbake.conf</filename>
+ file in the
+ <link linkend='source-directory'>Source Directory</link>.
+ You will also find the default values of the
+ various <filename>FILES_*</filename> variables
+ in this file.
+ </para></listitem>
+ </itemizedlist>
+ </note>
</para>
- <note>
- When specifying paths as part of the
- <filename>FILES</filename> variable, it is good practice
- to use appropriate path variables.
- For example, use <filename>${sysconfdir}</filename> rather
- than <filename>/etc</filename>, or
- <filename>${bindir}</filename> rather than
- <filename>/usr/bin</filename>.
- You can find a list of these variables at the top of the
- <filename>meta/conf/bitbake.conf</filename> file in the
- <link linkend='source-directory'>Source Directory</link>.
- You will also find the default values of the various
- <filename>FILES_*</filename> variables in this file.
- </note>
-
<para>
If some of the files you provide with the
<filename>FILES</filename> variable are editable and you
@@ -5166,6 +5233,28 @@
</glossdef>
</glossentry>
+ <glossentry id='var-GCCVERSION'><glossterm>GCCVERSION</glossterm>
+ <info>
+ GCCVERSION[doc] = "Specifies the default version of the GNU C Compiler (GCC) to use."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ Specifies the default version of the GNU C Compiler (GCC)
+ used for compilation.
+ By default, <filename>GCCVERSION</filename> is set to
+ "8.x" in the
+ <filename>meta/conf/distro/include/tcmode-default.inc</filename>
+ include file:
+ <literallayout class='monospaced'>
+ GCCVERSION ?= "8.%"
+ </literallayout>
+ You can override this value by setting it in a configuration
+ file such as the <filename>local.conf</filename>.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-GDB'><glossterm>GDB</glossterm>
<info>
GDB[doc] = "The minimal command and arguments to run the GNU Debugger."
@@ -6940,6 +7029,61 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-INITRAMFS_LINK_NAME'><glossterm>INITRAMFS_LINK_NAME</glossterm>
+ <info>
+ INITRAMFS_LINK_NAME[doc] = "The link name of the initial RAM filesystem image."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The link name of the initial RAM filesystem image.
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ INITRAMFS_LINK_NAME ?= "initramfs-${KERNEL_ARTIFACT_LINK_NAME}"
+ </literallayout>
+ The value of the <filename>KERNEL_ARTIFACT_LINK_NAME</filename>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
+ </literallayout>
+ </para>
+
+ <para>
+ See the
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ variable for additional information.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id='var-INITRAMFS_NAME'><glossterm>INITRAMFS_NAME</glossterm>
+ <info>
+ INITRAMFS_NAME[doc] = "The base name of the initial RAM filesystem image."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The base name of the initial RAM filesystem image.
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ INITRAMFS_NAME ?= "initramfs-${KERNEL_ARTIFACT_NAME}"
+ </literallayout>
+ The value of the
+ <link linkend='var-KERNEL_ARTIFACT_NAME'><filename>KERNEL_ARTIFACT_NAME</filename></link>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ </literallayout>
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-INITRD'><glossterm>INITRD</glossterm>
<info>
INITRD[doc] = "Indicates a list of filesystem images to concatenate and use as an initial RAM disk (initrd)."
@@ -7316,6 +7460,45 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-KERNEL_ARTIFACT_NAME'><glossterm>KERNEL_ARTIFACT_NAME</glossterm>
+ <info>
+ KERNEL_ARTIFACT_NAME[doc] = "Specifies the name of all of the build artifacts."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ Specifies the name of all of the build artifacts.
+ You can change the name of the artifacts by changing the
+ <filename>KERNEL_ARTIFACT_NAME</filename> variable.
+ </para>
+
+ <para>
+ The value of <filename>KERNEL_ARTIFACT_NAME</filename>,
+ which is set in the
+ <filename> meta/classes/kernel-artifact-names.bbclass</filename>
+ file, has the following default value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ </literallayout>
+ </para>
+
+ <para>
+ See the
+ <link linkend='var-PKGE'><filename>PKGE</filename></link>,
+ <link linkend='var-PKGV'><filename>PKGV</filename></link>,
+ <link linkend='var-PKGR'><filename>PKGR</filename></link>,
+ and
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ variables for additional information.
+ <note>
+ The <filename>IMAGE_VERSION_SUFFIX</filename> variable
+ is set to
+ <link linkend='var-DATETIME'><filename>DATETIME</filename></link>.
+ </note>
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-KERNEL_CLASSES'><glossterm>KERNEL_CLASSES</glossterm>
<info>
KERNEL_CLASSES[doc] = "A list of classes defining kernel image types that kernel class should inherit."
@@ -7365,6 +7548,61 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-KERNEL_DTB_LINK_NAME'><glossterm>KERNEL_DTB_LINK_NAME</glossterm>
+ <info>
+ KERNEL_DTB_LINK_NAME[doc] = "The link name of the kernel device tree binary (DTB)."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The link name of the kernel device tree binary (DTB).
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ KERNEL_DTB_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
+ </literallayout>
+ The value of the <filename>KERNEL_ARTIFACT_LINK_NAME</filename>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
+ </literallayout>
+ </para>
+
+ <para>
+ See the
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ variable for additional information.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id='var-KERNEL_DTB_NAME'><glossterm>KERNEL_DTB_NAME</glossterm>
+ <info>
+ KERNEL_DTB_NAME[doc] = "The base name of the kernel device tree binary (DTB)."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The base name of the kernel device tree binary (DTB).
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ KERNEL_DTB_NAME ?= "${KERNEL_ARTIFACT_NAME}"
+ </literallayout>
+ The value of the
+ <link linkend='var-KERNEL_ARTIFACT_NAME'><filename>KERNEL_ARTIFACT_NAME</filename></link>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ </literallayout>
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-KERNEL_EXTRA_ARGS'><glossterm>KERNEL_EXTRA_ARGS</glossterm>
<info>
KERNEL_EXTRA_ARGS[doc] = "Specifies additional make command-line arguments the OpenEmbedded build system passes on when compiling the kernel."
@@ -7422,38 +7660,93 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<literallayout class='monospaced'>
KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/taskstats/taskstats.scc"
KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}"
- KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc"
- KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc"
- KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc"
- </literallayout></para>
+ KERNEL_FEATURES_append_qemuall = " cfg/virtio.scc"
+ KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc cfg/paravirt_kvm.scc"
+ KERNEL_FEATURES_append_qemux86-64 = " cfg/sound.scc" </literallayout></para>
</glossdef>
</glossentry>
- <glossentry id='var-KERNEL_IMAGE_BASE_NAME'><glossterm>KERNEL_IMAGE_BASE_NAME</glossterm>
+ <glossentry id='var-KERNEL_FIT_LINK_NAME'><glossterm>KERNEL_FIT_LINK_NAME</glossterm>
<info>
- KERNEL_IMAGE_BASE_NAME[doc] = "The base name of the kernel image."
+ KERNEL_FIT_LINK_NAME[doc] = "The link name of the kernel flattened image tree (FIT) image."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- The base name of the kernel image.
+ The link name of the kernel flattened image tree (FIT) image.
This variable is set in the
- <link linkend='ref-classes-kernel'>kernel</link> class
- as follows:
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ KERNEL_FIT_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
+ </literallayout>
+ The value of the <filename>KERNEL_ARTIFACT_LINK_NAME</filename>
+ variable, which is set in the same file, has the following
+ value:
<literallayout class='monospaced'>
- KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
+ KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
</literallayout>
</para>
<para>
See the
- <link linkend='var-PKGE'><filename>PKGE</filename></link>,
- <link linkend='var-PKGV'><filename>PKGV</filename></link>,
- <link linkend='var-PKGR'><filename>PKGR</filename></link>,
- <link linkend='var-MACHINE'><filename>MACHINE</filename></link>,
- and
- <link linkend='var-DATETIME'><filename>DATETIME</filename></link>
- variables for additional information.
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ variable for additional information.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id='var-KERNEL_FIT_NAME'><glossterm>KERNEL_FIT_NAME</glossterm>
+ <info>
+ KERNEL_FIT_NAME[doc] = "The base name of the kernel flattened image tree (FIT) image."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The base name of the kernel flattened image tree (FIT) image.
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ KERNEL_FIT_NAME ?= "${KERNEL_ARTIFACT_NAME}"
+ </literallayout>
+ The value of the
+ <link linkend='var-KERNEL_ARTIFACT_NAME'><filename>KERNEL_ARTIFACT_NAME</filename></link>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ </literallayout>
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id='var-KERNEL_IMAGE_LINK_NAME'><glossterm>KERNEL_IMAGE_LINK_NAME</glossterm>
+ <info>
+ KERNEL_IMAGE_LINK_NAME[doc] = "The link name for the kernel image."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The link name for the kernel image.
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ KERNEL_IMAGE_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
+ </literallayout>
+ The value of the <filename>KERNEL_ARTIFACT_LINK_NAME</filename>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
+ </literallayout>
+ </para>
+
+ <para>
+ See the
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ variable for additional information.
</para>
</glossdef>
</glossentry>
@@ -7489,6 +7782,31 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-KERNEL_IMAGE_NAME'><glossterm>KERNEL_IMAGE_NAME</glossterm>
+ <info>
+ KERNEL_IMAGE_NAME[doc] = "The base name of the kernel image."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The base name of the kernel image.
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ KERNEL_IMAGE_NAME ?= "${KERNEL_ARTIFACT_NAME}"
+ </literallayout>
+ The value of the
+ <link linkend='var-KERNEL_ARTIFACT_NAME'><filename>KERNEL_ARTIFACT_NAME</filename></link>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ </literallayout>
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-KERNEL_IMAGETYPE'><glossterm>KERNEL_IMAGETYPE</glossterm>
<info>
KERNEL_IMAGETYPE[doc] = "The type of kernel to build for a device, usually set by the machine configuration files and defaults to 'zImage'."
@@ -8902,47 +9220,73 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
- <glossentry id='var-MODULE_IMAGE_BASE_NAME'><glossterm>MODULE_IMAGE_BASE_NAME</glossterm>
+ <glossentry id='var-MODULE_TARBALL_DEPLOY'><glossterm>MODULE_TARBALL_DEPLOY</glossterm>
<info>
- MODULE_IMAGE_BASE_NAME[doc] = "The base name of the kernel modules tarball."
+ MODULE_TARBALL_DEPLOY[doc] = "Controls creation of the modules-*.tgz file. Set this variable to "0" to disable creation of this file, which contains all of the kernel modules resulting from a kernel build."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- The base name of the kernel modules tarball.
+ Controls creation of the <filename>modules-*.tgz</filename>
+ file.
+ Set this variable to "0" to disable creation of this
+ file, which contains all of the kernel modules resulting
+ from a kernel build.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id='var-MODULE_TARBALL_LINK_NAME'><glossterm>MODULE_TARBALL_LINK_NAME</glossterm>
+ <info>
+ MODULE_TARBALL_LINK_NAME[doc] = "The link name of the kernel module tarball."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The link name of the kernel module tarball.
This variable is set in the
- <link linkend='ref-classes-kernel'>kernel</link> class
- as follows:
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
<literallayout class='monospaced'>
- MODULE_IMAGE_BASE_NAME ?= "modules-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
+ MODULE_TARBALL_LINK_NAME ?= "${KERNEL_ARTIFACT_LINK_NAME}"
+ </literallayout>
+ The value of the <filename>KERNEL_ARTIFACT_LINK_NAME</filename>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_LINK_NAME ?= "${MACHINE}"
</literallayout>
</para>
<para>
See the
- <link linkend='var-PKGE'><filename>PKGE</filename></link>,
- <link linkend='var-PKGV'><filename>PKGV</filename></link>,
- <link linkend='var-PKGR'><filename>PKGR</filename></link>,
- <link linkend='var-MACHINE'><filename>MACHINE</filename></link>,
- and
- <link linkend='var-DATETIME'><filename>DATETIME</filename></link>
- variables for additional information.
+ <link linkend='var-MACHINE'><filename>MACHINE</filename></link>
+ variable for additional information.
</para>
</glossdef>
</glossentry>
- <glossentry id='var-MODULE_TARBALL_DEPLOY'><glossterm>MODULE_TARBALL_DEPLOY</glossterm>
+ <glossentry id='var-MODULE_TARBALL_NAME'><glossterm>MODULE_TARBALL_NAME</glossterm>
<info>
- MODULE_TARBALL_DEPLOY[doc] = "Controls creation of the modules-*.tgz file. Set this variable to "0" to disable creation of this file, which contains all of the kernel modules resulting from a kernel build."
+ MODULE_TARBALL_NAME[doc] = "The base name of the kernel module tarball."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- Controls creation of the <filename>modules-*.tgz</filename>
- file.
- Set this variable to "0" to disable creation of this
- file, which contains all of the kernel modules resulting
- from a kernel build.
+ The base name of the kernel module tarball.
+ This variable is set in the
+ <filename>meta/classes/kernel-artifact-names.bbclass</filename>
+ file as follows:
+ <literallayout class='monospaced'>
+ MODULE_TARBALL_NAME ?= "${KERNEL_ARTIFACT_NAME}"
+ </literallayout>
+ The value of the
+ <link linkend='var-KERNEL_ARTIFACT_NAME'><filename>KERNEL_ARTIFACT_NAME</filename></link>
+ variable, which is set in the same file, has the following
+ value:
+ <literallayout class='monospaced'>
+ KERNEL_ARTIFACT_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
+ </literallayout>
</para>
</glossdef>
</glossentry>
@@ -9058,6 +9402,40 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-NO_GENERIC_LICENSE'><glossterm>NO_GENERIC_LICENSE</glossterm>
+ <info>
+ NO_GENERIC_LICENSE[doc] = "Used to allow copying a license that does not exist in common licenses."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ Avoids QA errors when you use a non-common, non-CLOSED
+ license in a recipe.
+ Packages exist, such as the linux-firmware package, with
+ many licenses that are not in any way common.
+ Also, new licenses are added occasionally to avoid
+ introducing a lot of common license files, which are only
+ applicable to a specific package.
+ <filename>NO_GENERIC_LICENSE</filename> is used to allow
+ copying a license that does not exist in common licenses.
+ </para>
+
+ <para>
+ The following example shows how to add
+ <filename>NO_GENERIC_LICENSE</filename> to a recipe:
+ <literallayout class='monospaced'>
+ NO_GENERIC_LICENSE[<replaceable>license_name</replaceable>] = "<replaceable>license_file_in_fetched_source</replaceable>"
+ </literallayout>
+ The following is an example that uses the
+ <filename>LICENSE.Abilis.txt</filename> file as the license
+ from the fetched source:
+ <literallayout class='monospaced'>
+ NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENSE.Abilis.txt"
+ </literallayout>
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-NO_RECOMMENDATIONS'><glossterm>NO_RECOMMENDATIONS</glossterm>
<info>
NO_RECOMMENDATIONS[doc] = "When set to '1', no recommended packages will be installed. Some recommended packages might be required for certain system functionality, such as kernel-modules. It is up to the user to add packages to IMAGE_INSTALL as needed."
@@ -9141,44 +9519,6 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</para>
</glossdef>
</glossentry>
-
- <glossentry id='var-NOHDD'><glossterm>NOHDD</glossterm>
- <info>
- NOHDD[doc] = "Causes the OpenEmbedded build system to skip building the .hddimg image."
- </info>
- <glossdef>
- <para role="glossdeffirst">
-<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- Causes the OpenEmbedded build system to skip building the
- <filename>.hddimg</filename> image.
- The <filename>NOHDD</filename> variable is used with the
- <link linkend='ref-classes-image-live'><filename>image-live</filename></link>
- class.
- Set the variable to "1" to prevent the
- <filename>.hddimg</filename> image from being built.
- </para>
- </glossdef>
- </glossentry>
-
- <glossentry id='var-NOISO'><glossterm>NOISO</glossterm>
- <info>
- NOISO[doc] = "Causes the OpenEmbedded build system to skip building the ISO image."
- </info>
- <glossdef>
- <para role="glossdeffirst">
-<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- Causes the OpenEmbedded build system to skip building the
- ISO image.
- The <filename>NOISO</filename> variable is used with the
- <link linkend='ref-classes-image-live'><filename>image-live</filename></link>
- class.
- Set the variable to "1" to prevent the ISO image from
- being built.
- To enable building an ISO image, set the variable to "0".
- </para>
- </glossdef>
- </glossentry>
-
</glossdiv>
<glossdiv id='var-glossary-o'><title>O</title>
@@ -9612,6 +9952,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
".debug" previously described with the exception
that no source files are installed.
</para></listitem>.
+ <listitem><para>
+ "debug-with-srcpkg": The same behavior as
+ ".debug" previously described with the exception
+ that all source files are placed in a separate
+ <filename>*-src</filename> pkg.
+ </para></listitem>
</itemizedlist>
</para>
@@ -9991,9 +10337,9 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
Here is the basic block structure:
<literallayout class='monospaced'>
PACKAGECONFIG ??= "f1 f2 f3 ..."
- PACKAGECONFIG[f1] = "--with-f1,--without-f1,build-deps-f1,rt-deps-f1"
- PACKAGECONFIG[f2] = "--with-f2,--without-f2,build-deps-f2,rt-deps-f2"
- PACKAGECONFIG[f3] = "--with-f3,--without-f3,build-deps-f3,rt-deps-f3"
+ PACKAGECONFIG[f1] = "--with-f1,--without-f1,build-deps-f1,rt-deps-f1,rt-recs-f1"
+ PACKAGECONFIG[f2] = "--with-f2,--without-f2,build-deps-f2,rt-deps-f2,rt-recs-f2"
+ PACKAGECONFIG[f3] = "--with-f3,--without-f3,build-deps-f3,rt-deps-f3,rt-recs-f3"
</literallayout>
</para>
@@ -10002,7 +10348,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
variable itself specifies a space-separated list of the
features to enable.
Following the features, you can determine the behavior of
- each feature by providing up to four order-dependent
+ each feature by providing up to five order-dependent
arguments, which are separated by commas.
You can omit any argument you like but must retain the
separating commas.
@@ -10028,6 +10374,10 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
(<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>)
that should be added if the feature is enabled.
</para></listitem>
+ <listitem><para>Additional runtime recommendations
+ (<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>)
+ that should be added if the feature is enabled.
+ </para></listitem>
</orderedlist>
</para>
@@ -10076,7 +10426,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<filename>PACKAGECONFIG</filename>.
You can either completely override the variable:
<literallayout class='monospaced'>
- PACKAGECONFIG="f4 f5"
+ PACKAGECONFIG = "f4 f5"
</literallayout>
Or, you can just append the variable:
<literallayout class='monospaced'>
@@ -10090,7 +10440,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
As with append files previously described,
you can either completely override the variable:
<literallayout class='monospaced'>
- PACKAGECONFIG_pn-<replaceable>recipename</replaceable>="f4 f5"
+ PACKAGECONFIG_pn-<replaceable>recipename</replaceable> = "f4 f5"
</literallayout>
Or, you can just amend the variable:
<literallayout class='monospaced'>
@@ -10708,17 +11058,16 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
to build.
This variable works in conjunction with the
<link linkend='ref-classes-blacklist'><filename>blacklist</filename></link>
- class, which the recipe must inherit globally.
+ class, which is inherited globally.
</para>
<para>
- To prevent a recipe from being built, inherit the class
- globally and use the variable in your
+ To prevent a recipe from being built, use the
+ <filename>PNBLACKLIST</filename> variable in your
<filename>local.conf</filename> file.
Here is an example that prevents
<filename>myrecipe</filename> from being built:
<literallayout class='monospaced'>
- INHERIT += "blacklist"
PNBLACKLIST[myrecipe] = "Not supported by our organization."
</literallayout>
</para>
@@ -10896,47 +11245,63 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- If there are multiple versions of recipes available, this
- variable determines which recipe should be given preference.
+ If multiple versions of recipes exist, this
+ variable determines which version is given preference.
You must always suffix the variable with the
<link linkend='var-PN'><filename>PN</filename></link>
you want to select, and you should set the
<link linkend='var-PV'><filename>PV</filename></link>
accordingly for precedence.
- You can use the "<filename>%</filename>" character as a
- wildcard to match any number of characters, which can be
- useful when specifying versions that contain long revision
- numbers that could potentially change.
+ </para>
+
+ <para>
+ The <filename>PREFERRED_VERSION</filename> variable
+ supports limited wildcard use through the
+ "<filename>%</filename>" character.
+ You can use the character to match any number of
+ characters, which can be useful when specifying versions
+ that contain long revision numbers that potentially change.
Here are two examples:
<literallayout class='monospaced'>
PREFERRED_VERSION_python = "3.4.0"
PREFERRED_VERSION_linux-yocto = "4.12%"
</literallayout>
- <note>
- The specified version is matched against
- <link linkend='var-PV'><filename>PV</filename></link>,
- which does not necessarily match the version part of
- the recipe's filename.
- For example, consider two recipes
- <filename>foo_1.2.bb</filename> and
- <filename>foo_git.bb</filename> where
- <filename>foo_git.bb</filename> contains the following
- assignment:
- <literallayout class='monospaced'>
+ <note><title>Important</title>
+ The use of the "<filename>%</filename>" character
+ is limited in that it only works at the end of the
+ string.
+ You cannot use the wildcard character in any other
+ location of the string.
+ </note>
+ </para>
+
+ <para>
+ The specified version is matched against
+ <link linkend='var-PV'><filename>PV</filename></link>,
+ which does not necessarily match the version part of
+ the recipe's filename.
+ For example, consider two recipes
+ <filename>foo_1.2.bb</filename> and
+ <filename>foo_git.bb</filename> where
+ <filename>foo_git.bb</filename> contains the following
+ assignment:
+ <literallayout class='monospaced'>
PV = "1.1+git${SRCPV}"
- </literallayout>
- In this case, the correct way to select
- <filename>foo_git.bb</filename> is by using an
- assignment such as the following:
- <literallayout class='monospaced'>
+ </literallayout>
+ In this case, the correct way to select
+ <filename>foo_git.bb</filename> is by using an
+ assignment such as the following:
+ <literallayout class='monospaced'>
PREFERRED_VERSION_foo = "1.1+git%"
- </literallayout>
- Compare that previous example against the following
- incorrect example, which does not work:
- <literallayout class='monospaced'>
+ </literallayout>
+ Compare that previous example against the following
+ incorrect example, which does not work:
+ <literallayout class='monospaced'>
PREFERRED_VERSION_foo = "git"
- </literallayout>
- </note>
+ </literallayout>
+ </para>
+
+ <para>
Sometimes the <filename>PREFERRED_VERSION</filename>
variable can be set by configuration files in a way that
is hard to change.
@@ -12566,22 +12931,33 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-SDK_TITLE'><glossterm>SDK_TITLE</glossterm>
<info>
- SDK_TITLE[doc] = "Specifies a title to be printed when running the SDK installer."
+ SDK_TITLE[doc] = "The title to be printed when running the SDK installer."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- Specifies a title to be printed when running the SDK
- installer.
- The <filename>SDK_TITLE</filename> variable defaults to
- "<replaceable>distro</replaceable> SDK" for the standard
- SDK and "<replaceable>distro</replaceable> Extensible SDK"
- for the extensible SDK, where
- <replaceable>distro</replaceable> is the first one of
+ The title to be printed when running the SDK installer.
+ By default, this title is based on the
<link linkend='var-DISTRO_NAME'><filename>DISTRO_NAME</filename></link>
or
<link linkend='var-DISTRO'><filename>DISTRO</filename></link>
- that is set in your configuration.
+ variable and is set in the
+ <link linkend='ref-classes-populate-sdk-*'><filename>populate_sdk_base</filename></link>
+ class as follows:
+ <literallayout class='monospaced'>
+ SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
+ </literallayout>
+ For the default distribution "poky",
+ <filename>SDK_TITLE</filename> is set to
+ "Poky (Yocto Project Reference Distro)".
+ </para>
+
+ <para>
+ For information on how to change this default title,
+ see the
+ "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-changing-the-sdk-installer-title'>Changing the Extensible SDK Installer Title</ulink>"
+ section in the Yocto Project Application Development and
+ the Extensible Software Development Kit (eSDK) manual.
</para>
</glossdef>
</glossentry>
@@ -12640,6 +13016,36 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-SDKEXTPATH'><glossterm>SDKEXTPATH</glossterm>
+ <info>
+ SDKEXTPATH[doc] = "The default installation directory for the extensible SDK."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ The default installation directory for the Extensible SDK.
+ By default, this directory is based on the
+ <link linkend='var-DISTRO'><filename>DISTRO</filename></link>
+ variable and is set in the
+ <link linkend='ref-classes-populate-sdk-*'><filename>populate_sdk_base</filename></link>
+ class as follows:
+ <literallayout class='monospaced'>
+ SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk"
+ </literallayout>
+ For the default distribution "poky", the
+ <filename>SDKEXTPATH</filename> is set to "poky_sdk".
+ </para>
+
+ <para>
+ For information on how to change this default directory,
+ see the
+ "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-changing-the-default-sdk-installation-directory'>Changing the Default SDK Installation Directory</ulink>"
+ section in the Yocto Project Application Development and
+ the Extensible Software Development Kit (eSDK) manual.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-SDKIMAGE_FEATURES'><glossterm>SDKIMAGE_FEATURES</glossterm>
<info>
SDKIMAGE_FEATURES[doc] = "Equivalent to IMAGE_FEATURES. However, this variable applies to the SDK generated from an image using the command 'bitbake -c populate_sdk imagename'."
@@ -13506,7 +13912,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<link linkend='var-MIRRORS'><filename>MIRRORS</filename></link>
and <link linkend='var-PREMIRRORS'><filename>PREMIRRORS</filename></link>
and points to the cache locations to check for the shared
- objects.
+ state (sstate) objects.
</para>
<para>
@@ -13519,6 +13925,25 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</para>
<para>
+ When pointing to sstate build artifacts on another machine
+ that uses a different GCC version for native builds,
+ you must configure <filename>SSTATE_MIRROR</filename>
+ with a regular expression that maps local search paths
+ to server paths.
+ The paths need to take into account
+ <link linkend='var-NATIVELSBSTRING'><filename>NATIVELSBSTRING</filename></link>
+ set by the
+ <link linkend='ref-classes-uninative'><filename>uninative</filename></link>
+ class.
+ For example, the following maps the local search path
+ <filename>universal-4.9</filename> to the server-provided
+ path <replaceable>server_url_sstate_path</replaceable>:
+ <literallayout class='monospaced'>
+ SSTATE_MIRRORS ?= file://universal-4.9/(.*) http://<replaceable>server_url_sstate_path</replaceable>/universal-4.8/\1 \n
+ </literallayout>
+ </para>
+
+ <para>
If a mirror uses the same structure as
<link linkend='var-SSTATE_DIR'><filename>SSTATE_DIR</filename></link>,
you need to add
@@ -14860,6 +15285,26 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-TCLIBC'><glossterm>TCLIBC</glossterm>
+ <info>
+ TCLIBC[doc] = "Specifies GNU standard C library (libc) variant to use during the build process. You can select 'glibc', 'musl' or "newlib."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ Specifies the GNU standard C library
+ (<filename>libc</filename>) variant to use during the
+ build process.
+ This variable replaces <filename>POKYLIBC</filename>,
+ which is no longer supported.
+ </para>
+
+ <para>
+ You can select "glibc", "musl", "newlib", or "baremetal"
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-TCLIBCAPPEND'><glossterm>TCLIBCAPPEND</glossterm>
<info>
TCLIBCAPPEND[doc] = "Specifies a suffix appended to TMPDIR that identifies the libc variant for the build."
@@ -14891,25 +15336,6 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
- <glossentry id='var-TCLIBC'><glossterm>TCLIBC</glossterm>
- <info>
- TCLIBC[doc] = "Specifies GNU standard C library (libc) variant to use during the build process. You can select 'glibc' or 'musl'."
- </info>
- <glossdef>
- <para role="glossdeffirst">
-<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- Specifies the GNU standard C library (<filename>libc</filename>)
- variant to use during the build process.
- This variable replaces <filename>POKYLIBC</filename>, which is no longer
- supported.
- </para>
-
- <para>
- You can select "glibc" or "musl".
- </para>
- </glossdef>
- </glossentry>
-
<glossentry id='var-TCMODE'><glossterm>TCMODE</glossterm>
<info>
TCMODE[doc] = "Enables an external toolchain (where provided by an additional layer) if set to a value other than 'default'."
@@ -15017,41 +15443,6 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
- <glossentry id='var-TEST_IMAGE'><glossterm>TEST_IMAGE</glossterm>
- <info>
- TEST_IMAGE[doc] = "Enables test booting of virtual machine images under the QEMU emulator after any root filesystems are created and runs tests against those images."
- </info>
- <glossdef>
- <para role="glossdeffirst">
-<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
- Automatically runs the series of automated tests for
- images when an image is successfully built.
- </para>
-
- <para>
- These tests are written in Python making use of the
- <filename>unittest</filename> module, and the majority of
- them run commands on the target system over
- <filename>ssh</filename>.
- You can set this variable to "1" in your
- <filename>local.conf</filename> file in the
- <link linkend='build-directory'>Build Directory</link>
- to have the OpenEmbedded build system automatically run
- these tests after an image successfully builds:
- <literallayout class='monospaced'>
- TEST_IMAGE = "1"
- </literallayout>
- For more information on enabling, running, and writing
- these tests, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>"
- section in the Yocto Project Development Tasks Manual and
- the
- "<link linkend='ref-classes-testimage*'><filename>testimage*.bbclass</filename></link>"
- section.
- </para>
- </glossdef>
- </glossentry>
-
<glossentry id='var-TEST_LOG_DIR'><glossterm>TEST_LOG_DIR</glossterm>
<info>
TEST_LOG_DIR[doc] = "Holds the SSH log and the boot log for QEMU machines. The TEST_LOG_DIR variable defaults to "${WORKDIR}/testimage"."
@@ -15211,9 +15602,9 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
Specifies the target controller to use when running tests
against a test image.
- The default controller to use is "qemu":
+ The default controller to use is "QemuTarget":
<literallayout class='monospaced'>
- TEST_TARGET = "qemu"
+ TEST_TARGET = "QemuTarget"
</literallayout>
</para>
@@ -15232,35 +15623,24 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
You can provide the following arguments with
<filename>TEST_TARGET</filename>:
<itemizedlist>
- <listitem><para><emphasis>"qemu" and "QemuTarget":</emphasis>
+ <listitem><para><emphasis>"QemuTarget":</emphasis>
Boots a QEMU image and runs the tests.
See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#qemu-image-enabling-tests'>Enabling Runtime Tests on QEMU</ulink>"
section in the Yocto Project Development Tasks
Manual for more information.
</para></listitem>
- <listitem><para><emphasis>"simpleremote" and "SimpleRemoteTarget":</emphasis>
+ <listitem><para><emphasis>"SimpleRemoteTarget":</emphasis>
Runs the tests on target hardware that is already
up and running.
The hardware can be on the network or it can be
a device running an image on QEMU.
You must also set
<link linkend='var-TEST_TARGET_IP'><filename>TEST_TARGET_IP</filename></link>
- when you use "simpleremote" or "SimpleRemoteTarget".
+ when you use "SimpleRemoteTarget".
<note>
This argument is defined in
- <filename>meta/lib/oeqa/targetcontrol.py</filename>.
- The small caps names are kept for compatibility
- reasons.
- </note>
- </para></listitem>
- <listitem><para><emphasis>"GummibootTarget":</emphasis>
- Automatically deploys and runs tests on an
- EFI-enabled machine that has a master image
- installed.
- <note>
- This argument is defined in
- <filename>meta/lib/oeqa/controllers/masterimage.py</filename>.
+ <filename>meta/lib/oeqa/controllers/simpleremote.py</filename>.
</note>
</para></listitem>
</itemizedlist>
@@ -15363,6 +15743,47 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
+ <glossentry id='var-TESTIMAGE_AUTO'><glossterm>TESTIMAGE_AUTO</glossterm>
+ <info>
+ TESTIMAGE_AUTO[doc] = "Enables automatic testing of an image once it is built."
+ </info>
+ <glossdef>
+ <para role="glossdeffirst">
+<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
+ Automatically runs the series of automated tests for
+ images when an image is successfully built.
+ Setting <filename>TESTIMAGE_AUTO</filename> to "1"
+ causes any image that successfully builds to automatically
+ boot under QEMU.
+ Using the variable also adds in dependencies so that any
+ SDK for which testing is requested is automatically built
+ first.
+ </para>
+
+ <para>
+ These tests are written in Python making use of the
+ <filename>unittest</filename> module, and the majority of
+ them run commands on the target system over
+ <filename>ssh</filename>.
+ You can set this variable to "1" in your
+ <filename>local.conf</filename> file in the
+ <link linkend='build-directory'>Build Directory</link>
+ to have the OpenEmbedded build system automatically run
+ these tests after an image successfully builds:
+ <literallayout class='monospaced'>
+ TESTIMAGE_AUTO = "1"
+ </literallayout>
+ For more information on enabling, running, and writing
+ these tests, see the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#performing-automated-runtime-testing'>Performing Automated Runtime Testing</ulink>"
+ section in the Yocto Project Development Tasks Manual and
+ the
+ "<link linkend='ref-classes-testimage*'><filename>testimage*.bbclass</filename></link>"
+ section.
+ </para>
+ </glossdef>
+ </glossentry>
+
<glossentry id='var-THISDIR'><glossterm>THISDIR</glossterm>
<info>
THISDIR[doc] = "The directory in which the file BitBake is currently parsing is located."
diff --git a/poky/documentation/sdk-manual/sdk-appendix-customizing.xml b/poky/documentation/sdk-manual/sdk-appendix-customizing.xml
index c3215e622..7454c90be 100644
--- a/poky/documentation/sdk-manual/sdk-appendix-customizing.xml
+++ b/poky/documentation/sdk-manual/sdk-appendix-customizing.xml
@@ -7,7 +7,7 @@
<title>Customizing the Extensible SDK</title>
<para>
- This appendix presents customizations you can apply to the extensible SDK.
+ This appendix describes customizations you can apply to the extensible SDK.
</para>
<section id='sdk-configuring-the-extensible-sdk'>
@@ -186,7 +186,13 @@
You can change the displayed title for the SDK installer by setting
the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SDK_TITLE'><filename>SDK_TITLE</filename></ulink>
- variable.
+ variable and then rebuilding the the SDK installer.
+ For information on how to build an SDK installer, see the
+ "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>"
+ section.
+ </para>
+
+ <para>
By default, this title is derived from
<ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_NAME'><filename>DISTRO_NAME</filename></ulink>
when it is set.
@@ -198,11 +204,28 @@
<para>
The
- <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-populate-sdk-*'><filename>populate_sdk_ext</filename></ulink>
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-populate-sdk-*'><filename>populate_sdk_base</filename></ulink>
class defines the default value of the <filename>SDK_TITLE</filename>
variable as follows:
<literallayout class='monospaced'>
- SDK_TITLE_task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} Extensible SDK"
+ SDK_TITLE ??= "${@d.getVar('DISTRO_NAME') or d.getVar('DISTRO')} SDK"
+ </literallayout>
+ </para>
+
+ <para>
+ While several ways exist to change this variable, an efficient method
+ is to set the variable in your distribution's configuration file.
+ Doing so creates an SDK installer title that applies across your
+ distribution.
+ As an example, assume you have your own layer for your distribution
+ named "meta-mydistro" and you are using the same type of file
+ hierarchy as does the default "poky" distribution.
+ If so, you could update the <filename>SDK_TITLE</filename> variable
+ in the
+ <filename>~/meta-mydistro/conf/distro/mydistro.conf</filename> file
+ using the following form:
+ <literallayout class='monospaced'>
+ SDK_TITLE = "<replaceable>your_title</replaceable>"
</literallayout>
</para>
</section>
@@ -265,6 +288,51 @@
</para>
</section>
+<section id='sdk-changing-the-default-sdk-installation-directory'>
+ <title>Changing the Default SDK Installation Directory</title>
+
+ <para>
+ When you build the installer for the Extensible SDK, the default
+ installation directory for the SDK is based on the
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO'><filename>DISTRO</filename></ulink>
+ and
+ <ulink url='&YOCTO_DOCS_REF_URL;#var-SDKEXTPATH'><filename>SDKEXTPATH</filename></ulink>
+ variables from within the
+ <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-populate-sdk-*'><filename>populate_sdk_base</filename></ulink>
+ class as follows:
+ <literallayout class='monospaced'>
+ SDKEXTPATH ??= "~/${@d.getVar('DISTRO')}_sdk"
+ </literallayout>
+ You can change this default installation directory by specifically
+ setting the <filename>SDKEXTPATH</filename> variable.
+ </para>
+
+ <para>
+ While a number of ways exist through which you can set this variable,
+ the method that makes the most sense is to set the variable in your
+ distribution's configuration file.
+ Doing so creates an SDK installer default directory that applies
+ across your distribution.
+ As an example, assume you have your own layer for your distribution
+ named "meta-mydistro" and you are using the same type of file
+ hierarchy as does the default "poky" distribution.
+ If so, you could update the <filename>SDKEXTPATH</filename> variable
+ in the
+ <filename>~/meta-mydistro/conf/distro/mydistro.conf</filename> file
+ using the following form:
+ <literallayout class='monospaced'>
+ SDKEXTPATH = "<replaceable>some_path_for_your_installed_sdk</replaceable>"
+ </literallayout>
+ </para>
+
+ <para>
+ After building your installer, running it prompts the user for
+ acceptance of the
+ <replaceable>some_path_for_your_installed_sdk</replaceable> directory
+ as the default location to install the Extensible SDK.
+ </para>
+</section>
+
<section id='sdk-providing-additional-installable-extensible-sdk-content'>
<title>Providing Additional Installable Extensible SDK Content</title>
diff --git a/poky/documentation/sdk-manual/sdk-appendix-obtain.xml b/poky/documentation/sdk-manual/sdk-appendix-obtain.xml
index c608e6f54..2cadcc1e9 100644
--- a/poky/documentation/sdk-manual/sdk-appendix-obtain.xml
+++ b/poky/documentation/sdk-manual/sdk-appendix-obtain.xml
@@ -106,7 +106,7 @@
<emphasis>Set Up the Build Environment:</emphasis>
Be sure you are set up to use BitBake in a shell.
See the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
section in the Yocto Project Development Tasks Manual for
information on how to get a build host ready that is either a
native Linux machine or a machine that uses CROPS.
diff --git a/poky/documentation/sdk-manual/sdk-eclipse-project.xml b/poky/documentation/sdk-manual/sdk-eclipse-project.xml
index f8a586f54..15a9ae753 100644
--- a/poky/documentation/sdk-manual/sdk-eclipse-project.xml
+++ b/poky/documentation/sdk-manual/sdk-eclipse-project.xml
@@ -57,12 +57,12 @@
<ulink url='&YOCTO_DOCS_REF_URL;#hardware-build-system-term'>build host</ulink>
can use the Yocto Project.
See the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing a Build Host</ulink>"
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
section in the Yocto Project Development Tasks Manual for
information on how to set up your build host.
<note>
Be sure you install the "xterm" package, which is a
- <ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>graphical and Eclipse plug-in extra</ulink>
+ <ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host'>graphical and Eclipse plug-in extra</ulink>
needed by Eclipse.
</note>
</para></listitem>
diff --git a/poky/documentation/sdk-manual/sdk-manual.xml b/poky/documentation/sdk-manual/sdk-manual.xml
index 2dabdb76c..7f93d5f61 100644
--- a/poky/documentation/sdk-manual/sdk-manual.xml
+++ b/poky/documentation/sdk-manual/sdk-manual.xml
@@ -57,14 +57,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/toaster-manual/toaster-manual-start.xml b/poky/documentation/toaster-manual/toaster-manual-start.xml
index 45f604617..fc187ecd5 100644
--- a/poky/documentation/toaster-manual/toaster-manual-start.xml
+++ b/poky/documentation/toaster-manual/toaster-manual-start.xml
@@ -18,7 +18,7 @@
Before you can use Toaster, you need to first set up your
build system to run the Yocto Project.
To do this, follow the instructions in the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Preparing the Build Host</ulink>"
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host'>Preparing the Build Host</ulink>"
section of the Yocto Project Development Tasks
Manual.
For Ubuntu/Debian, you might also need to do an additional install
diff --git a/poky/documentation/toaster-manual/toaster-manual.xml b/poky/documentation/toaster-manual/toaster-manual.xml
index 8e25e4354..dcc2990dc 100644
--- a/poky/documentation/toaster-manual/toaster-manual.xml
+++ b/poky/documentation/toaster-manual/toaster-manual.xml
@@ -67,14 +67,14 @@
<revremark>Released with the Yocto Project 2.5 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.1</revnumber>
- <date>September 2018</date>
- <revremark>The initial document released with the Yocto Project 2.5.1 Release.</revremark>
+ <revnumber>2.6</revnumber>
+ <date>November 2018</date>
+ <revremark>Released with the Yocto Project 2.6 Release.</revremark>
</revision>
<revision>
- <revnumber>2.5.2</revnumber>
+ <revnumber>2.6.1</revnumber>
<date>&REL_MONTH_YEAR;</date>
- <revremark>The initial document released with the Yocto Project 2.5.2 Release.</revremark>
+ <revremark>Released with the Yocto Project 2.6.1 Release.</revremark>
</revision>
</revhistory>
diff --git a/poky/documentation/tools/mega-manual.sed b/poky/documentation/tools/mega-manual.sed
index b174fad8f..f6e205feb 100644
--- a/poky/documentation/tools/mega-manual.sed
+++ b/poky/documentation/tools/mega-manual.sed
@@ -2,39 +2,39 @@
# This style is for manual folders like "yocto-project-qs" and "poky-ref-manual".
# This is the old way that did it. Can't do that now that we have "bitbake-user-manual" strings
# in the mega-manual.
-# s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/yocto-project-qs/yocto-project-qs.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/poky-ref-manual/poky-ref-manual.html#@"link" href="#@g
+# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/[a-z]*-[a-z]*-[a-z]*/[a-z]*-[a-z]*-[a-z]*.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/yocto-project-qs/yocto-project-qs.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/poky-ref-manual/poky-ref-manual.html#@"link" href="#@g
# Processes all other manuals (<word>-<word> style) except for the BitBake User Manual because
# it is not included in the mega-manual.
# This style is for manual folders that use two word, which is the standard now (e.g. "ref-manual").
# This was the one-liner that worked before we introduced the BitBake User Manual, which is
# not in the mega-manual.
-# s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
+# s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/[a-z]*-[a-z]*/[a-z]*-[a-z]*.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/sdk-manual/sdk-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/bsp-guide/bsp-guide.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/dev-manual/dev-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/overview-manual/overview-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/kernel-dev/kernel-dev.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/profile-manual/profile-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/ref-manual/ref-manual.html#@"link" href="#@g
-s@"ulink" href="http://www.yoctoproject.org/docs/2.5.2/toaster-manual/toaster-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/sdk-manual/sdk-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/bsp-guide/bsp-guide.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/dev-manual/dev-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/brief-yoctoprojectqs/brief-yoctoprojectqs.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/kernel-dev/kernel-dev.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/profile-manual/profile-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html#@"link" href="#@g
+s@"ulink" href="http://www.yoctoproject.org/docs/2.6.1/toaster-manual/toaster-manual.html#@"link" href="#@g
# Process cases where just an external manual is referenced without an id anchor
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/yocto-project-qs/yocto-project-qs.html" target="_top">Yocto Project Quick Start</a>@Yocto Project Quick Start@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/brief-yoctoprojectqs/brief-yoctoprojectqs.html" target="_top">Yocto Project Quick Build</a>@Yocto Project Quick Build@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/yocto-project-qs/yocto-project-qs.html" target="_top">Yocto Project Quick Start</a>@Yocto Project Quick Start@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/dev-manual/dev-manual.html" target="_top">Yocto Project Development Tasks Manual</a>@Yocto Project Development Tasks Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html" target="_top">Yocto Project Overview and Concepts Manual</a>@Yocto project Overview and Concepts Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/sdk-manual/sdk-manual.html" target="_top">Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</a>@Yocto Project Application Development and the Extensible Software Development Kit (eSDK)@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/bsp-guide/bsp-guide.html" target="_top">Yocto Project Board Support Package (BSP) Developer's Guide</a>@Yocto Project Board Support Package (BSP) Developer's Guide@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/profile-manual/profile-manual.html" target="_top">Yocto Project Profiling and Tracing Manual</a>@Yocto Project Profiling and Tracing Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/kernel-dev/kernel-dev.html" target="_top">Yocto Project Linux Kernel Development Manual</a>@Yocto Project Linux Kernel Development Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html" target="_top">Yocto Project Reference Manual</a>@Yocto Project Reference Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/toaster-manual/toaster-manual.html" target="_top">Toaster User Manual</a>@Toaster User Manual@g
# Process a single, rouge occurrence of a linked reference to the Mega-Manual.
-s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.5.2/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g
+s@<a class="ulink" href="http://www.yoctoproject.org/docs/2.6.1/mega-manual/mega-manual.html" target="_top">Yocto Project Mega-Manual</a>@Yocto Project Mega-Manual@g