summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/adt-manual')
-rw-r--r--documentation/adt-manual/adt-command.rst180
-rw-r--r--documentation/adt-manual/adt-command.xml266
-rw-r--r--documentation/adt-manual/adt-intro.rst138
-rw-r--r--documentation/adt-manual/adt-intro.xml181
-rw-r--r--documentation/adt-manual/adt-manual-customization.xsl28
-rw-r--r--documentation/adt-manual/adt-manual-eclipse-customization.xsl37
-rw-r--r--documentation/adt-manual/adt-manual-intro.rst24
-rw-r--r--documentation/adt-manual/adt-manual-intro.xml34
-rw-r--r--documentation/adt-manual/adt-manual.rst17
-rw-r--r--documentation/adt-manual/adt-manual.xml141
-rw-r--r--documentation/adt-manual/adt-package.rst70
-rw-r--r--documentation/adt-manual/adt-package.xml103
-rw-r--r--documentation/adt-manual/adt-prepare.rst752
-rw-r--r--documentation/adt-manual/adt-prepare.xml1000
-rw-r--r--documentation/adt-manual/adt-style.css986
-rw-r--r--documentation/adt-manual/figures/adt-title.pngbin13498 -> 0 bytes
-rw-r--r--documentation/adt-manual/figures/using-a-pre-built-image.pngbin12733 -> 0 bytes
17 files changed, 0 insertions, 3957 deletions
diff --git a/documentation/adt-manual/adt-command.rst b/documentation/adt-manual/adt-command.rst
deleted file mode 100644
index de854772bb..0000000000
--- a/documentation/adt-manual/adt-command.rst
+++ /dev/null
@@ -1,180 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-2.0-UK
-
-**********************
-Using the Command Line
-**********************
-
-Recall that earlier the manual discussed how to use an existing
-toolchain tarball that had been installed into the default installation
-directory, ``/opt/poky/DISTRO``, which is outside of the :term:`Build Directory`
-(see the section
-"`Using a Cross-Toolchain
-Tarball) <#using-an-existing-toolchain-tarball>`__". And, that sourcing
-your architecture-specific environment setup script initializes a
-suitable cross-toolchain development environment.
-
-During this setup, locations for the compiler, QEMU scripts, QEMU
-binary, a special version of ``pkgconfig`` and other useful utilities
-are added to the ``PATH`` variable. Also, variables to assist
-``pkgconfig`` and ``autotools`` are also defined so that, for example,
-``configure.sh`` can find pre-generated test results for tests that need
-target hardware on which to run. You can see the "`Setting Up the
-Cross-Development
-Environment <#setting-up-the-cross-development-environment>`__" section
-for the list of cross-toolchain environment variables established by the
-script.
-
-Collectively, these conditions allow you to easily use the toolchain
-outside of the OpenEmbedded build environment on both Autotools-based
-projects and Makefile-based projects. This chapter provides information
-for both these types of projects.
-
-Autotools-Based Projects
-========================
-
-Once you have a suitable cross-toolchain installed, it is very easy to
-develop a project outside of the OpenEmbedded build system. This section
-presents a simple "Helloworld" example that shows how to set up,
-compile, and run the project.
-
-Creating and Running a Project Based on GNU Autotools
------------------------------------------------------
-
-Follow these steps to create a simple Autotools-based project:
-
-1. *Create your directory:* Create a clean directory for your project
- and then make that directory your working location: $ mkdir
- $HOME/helloworld $ cd $HOME/helloworld
-
-2. *Populate the directory:* Create ``hello.c``, ``Makefile.am``, and
- ``configure.in`` files as follows:
-
- - For ``hello.c``, include these lines: #include <stdio.h> main() {
- printf("Hello World!\n"); }
-
- - For ``Makefile.am``, include these lines: bin_PROGRAMS = hello
- hello_SOURCES = hello.c
-
- - For ``configure.in``, include these lines: AC_INIT(hello.c)
- AM_INIT_AUTOMAKE(hello,0.1) AC_PROG_CC AC_PROG_INSTALL
- AC_OUTPUT(Makefile)
-
-3. *Source the cross-toolchain environment setup file:* Installation of
- the cross-toolchain creates a cross-toolchain environment setup
- script in the directory that the ADT was installed. Before you can
- use the tools to develop your project, you must source this setup
- script. The script begins with the string "environment-setup" and
- contains the machine architecture, which is followed by the string
- "poky-linux". Here is an example that sources a script from the
- default ADT installation directory that uses the 32-bit Intel x86
- Architecture and the DISTRO_NAME Yocto Project release: $ source
- /opt/poky/DISTRO/environment-setup-i586-poky-linux
-
-4. *Generate the local aclocal.m4 files and create the configure
- script:* The following GNU Autotools generate the local
- ``aclocal.m4`` files and create the configure script: $ aclocal $
- autoconf
-
-5. *Generate files needed by GNU coding standards:* GNU coding
- standards require certain files in order for the project to be
- compliant. This command creates those files: $ touch NEWS README
- AUTHORS ChangeLog
-
-6. *Generate the configure file:* This command generates the
- ``configure``: $ automake -a
-
-7. *Cross-compile the project:* This command compiles the project using
- the cross-compiler. The
- :term:`CONFIGURE_FLAGS`
- environment variable provides the minimal arguments for GNU
- configure: $ ./configure ${CONFIGURE_FLAGS}
-
-8. *Make and install the project:* These two commands generate and
- install the project into the destination directory: $ make $ make
- install DESTDIR=./tmp
-
-9. *Verify the installation:* This command is a simple way to verify
- the installation of your project. Running the command prints the
- architecture on which the binary file can run. This architecture
- should be the same architecture that the installed cross-toolchain
- supports. $ file ./tmp/usr/local/bin/hello
-
-10. *Execute your project:* To execute the project in the shell, simply
- enter the name. You could also copy the binary to the actual target
- hardware and run the project there as well: $ ./hello As expected,
- the project displays the "Hello World!" message.
-
-Passing Host Options
---------------------
-
-For an Autotools-based project, you can use the cross-toolchain by just
-passing the appropriate host option to ``configure.sh``. The host option
-you use is derived from the name of the environment setup script found
-in the directory in which you installed the cross-toolchain. For
-example, the host option for an ARM-based target that uses the GNU EABI
-is ``armv5te-poky-linux-gnueabi``. You will notice that the name of the
-script is ``environment-setup-armv5te-poky-linux-gnueabi``. Thus, the
-following command works to update your project and rebuild it using the
-appropriate cross-toolchain tools: $ ./configure
---host=armv5te-poky-linux-gnueabi \\ --with-libtool-sysroot=sysroot_dir
-
-.. note::
-
- If the
- configure
- script results in problems recognizing the
- --with-libtool-sysroot=
- sysroot-dir
- option, regenerate the script to enable the support by doing the
- following and then run the script again:
- ::
-
- $ libtoolize --automake
- $ aclocal -I ${OECORE_NATIVE_SYSROOT}/usr/share/aclocal \
- [-I dir_containing_your_project-specific_m4_macros]
- $ autoconf
- $ autoheader
- $ automake -a
-
-
-Makefile-Based Projects
-=======================
-
-For Makefile-based projects, the cross-toolchain environment variables
-established by running the cross-toolchain environment setup script are
-subject to general ``make`` rules.
-
-To illustrate this, consider the following four cross-toolchain
-environment variables:
-:term:`CC`\ =i586-poky-linux-gcc -m32
--march=i586 --sysroot=/opt/poky/1.8/sysroots/i586-poky-linux
-:term:`LD`\ =i586-poky-linux-ld
---sysroot=/opt/poky/1.8/sysroots/i586-poky-linux
-:term:`CFLAGS`\ =-O2 -pipe -g
--feliminate-unused-debug-types
-:term:`CXXFLAGS`\ =-O2 -pipe -g
--feliminate-unused-debug-types Now, consider the following three cases:
-
-- *Case 1 - No Variables Set in the ``Makefile``:* Because these
- variables are not specifically set in the ``Makefile``, the variables
- retain their values based on the environment.
-
-- *Case 2 - Variables Set in the ``Makefile``:* Specifically setting
- variables in the ``Makefile`` during the build results in the
- environment settings of the variables being overwritten.
-
-- *Case 3 - Variables Set when the ``Makefile`` is Executed from the
- Command Line:* Executing the ``Makefile`` from the command line
- results in the variables being overwritten with command-line content
- regardless of what is being set in the ``Makefile``. In this case,
- environment variables are not considered unless you use the "-e" flag
- during the build: $ make -e file If you use this flag, then the
- environment values of the variables override any variables
- specifically set in the ``Makefile``.
-
-.. note::
-
- For the list of variables set up by the cross-toolchain environment
- setup script, see the "
- Setting Up the Cross-Development Environment
- " section.
diff --git a/documentation/adt-manual/adt-command.xml b/documentation/adt-manual/adt-command.xml
deleted file mode 100644
index b88c0ac682..0000000000
--- a/documentation/adt-manual/adt-command.xml
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
-[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-
-<chapter id='using-the-command-line'>
-<title>Using the Command Line</title>
-
- <para>
- Recall that earlier the manual discussed how to use an existing toolchain
- tarball that had been installed into the default installation
- directory, <filename>/opt/poky/&DISTRO;</filename>, which is outside of the
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
- (see the section "<link linkend='using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball)</link>".
- And, that sourcing your architecture-specific environment setup script
- initializes a suitable cross-toolchain development environment.
- </para>
-
- <para>
- During this setup, locations for the compiler, QEMU scripts, QEMU binary,
- a special version of <filename>pkgconfig</filename> and other useful
- utilities are added to the <filename>PATH</filename> variable.
- Also, variables to assist
- <filename>pkgconfig</filename> and <filename>autotools</filename>
- are also defined so that, for example, <filename>configure.sh</filename>
- can find pre-generated test results for tests that need target hardware
- on which to run.
- You can see the
- "<link linkend='setting-up-the-cross-development-environment'>Setting Up the Cross-Development Environment</link>"
- section for the list of cross-toolchain environment variables
- established by the script.
- </para>
-
- <para>
- Collectively, these conditions allow you to easily use the toolchain
- outside of the OpenEmbedded build environment on both Autotools-based
- projects and Makefile-based projects.
- This chapter provides information for both these types of projects.
- </para>
-
-
-<section id='autotools-based-projects'>
-<title>Autotools-Based Projects</title>
-
- <para>
- Once you have a suitable cross-toolchain installed, it is very easy to
- develop a project outside of the OpenEmbedded build system.
- This section presents a simple "Helloworld" example that shows how
- to set up, compile, and run the project.
- </para>
-
- <section id='creating-and-running-a-project-based-on-gnu-autotools'>
- <title>Creating and Running a Project Based on GNU Autotools</title>
-
- <para>
- Follow these steps to create a simple Autotools-based project:
- <orderedlist>
- <listitem><para><emphasis>Create your directory:</emphasis>
- Create a clean directory for your project and then make
- that directory your working location:
- <literallayout class='monospaced'>
- $ mkdir $HOME/helloworld
- $ cd $HOME/helloworld
- </literallayout></para></listitem>
- <listitem><para><emphasis>Populate the directory:</emphasis>
- Create <filename>hello.c</filename>, <filename>Makefile.am</filename>,
- and <filename>configure.in</filename> files as follows:
- <itemizedlist>
- <listitem><para>For <filename>hello.c</filename>, include
- these lines:
- <literallayout class='monospaced'>
- #include &lt;stdio.h&gt;
-
- main()
- {
- printf("Hello World!\n");
- }
- </literallayout></para></listitem>
- <listitem><para>For <filename>Makefile.am</filename>,
- include these lines:
- <literallayout class='monospaced'>
- bin_PROGRAMS = hello
- hello_SOURCES = hello.c
- </literallayout></para></listitem>
- <listitem><para>For <filename>configure.in</filename>,
- include these lines:
- <literallayout class='monospaced'>
- AC_INIT(hello.c)
- AM_INIT_AUTOMAKE(hello,0.1)
- AC_PROG_CC
- AC_PROG_INSTALL
- AC_OUTPUT(Makefile)
- </literallayout></para></listitem>
- </itemizedlist></para></listitem>
- <listitem><para><emphasis>Source the cross-toolchain
- environment setup file:</emphasis>
- Installation of the cross-toolchain creates a cross-toolchain
- environment setup script in the directory that the ADT
- was installed.
- Before you can use the tools to develop your project, you must
- source this setup script.
- The script begins with the string "environment-setup" and contains
- the machine architecture, which is followed by the string
- "poky-linux".
- Here is an example that sources a script from the
- default ADT installation directory that uses the
- 32-bit Intel x86 Architecture and the
- &DISTRO_NAME; Yocto Project release:
- <literallayout class='monospaced'>
- $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
- </literallayout></para></listitem>
- <listitem><para><emphasis>Generate the local aclocal.m4
- files and create the configure script:</emphasis>
- The following GNU Autotools generate the local
- <filename>aclocal.m4</filename> files and create the
- configure script:
- <literallayout class='monospaced'>
- $ aclocal
- $ autoconf
- </literallayout></para></listitem>
- <listitem><para><emphasis>Generate files needed by GNU
- coding standards:</emphasis>
- GNU coding standards require certain files in order for the
- project to be compliant.
- This command creates those files:
- <literallayout class='monospaced'>
- $ touch NEWS README AUTHORS ChangeLog
- </literallayout></para></listitem>
- <listitem><para><emphasis>Generate the configure
- file:</emphasis>
- This command generates the <filename>configure</filename>:
- <literallayout class='monospaced'>
- $ automake -a
- </literallayout></para></listitem>
- <listitem><para><emphasis>Cross-compile the project:</emphasis>
- This command compiles the project using the cross-compiler.
- The
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CONFIGURE_FLAGS'><filename>CONFIGURE_FLAGS</filename></ulink>
- environment variable provides the minimal arguments for
- GNU configure:
- <literallayout class='monospaced'>
- $ ./configure ${CONFIGURE_FLAGS}
- </literallayout></para></listitem>
- <listitem><para><emphasis>Make and install the project:</emphasis>
- These two commands generate and install the project into the
- destination directory:
- <literallayout class='monospaced'>
- $ make
- $ make install DESTDIR=./tmp
- </literallayout></para></listitem>
- <listitem><para><emphasis>Verify the installation:</emphasis>
- This command is a simple way to verify the installation
- of your project.
- Running the command prints the architecture on which
- the binary file can run.
- This architecture should be the same architecture that
- the installed cross-toolchain supports.
- <literallayout class='monospaced'>
- $ file ./tmp/usr/local/bin/hello
- </literallayout></para></listitem>
- <listitem><para><emphasis>Execute your project:</emphasis>
- To execute the project in the shell, simply enter the name.
- You could also copy the binary to the actual target hardware
- and run the project there as well:
- <literallayout class='monospaced'>
- $ ./hello
- </literallayout>
- As expected, the project displays the "Hello World!" message.
- </para></listitem>
- </orderedlist>
- </para>
- </section>
-
- <section id='passing-host-options'>
- <title>Passing Host Options</title>
-
- <para>
- For an Autotools-based project, you can use the cross-toolchain by just
- passing the appropriate host option to <filename>configure.sh</filename>.
- The host option you use is derived from the name of the environment setup
- script found in the directory in which you installed the cross-toolchain.
- For example, the host option for an ARM-based target that uses the GNU EABI
- is <filename>armv5te-poky-linux-gnueabi</filename>.
- You will notice that the name of the script is
- <filename>environment-setup-armv5te-poky-linux-gnueabi</filename>.
- Thus, the following command works to update your project and
- rebuild it using the appropriate cross-toolchain tools:
- <literallayout class='monospaced'>
- $ ./configure --host=armv5te-poky-linux-gnueabi \
- --with-libtool-sysroot=<replaceable>sysroot_dir</replaceable>
- </literallayout>
- <note>
- If the <filename>configure</filename> script results in problems recognizing the
- <filename>--with-libtool-sysroot=</filename><replaceable>sysroot-dir</replaceable> option,
- regenerate the script to enable the support by doing the following and then
- run the script again:
- <literallayout class='monospaced'>
- $ libtoolize --automake
- $ aclocal -I ${OECORE_NATIVE_SYSROOT}/usr/share/aclocal \
- [-I <replaceable>dir_containing_your_project-specific_m4_macros</replaceable>]
- $ autoconf
- $ autoheader
- $ automake -a
- </literallayout>
- </note>
- </para>
- </section>
-</section>
-
-<section id='makefile-based-projects'>
-<title>Makefile-Based Projects</title>
-
- <para>
- For Makefile-based projects, the cross-toolchain environment variables
- established by running the cross-toolchain environment setup script
- are subject to general <filename>make</filename> rules.
- </para>
-
- <para>
- To illustrate this, consider the following four cross-toolchain
- environment variables:
- <literallayout class='monospaced'>
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'>CC</ulink>=i586-poky-linux-gcc -m32 -march=i586 --sysroot=/opt/poky/1.8/sysroots/i586-poky-linux
- <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'>LD</ulink>=i586-poky-linux-ld --sysroot=/opt/poky/1.8/sysroots/i586-poky-linux
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CFLAGS'>CFLAGS</ulink>=-O2 -pipe -g -feliminate-unused-debug-types
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CXXFLAGS'>CXXFLAGS</ulink>=-O2 -pipe -g -feliminate-unused-debug-types
- </literallayout>
- Now, consider the following three cases:
- <itemizedlist>
- <listitem><para><emphasis>Case 1 - No Variables Set in the <filename>Makefile</filename>:</emphasis>
- Because these variables are not specifically set in the
- <filename>Makefile</filename>, the variables retain their
- values based on the environment.
- </para></listitem>
- <listitem><para><emphasis>Case 2 - Variables Set in the <filename>Makefile</filename>:</emphasis>
- Specifically setting variables in the
- <filename>Makefile</filename> during the build results in the
- environment settings of the variables being overwritten.
- </para></listitem>
- <listitem><para><emphasis>Case 3 - Variables Set when the <filename>Makefile</filename> is Executed from the Command Line:</emphasis>
- Executing the <filename>Makefile</filename> from the command
- line results in the variables being overwritten with
- command-line content regardless of what is being set in the
- <filename>Makefile</filename>.
- In this case, environment variables are not considered unless
- you use the "-e" flag during the build:
- <literallayout class='monospaced'>
- $ make -e <replaceable>file</replaceable>
- </literallayout>
- If you use this flag, then the environment values of the
- variables override any variables specifically set in the
- <filename>Makefile</filename>.
- </para></listitem>
- </itemizedlist>
- <note>
- For the list of variables set up by the cross-toolchain environment
- setup script, see the
- "<link linkend='setting-up-the-cross-development-environment'>Setting Up the Cross-Development Environment</link>"
- section.
- </note>
- </para>
-</section>
-</chapter>
-<!--
-vim: expandtab tw=80 ts=4
--->
diff --git a/documentation/adt-manual/adt-intro.rst b/documentation/adt-manual/adt-intro.rst
deleted file mode 100644
index 5372f4f54f..0000000000
--- a/documentation/adt-manual/adt-intro.rst
+++ /dev/null
@@ -1,138 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-2.0-UK
-
-*****************************************
-The Application Development Toolkit (ADT)
-*****************************************
-
-Part of the Yocto Project development solution is an Application
-Development Toolkit (ADT). The ADT provides you with a custom-built,
-cross-development platform suited for developing a user-targeted product
-application.
-
-Fundamentally, the ADT consists of the following:
-
-- An architecture-specific cross-toolchain and matching sysroot both
- built by the :term:`OpenEmbedded Build System`.
- The toolchain and
- sysroot are based on a `Metadata <&YOCTO_DOCS_DEV_URL;#metadata>`__
- configuration and extensions, which allows you to cross-develop on
- the host machine for the target hardware.
-
-- The Eclipse IDE Yocto Plug-in.
-
-- The Quick EMUlator (QEMU), which lets you simulate target hardware.
-
-- Various user-space tools that greatly enhance your application
- development experience.
-
-The Cross-Development Toolchain
-===============================
-
-The `Cross-Development
-Toolchain <&YOCTO_DOCS_DEV_URL;#cross-development-toolchain>`__ consists
-of a cross-compiler, cross-linker, and cross-debugger that are used to
-develop user-space applications for targeted hardware. This toolchain is
-created either by running the ADT Installer script, a toolchain
-installer script, or through a :term:`Build Directory`
-that is based on
-your Metadata configuration or extension for your targeted device. The
-cross-toolchain works with a matching target sysroot.
-
-Sysroot
-=======
-
-The matching target sysroot contains needed headers and libraries for
-generating binaries that run on the target architecture. The sysroot is
-based on the target root filesystem image that is built by the
-OpenEmbedded build system and uses the same Metadata configuration used
-to build the cross-toolchain.
-
-.. _eclipse-overview:
-
-Eclipse Yocto Plug-in
-=====================
-
-The Eclipse IDE is a popular development environment and it fully
-supports development using the Yocto Project. When you install and
-configure the Eclipse Yocto Project Plug-in into the Eclipse IDE, you
-maximize your Yocto Project experience. Installing and configuring the
-Plug-in results in an environment that has extensions specifically
-designed to let you more easily develop software. These extensions allow
-for cross-compilation, deployment, and execution of your output into a
-QEMU emulation session. You can also perform cross-debugging and
-profiling. The environment also supports a suite of tools that allows
-you to perform remote profiling, tracing, collection of power data,
-collection of latency data, and collection of performance data.
-
-For information about the application development workflow that uses the
-Eclipse IDE and for a detailed example of how to install and configure
-the Eclipse Yocto Project Plug-in, see the "`Working Within
-Eclipse <&YOCTO_DOCS_DEV_URL;#adt-eclipse>`__" section of the Yocto
-Project Development Manual.
-
-The QEMU Emulator
-=================
-
-The QEMU emulator allows you to simulate your hardware while running
-your application or image. QEMU is made available a number of ways:
-
-- If you use the ADT Installer script to install ADT, you can specify
- whether or not to install QEMU.
-
-- If you have cloned the ``poky`` Git repository to create a
- :term:`Source Directory` and you have
- sourced the environment setup script, QEMU is installed and
- automatically available.
-
-- If you have downloaded a Yocto Project release and unpacked it to
- create a :term:`Source Directory`
- and you have sourced the environment setup script, QEMU is installed
- and automatically available.
-
-- If you have installed the cross-toolchain tarball and you have
- sourced the toolchain's setup environment script, QEMU is also
- installed and automatically available.
-
-User-Space Tools
-================
-
-User-space tools are included as part of the Yocto Project. You will
-find these tools helpful during development. The tools include
-LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust. These
-tools are common development tools for the Linux platform.
-
-- *LatencyTOP:* LatencyTOP focuses on latency that causes skips in
- audio, stutters in your desktop experience, or situations that
- overload your server even when you have plenty of CPU power left.
-
-- *PowerTOP:* Helps you determine what software is using the most
- power. You can find out more about PowerTOP at
- https://01.org/powertop/.
-
-- *OProfile:* A system-wide profiler for Linux systems that is capable
- of profiling all running code at low overhead. You can find out more
- about OProfile at http://oprofile.sourceforge.net/about/. For
- examples on how to setup and use this tool, see the
- "`OProfile <&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile>`__"
- section in the Yocto Project Profiling and Tracing Manual.
-
-- *Perf:* Performance counters for Linux used to keep track of certain
- types of hardware and software events. For more information on these
- types of counters see https://perf.wiki.kernel.org/. For
- examples on how to setup and use this tool, see the
- "`perf <&YOCTO_DOCS_PROF_URL;#profile-manual-perf>`__" section in the
- Yocto Project Profiling and Tracing Manual.
-
-- *SystemTap:* A free software infrastructure that simplifies
- information gathering about a running Linux system. This information
- helps you diagnose performance or functional problems. SystemTap is
- not available as a user-space tool through the Eclipse IDE Yocto
- Plug-in. See http://sourceware.org/systemtap for more
- information on SystemTap. For examples on how to setup and use this
- tool, see the
- "`SystemTap <&YOCTO_DOCS_PROF_URL;#profile-manual-systemtap>`__"
- section in the Yocto Project Profiling and Tracing Manual.
-
-- *Lttng-ust:* A User-space Tracer designed to provide detailed
- information on user-space activity. See http://lttng.org/ust
- for more information on Lttng-ust.
diff --git a/documentation/adt-manual/adt-intro.xml b/documentation/adt-manual/adt-intro.xml
deleted file mode 100644
index eb75763db3..0000000000
--- a/documentation/adt-manual/adt-intro.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
-[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-
-<chapter id='adt-intro'>
- <title>The Application Development Toolkit (ADT)</title>
-
- <para>
- Part of the Yocto Project development solution is an Application Development
- Toolkit (ADT).
- The ADT provides you with a custom-built, cross-development
- platform suited for developing a user-targeted product application.
- </para>
-
- <para>
- Fundamentally, the ADT consists of the following:
- <itemizedlist>
- <listitem><para>An architecture-specific cross-toolchain and matching
- sysroot both built by the
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-system-term'>OpenEmbedded build system</ulink>.
- The toolchain and sysroot are based on a
- <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink>
- configuration and extensions,
- which allows you to cross-develop on the host machine for the target hardware.
- </para></listitem>
- <listitem><para>The Eclipse IDE Yocto Plug-in.</para></listitem>
- <listitem><para>The Quick EMUlator (QEMU), which lets you simulate target hardware.
- </para></listitem>
- <listitem><para>Various user-space tools that greatly enhance your application
- development experience.</para></listitem>
- </itemizedlist>
- </para>
-
- <section id='the-cross-development-toolchain'>
- <title>The Cross-Development Toolchain</title>
-
- <para>
- The
- <ulink url='&YOCTO_DOCS_DEV_URL;#cross-development-toolchain'>Cross-Development Toolchain</ulink>
- consists of a cross-compiler, cross-linker, and cross-debugger
- that are used to develop user-space applications for targeted
- hardware.
- This toolchain is created either by running the ADT Installer
- script, a toolchain installer script, or through a
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
- that is based on your Metadata configuration or extension for
- your targeted device.
- The cross-toolchain works with a matching target sysroot.
- </para>
- </section>
-
- <section id='sysroot'>
- <title>Sysroot</title>
-
- <para>
- The matching target sysroot contains needed headers and libraries for generating
- binaries that run on the target architecture.
- The sysroot is based on the target root filesystem image that is built by
- the OpenEmbedded build system and uses the same Metadata configuration
- used to build the cross-toolchain.
- </para>
- </section>
-
- <section id='eclipse-overview'>
- <title>Eclipse Yocto Plug-in</title>
-
- <para>
- The Eclipse IDE is a popular development environment and it fully supports
- development using the Yocto Project.
- When you install and configure the Eclipse Yocto Project Plug-in into
- the Eclipse IDE, you maximize your Yocto Project experience.
- Installing and configuring the Plug-in results in an environment that
- has extensions specifically designed to let you more easily develop software.
- These extensions allow for cross-compilation, deployment, and execution of
- your output into a QEMU emulation session.
- You can also perform cross-debugging and profiling.
- The environment also supports a suite of tools that allows you to perform
- remote profiling, tracing, collection of power data, collection of
- latency data, and collection of performance data.
- </para>
-
- <para>
- For information about the application development workflow that uses the Eclipse
- IDE and for a detailed example of how to install and configure the Eclipse
- Yocto Project Plug-in, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#adt-eclipse'>Working Within Eclipse</ulink>" section
- of the Yocto Project Development Manual.
- </para>
- </section>
-
- <section id='the-qemu-emulator'>
- <title>The QEMU Emulator</title>
-
- <para>
- The QEMU emulator allows you to simulate your hardware while running your
- application or image.
- QEMU is made available a number of ways:
- <itemizedlist>
- <listitem><para>
- If you use the ADT Installer script to install ADT, you can
- specify whether or not to install QEMU.
- </para></listitem>
- <listitem><para>
- If you have cloned the <filename>poky</filename> Git
- repository to create a
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
- and you have sourced the environment setup script, QEMU is
- installed and automatically available.
- </para></listitem>
- <listitem><para>
- If you have downloaded a Yocto Project release and unpacked
- it to create a
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
- and you have sourced the environment setup script, QEMU is
- installed and automatically available.
- </para></listitem>
- <listitem><para>
- If you have installed the cross-toolchain tarball and you
- have sourced the toolchain's setup environment script, QEMU
- is also installed and automatically available.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
-
- <section id='user-space-tools'>
- <title>User-Space Tools</title>
-
- <para>
- User-space tools are included as part of the Yocto Project.
- You will find these tools helpful during development.
- The tools include LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust.
- These tools are common development tools for the Linux platform.
- <itemizedlist>
- <listitem><para><emphasis>LatencyTOP:</emphasis> LatencyTOP focuses on latency
- that causes skips in audio,
- stutters in your desktop experience, or situations that overload your server
- even when you have plenty of CPU power left.
- </para></listitem>
- <listitem><para><emphasis>PowerTOP:</emphasis> Helps you determine what
- software is using the most power.
- You can find out more about PowerTOP at
- <ulink url='https://01.org/powertop/'></ulink>.</para></listitem>
- <listitem><para><emphasis>OProfile:</emphasis> A system-wide profiler for Linux
- systems that is capable of profiling all running code at low overhead.
- You can find out more about OProfile at
- <ulink url='http://oprofile.sourceforge.net/about/'></ulink>.
- For examples on how to setup and use this tool, see the
- "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile'>OProfile</ulink>"
- section in the Yocto Project Profiling and Tracing Manual.
- </para></listitem>
- <listitem><para><emphasis>Perf:</emphasis> Performance counters for Linux used
- to keep track of certain types of hardware and software events.
- For more information on these types of counters see
- <ulink url='https://perf.wiki.kernel.org/'></ulink>.
- For examples on how to setup and use this tool, see the
- "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-perf'>perf</ulink>"
- section in the Yocto Project Profiling and Tracing Manual.
- </para></listitem>
- <listitem><para><emphasis>SystemTap:</emphasis> A free software infrastructure
- that simplifies information gathering about a running Linux system.
- This information helps you diagnose performance or functional problems.
- SystemTap is not available as a user-space tool through the Eclipse IDE Yocto Plug-in.
- See <ulink url='http://sourceware.org/systemtap'></ulink> for more information
- on SystemTap.
- For examples on how to setup and use this tool, see the
- "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-systemtap'>SystemTap</ulink>"
- section in the Yocto Project Profiling and Tracing Manual.</para></listitem>
- <listitem><para><emphasis>Lttng-ust:</emphasis> A User-space Tracer designed to
- provide detailed information on user-space activity.
- See <ulink url='http://lttng.org/ust'></ulink> for more information on Lttng-ust.
- </para></listitem>
- </itemizedlist>
- </para>
- </section>
-
-</chapter>
-<!--
-vim: expandtab tw=80 ts=4
--->
diff --git a/documentation/adt-manual/adt-manual-customization.xsl b/documentation/adt-manual/adt-manual-customization.xsl
deleted file mode 100644
index 551f7e9e94..0000000000
--- a/documentation/adt-manual/adt-manual-customization.xsl
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0'?>
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
-
- <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
-
-<!--
-
- <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/xhtml/docbook.xsl" />
-
- <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.76.1/xhtml/docbook.xsl" />
-
--->
-
- <xsl:include href="../template/permalinks.xsl"/>
- <xsl:include href="../template/section.title.xsl"/>
- <xsl:include href="../template/component.title.xsl"/>
- <xsl:include href="../template/division.title.xsl"/>
- <xsl:include href="../template/formal.object.heading.xsl"/>
-
- <xsl:param name="html.stylesheet" select="'adt-style.css'" />
- <xsl:param name="chapter.autolabel" select="1" />
- <xsl:param name="appendix.autolabel" select="A" />
- <xsl:param name="section.autolabel" select="1" />
- <xsl:param name="section.label.includes.component.label" select="1" />
- <xsl:param name="generate.id.attributes" select="1" />
-
-</xsl:stylesheet>
diff --git a/documentation/adt-manual/adt-manual-eclipse-customization.xsl b/documentation/adt-manual/adt-manual-eclipse-customization.xsl
deleted file mode 100644
index 3d536d5473..0000000000
--- a/documentation/adt-manual/adt-manual-eclipse-customization.xsl
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version='1.0'?>
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:fo="http://www.w3.org/1999/XSL/Format"
- version="1.0">
-
- <xsl:import href="http://downloads.yoctoproject.org/mirror/docbook-mirror/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" />
-
-<!--
-
- <xsl:import href="../template/1.76.1/docbook-xsl-1.76.1/eclipse/eclipse3.xsl" />
-
- <xsl:import
- href="http://docbook.sourceforge.net/release/xsl/1.76.1/eclipse/eclipse3.xsl" />
-
--->
-
- <xsl:param name="chunker.output.indent" select="'yes'"/>
- <xsl:param name="chunk.quietly" select="1"/>
- <xsl:param name="chunk.first.sections" select="1"/>
- <xsl:param name="chunk.section.depth" select="10"/>
- <xsl:param name="use.id.as.filename" select="1"/>
- <xsl:param name="ulink.target" select="'_self'" />
- <xsl:param name="base.dir" select="'html/adt-manual/'"/>
- <xsl:param name="html.stylesheet" select="'../book.css'"/>
- <xsl:param name="eclipse.manifest" select="0"/>
- <xsl:param name="create.plugin.xml" select="0"/>
- <xsl:param name="suppress.navigation" select="1"/>
- <xsl:param name="generate.index" select="0"/>
- <xsl:param name="chapter.autolabel" select="1" />
- <xsl:param name="appendix.autolabel" select="1" />
- <xsl:param name="section.autolabel" select="1" />
- <xsl:param name="section.label.includes.component.label" select="1" />
-</xsl:stylesheet>
diff --git a/documentation/adt-manual/adt-manual-intro.rst b/documentation/adt-manual/adt-manual-intro.rst
deleted file mode 100644
index 4e98da16df..0000000000
--- a/documentation/adt-manual/adt-manual-intro.rst
+++ /dev/null
@@ -1,24 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-2.0-UK
-
-************
-Introduction
-************
-
-Welcome to the Yocto Project Application Developer's Guide. This manual
-provides information that lets you begin developing applications using
-the Yocto Project.
-
-The Yocto Project provides an application development environment based
-on an Application Development Toolkit (ADT) and the availability of
-stand-alone cross-development toolchains and other tools. This manual
-describes the ADT and how you can configure and install it, how to
-access and use the cross-development toolchains, how to customize the
-development packages installation, how to use command-line development
-for both Autotools-based and Makefile-based projects, and an
-introduction to the Eclipse IDE Yocto Plug-in.
-
-.. note::
-
- The ADT is distribution-neutral and does not require the Yocto
- Project reference distribution, which is called Poky. This manual,
- however, uses examples that use the Poky distribution.
diff --git a/documentation/adt-manual/adt-manual-intro.xml b/documentation/adt-manual/adt-manual-intro.xml
deleted file mode 100644
index b7a25a54bd..0000000000
--- a/documentation/adt-manual/adt-manual-intro.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
-[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-
-<chapter id='adt-manual-intro'>
-<title>Introduction</title>
-
- <para>
- Welcome to the Yocto Project Application Developer's Guide.
- This manual provides information that lets you begin developing applications
- using the Yocto Project.
- </para>
-
- <para>
- The Yocto Project provides an application development environment based on
- an Application Development Toolkit (ADT) and the availability of stand-alone
- cross-development toolchains and other tools.
- This manual describes the ADT and how you can configure and install it,
- how to access and use the cross-development toolchains, how to
- customize the development packages installation,
- how to use command-line development for both Autotools-based and
- Makefile-based projects, and an introduction to the
- <trademark class='trade'>Eclipse</trademark> IDE Yocto Plug-in.
- <note>
- The ADT is distribution-neutral and does not require the Yocto
- Project reference distribution, which is called Poky.
- This manual, however, uses examples that use the Poky distribution.
- </note>
- </para>
-</chapter>
-<!--
-vim: expandtab tw=80 ts=4
--->
diff --git a/documentation/adt-manual/adt-manual.rst b/documentation/adt-manual/adt-manual.rst
deleted file mode 100644
index 695230c5c4..0000000000
--- a/documentation/adt-manual/adt-manual.rst
+++ /dev/null
@@ -1,17 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-2.0-UK
-
-===========================================
-Yocto Project Application Developer's Guide
-===========================================
-
-|
-
-.. toctree::
- :caption: Table of Contents
- :numbered:
-
- adt-manual-intro
- adt-intro
- adt-prepare
- adt-package
- adt-command
diff --git a/documentation/adt-manual/adt-manual.xml b/documentation/adt-manual/adt-manual.xml
deleted file mode 100644
index 13202cc0de..0000000000
--- a/documentation/adt-manual/adt-manual.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
-[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-
-<book id='adt-manual' lang='en'
- xmlns:xi="http://www.w3.org/2003/XInclude"
- xmlns="http://docbook.org/ns/docbook"
- >
- <bookinfo>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref='figures/adt-title.png'
- format='SVG'
- align='left' scalefit='1' width='100%'/>
- </imageobject>
- </mediaobject>
-
- <title>
- Yocto Project Application Developer's Guide
- </title>
-
- <authorgroup>
- <author>
- <firstname>Jessica</firstname> <surname>Zhang</surname>
- <affiliation>
- <orgname>Intel Corporation</orgname>
- </affiliation>
- <email>jessica.zhang@intel.com</email>
- </author>
- </authorgroup>
-
- <revhistory>
- <revision>
- <revnumber>1.0</revnumber>
- <date>6 April 2011</date>
- <revremark>Released with the Yocto Project 1.0 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.0.1</revnumber>
- <date>23 May 2011</date>
- <revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.1</revnumber>
- <date>6 October 2011</date>
- <revremark>Released with the Yocto Project 1.1 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.2</revnumber>
- <date>April 2012</date>
- <revremark>Released with the Yocto Project 1.2 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.3</revnumber>
- <date>October 2012</date>
- <revremark>Released with the Yocto Project 1.3 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.4</revnumber>
- <date>April 2013</date>
- <revremark>Released with the Yocto Project 1.4 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.5</revnumber>
- <date>October 2013</date>
- <revremark>Released with the Yocto Project 1.5 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.5.1</revnumber>
- <date>January 2014</date>
- <revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.6</revnumber>
- <date>April 2014</date>
- <revremark>Released with the Yocto Project 1.6 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.7</revnumber>
- <date>October 2014</date>
- <revremark>Released with the Yocto Project 1.7 Release.</revremark>
- </revision>
- <revision>
- <revnumber>1.8</revnumber>
- <date>April 2015</date>
- <revremark>Released with the Yocto Project 1.8 Release.</revremark>
- </revision>
- <revision>
- <revnumber>2.0</revnumber>
- <date>October 2015</date>
- <revremark>Released with the Yocto Project 2.0 Release.</revremark>
- </revision>
- <revision>
- <revnumber>2.1</revnumber>
- <date>Sometime in 2016</date>
- <revremark>Released with the future Yocto Project 2.1 Release.</revremark>
- </revision>
- </revhistory>
-
- <copyright>
- <year>&COPYRIGHT_YEAR;</year>
- <holder>Linux Foundation</holder>
- </copyright>
-
- <legalnotice>
- <para>
- Permission is granted to copy, distribute and/or modify this document under
- the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
- </para>
- <note>
- For the latest version of this manual associated with this
- Yocto Project release, see the
- <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink>
- from the Yocto Project website.
- </note>
-
- </legalnotice>
-
- </bookinfo>
-
- <xi:include href="adt-manual-intro.xml"/>
-
- <xi:include href="adt-intro.xml"/>
-
- <xi:include href="adt-prepare.xml"/>
-
- <xi:include href="adt-package.xml"/>
-
- <xi:include href="adt-command.xml"/>
-
-<!-- <index id='index'>
- <title>Index</title>
- </index>
--->
-
-</book>
-<!--
-vim: expandtab tw=80 ts=4
--->
diff --git a/documentation/adt-manual/adt-package.rst b/documentation/adt-manual/adt-package.rst
deleted file mode 100644
index 787d406e65..0000000000
--- a/documentation/adt-manual/adt-package.rst
+++ /dev/null
@@ -1,70 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-2.0-UK
-
-************************************************************
-Optionally Customizing the Development Packages Installation
-************************************************************
-
-Because the Yocto Project is suited for embedded Linux development, it
-is likely that you will need to customize your development packages
-installation. For example, if you are developing a minimal image, then
-you might not need certain packages (e.g. graphics support packages).
-Thus, you would like to be able to remove those packages from your
-target sysroot.
-
-Package Management Systems
-==========================
-
-The OpenEmbedded build system supports the generation of sysroot files
-using three different Package Management Systems (PMS):
-
-- *OPKG:* A less well known PMS whose use originated in the
- OpenEmbedded and OpenWrt embedded Linux projects. This PMS works with
- files packaged in an ``.ipk`` format. See
- http://en.wikipedia.org/wiki/Opkg for more information about
- OPKG.
-
-- *RPM:* A more widely known PMS intended for GNU/Linux distributions.
- This PMS works with files packaged in an ``.rpm`` format. The build
- system currently installs through this PMS by default. See
- http://en.wikipedia.org/wiki/RPM_Package_Manager for more
- information about RPM.
-
-- *Debian:* The PMS for Debian-based systems is built on many PMS
- tools. The lower-level PMS tool ``dpkg`` forms the base of the Debian
- PMS. For information on dpkg see
- http://en.wikipedia.org/wiki/Dpkg.
-
-Configuring the PMS
-===================
-
-Whichever PMS you are using, you need to be sure that the
-:term:`PACKAGE_CLASSES`
-variable in the ``conf/local.conf`` file is set to reflect that system.
-The first value you choose for the variable specifies the package file
-format for the root filesystem at sysroot. Additional values specify
-additional formats for convenience or testing. See the
-``conf/local.conf`` configuration file for details.
-
-.. note::
-
- For build performance information related to the PMS, see the "
- package.bbclass
- " section in the Yocto Project Reference Manual.
-
-As an example, consider a scenario where you are using OPKG and you want
-to add the ``libglade`` package to the target sysroot.
-
-First, you should generate the IPK file for the ``libglade`` package and
-add it into a working ``opkg`` repository. Use these commands: $ bitbake
-libglade $ bitbake package-index
-
-Next, source the cross-toolchain environment setup script found in the
-:term:`Source Directory`. Follow
-that by setting up the installation destination to point to your sysroot
-as sysroot_dir. Finally, have an OPKG configuration file conf_file that
-corresponds to the ``opkg`` repository you have just created. The
-following command forms should now work: $ opkg-cl –f conf_file -o
-sysroot_dir update $ opkg-cl –f cconf_file -o sysroot_dir \\
---force-overwrite install libglade $ opkg-cl –f cconf_file -o
-sysroot_dir \\ --force-overwrite install libglade-dbg $ opkg-cl –f
-conf_file> -osysroot_dir> \\ --force-overwrite install libglade-dev
diff --git a/documentation/adt-manual/adt-package.xml b/documentation/adt-manual/adt-package.xml
deleted file mode 100644
index eaed0447b6..0000000000
--- a/documentation/adt-manual/adt-package.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
-[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-
-<chapter id='adt-package'>
-<title>Optionally Customizing the Development Packages Installation</title>
-
- <para>
- Because the Yocto Project is suited for embedded Linux development, it is
- likely that you will need to customize your development packages installation.
- For example, if you are developing a minimal image, then you might not need
- certain packages (e.g. graphics support packages).
- Thus, you would like to be able to remove those packages from your target sysroot.
- </para>
-
-<section id='package-management-systems'>
- <title>Package Management Systems</title>
-
- <para>
- The OpenEmbedded build system supports the generation of sysroot files using
- three different Package Management Systems (PMS):
- <itemizedlist>
- <listitem><para><emphasis>OPKG:</emphasis> A less well known PMS whose use
- originated in the OpenEmbedded and OpenWrt embedded Linux projects.
- This PMS works with files packaged in an <filename>.ipk</filename> format.
- See <ulink url='http://en.wikipedia.org/wiki/Opkg'></ulink> for more
- information about OPKG.</para></listitem>
- <listitem><para><emphasis>RPM:</emphasis> A more widely known PMS intended for GNU/Linux
- distributions.
- This PMS works with files packaged in an <filename>.rpm</filename> format.
- The build system currently installs through this PMS by default.
- See <ulink url='http://en.wikipedia.org/wiki/RPM_Package_Manager'></ulink>
- for more information about RPM.</para></listitem>
- <listitem><para><emphasis>Debian:</emphasis> The PMS for Debian-based systems
- is built on many PMS tools.
- The lower-level PMS tool <filename>dpkg</filename> forms the base of the Debian PMS.
- For information on dpkg see
- <ulink url='http://en.wikipedia.org/wiki/Dpkg'></ulink>.</para></listitem>
- </itemizedlist>
- </para>
-</section>
-
-<section id='configuring-the-pms'>
- <title>Configuring the PMS</title>
-
- <para>
- Whichever PMS you are using, you need to be sure that the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink>
- variable in the <filename>conf/local.conf</filename>
- file is set to reflect that system.
- The first value you choose for the variable specifies the package file format for the root
- filesystem at sysroot.
- Additional values specify additional formats for convenience or testing.
- See the <filename>conf/local.conf</filename> configuration file for
- details.
- </para>
-
- <note>
- For build performance information related to the PMS, see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>"
- section in the Yocto Project Reference Manual.
- </note>
-
- <para>
- As an example, consider a scenario where you are using OPKG and you want to add
- the <filename>libglade</filename> package to the target sysroot.
- </para>
-
- <para>
- First, you should generate the IPK file for the
- <filename>libglade</filename> package and add it
- into a working <filename>opkg</filename> repository.
- Use these commands:
- <literallayout class='monospaced'>
- $ bitbake libglade
- $ bitbake package-index
- </literallayout>
- </para>
-
- <para>
- Next, source the cross-toolchain environment setup script found in the
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
- Follow that by setting up the installation destination to point to your
- sysroot as <replaceable>sysroot_dir</replaceable>.
- Finally, have an OPKG configuration file <replaceable>conf_file</replaceable>
- that corresponds to the <filename>opkg</filename> repository you have just created.
- The following command forms should now work:
- <literallayout class='monospaced'>
- $ opkg-cl –f <replaceable>conf_file</replaceable> -o <replaceable>sysroot_dir</replaceable> update
- $ opkg-cl –f <replaceable>cconf_file</replaceable> -o <replaceable>sysroot_dir</replaceable> \
- --force-overwrite install libglade
- $ opkg-cl –f <replaceable>cconf_file</replaceable> -o <replaceable>sysroot_dir</replaceable> \
- --force-overwrite install libglade-dbg
- $ opkg-cl –f <replaceable>conf_file&gt; -o </replaceable>sysroot_dir&gt; \
- --force-overwrite install libglade-dev
- </literallayout>
- </para>
-</section>
-</chapter>
-<!--
-vim: expandtab tw=80 ts=4
--->
diff --git a/documentation/adt-manual/adt-prepare.rst b/documentation/adt-manual/adt-prepare.rst
deleted file mode 100644
index 9b6bd05147..0000000000
--- a/documentation/adt-manual/adt-prepare.rst
+++ /dev/null
@@ -1,752 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-2.0-UK
-
-*************************************
-Preparing for Application Development
-*************************************
-
-In order to develop applications, you need set up your host development
-system. Several ways exist that allow you to install cross-development
-tools, QEMU, the Eclipse Yocto Plug-in, and other tools. This chapter
-describes how to prepare for application development.
-
-.. _installing-the-adt:
-
-Installing the ADT and Toolchains
-=================================
-
-The following list describes installation methods that set up varying
-degrees of tool availability on your system. Regardless of the
-installation method you choose, you must ``source`` the cross-toolchain
-environment setup script, which establishes several key environment
-variables, before you use a toolchain. See the "`Setting Up the
-Cross-Development
-Environment <#setting-up-the-cross-development-environment>`__" section
-for more information.
-
-.. note::
-
- Avoid mixing installation methods when installing toolchains for
- different architectures. For example, avoid using the ADT Installer
- to install some toolchains and then hand-installing cross-development
- toolchains by running the toolchain installer for different
- architectures. Mixing installation methods can result in situations
- where the ADT Installer becomes unreliable and might not install the
- toolchain.
-
- If you must mix installation methods, you might avoid problems by
- deleting ``/var/lib/opkg``, thus purging the ``opkg`` package
- metadata.
-
-- *Use the ADT installer script:* This method is the recommended way to
- install the ADT because it automates much of the process for you. For
- example, you can configure the installation to install the QEMU
- emulator and the user-space NFS, specify which root filesystem
- profiles to download, and define the target sysroot location.
-
-- *Use an existing toolchain:* Using this method, you select and
- download an architecture-specific toolchain installer and then run
- the script to hand-install the toolchain. If you use this method, you
- just get the cross-toolchain and QEMU - you do not get any of the
- other mentioned benefits had you run the ADT Installer script.
-
-- *Use the toolchain from within the Build Directory:* If you already
- have a :term:`Build Directory`,
- you can build the cross-toolchain within the directory. However, like
- the previous method mentioned, you only get the cross-toolchain and
- QEMU - you do not get any of the other benefits without taking
- separate steps.
-
-Using the ADT Installer
------------------------
-
-To run the ADT Installer, you need to get the ADT Installer tarball, be
-sure you have the necessary host development packages that support the
-ADT Installer, and then run the ADT Installer Script.
-
-For a list of the host packages needed to support ADT installation and
-use, see the "ADT Installer Extras" lists in the "`Required Packages for
-the Host Development
-System <&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system>`__"
-section of the Yocto Project Reference Manual.
-
-Getting the ADT Installer Tarball
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ADT Installer is contained in the ADT Installer tarball. You can get
-the tarball using either of these methods:
-
-- *Download the Tarball:* You can download the tarball from
- ` <&YOCTO_ADTINSTALLER_DL_URL;>`__ into any directory.
-
-- *Build the Tarball:* You can use
- :term:`BitBake` to generate the
- tarball inside an existing :term:`Build Directory`.
-
- If you use BitBake to generate the ADT Installer tarball, you must
- ``source`` the environment setup script
- (````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__ or
- ```oe-init-build-env-memres`` <&YOCTO_DOCS_REF_URL;#structure-memres-core-script>`__)
- located in the Source Directory before running the ``bitbake``
- command that creates the tarball.
-
- The following example commands establish the
- :term:`Source Directory`, check out the
- current release branch, set up the build environment while also
- creating the default Build Directory, and run the ``bitbake`` command
- that results in the tarball
- ``poky/build/tmp/deploy/sdk/adt_installer.tar.bz2``:
-
- .. note::
-
- Before using BitBake to build the ADT tarball, be sure to make
- sure your
- local.conf
- file is properly configured. See the "
- User Configuration
- " section in the Yocto Project Reference Manual for general
- configuration information.
-
- $ cd ~ $ git clone git://git.yoctoproject.org/poky $ cd poky $ git
- checkout -b DISTRO_NAME origin/DISTRO_NAME $ source OE_INIT_FILE $
- bitbake adt-installer
-
-Configuring and Running the ADT Installer Script
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Before running the ADT Installer script, you need to unpack the tarball.
-You can unpack the tarball in any directory you wish. For example, this
-command copies the ADT Installer tarball from where it was built into
-the home directory and then unpacks the tarball into a top-level
-directory named ``adt-installer``: $ cd ~ $ cp
-poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME $ tar -xjf
-adt_installer.tar.bz2 Unpacking it creates the directory
-``adt-installer``, which contains the ADT Installer script
-(``adt_installer``) and its configuration file (``adt_installer.conf``).
-
-Before you run the script, however, you should examine the ADT Installer
-configuration file and be sure you are going to get what you want. Your
-configurations determine which kernel and filesystem image are
-downloaded.
-
-The following list describes the configurations you can define for the
-ADT Installer. For configuration values and restrictions, see the
-comments in the ``adt-installer.conf`` file:
-
-- ``YOCTOADT_REPO``: This area includes the IPKG-based packages and the
- root filesystem upon which the installation is based. If you want to
- set up your own IPKG repository pointed to by ``YOCTOADT_REPO``, you
- need to be sure that the directory structure follows the same layout
- as the reference directory set up at
- http://adtrepo.yoctoproject.org. Also, your repository needs
- to be accessible through HTTP.
-
-- ``YOCTOADT_TARGETS``: The machine target architectures for which you
- want to set up cross-development environments.
-
-- ``YOCTOADT_QEMU``: Indicates whether or not to install the emulator
- QEMU.
-
-- ``YOCTOADT_NFS_UTIL``: Indicates whether or not to install user-mode
- NFS. If you plan to use the Eclipse IDE Yocto plug-in against QEMU,
- you should install NFS.
-
- .. note::
-
- To boot QEMU images using our userspace NFS server, you need to be
- running
- portmap
- or
- rpcbind
- . If you are running
- rpcbind
- , you will also need to add the
- -i
- option when
- rpcbind
- starts up. Please make sure you understand the security
- implications of doing this. You might also have to modify your
- firewall settings to allow NFS booting to work.
-
-- ``YOCTOADT_ROOTFS_``\ arch: The root filesystem images you want to
- download from the ``YOCTOADT_IPKG_REPO`` repository.
-
-- ``YOCTOADT_TARGET_SYSROOT_IMAGE_``\ arch: The particular root
- filesystem used to extract and create the target sysroot. The value
- of this variable must have been specified with
- ``YOCTOADT_ROOTFS_``\ arch. For example, if you downloaded both
- ``minimal`` and ``sato-sdk`` images by setting
- ``YOCTOADT_ROOTFS_``\ arch to "minimal sato-sdk", then
- ``YOCTOADT_ROOTFS_``\ arch must be set to either "minimal" or
- "sato-sdk".
-
-- ``YOCTOADT_TARGET_SYSROOT_LOC_``\ arch: The location on the
- development host where the target sysroot is created.
-
-After you have configured the ``adt_installer.conf`` file, run the
-installer using the following command: $ cd adt-installer $
-./adt_installer Once the installer begins to run, you are asked to enter
-the location for cross-toolchain installation. The default location is
-``/opt/poky/``\ release. After either accepting the default location or
-selecting your own location, you are prompted to run the installation
-script interactively or in silent mode. If you want to closely monitor
-the installation, choose "I" for interactive mode rather than "S" for
-silent mode. Follow the prompts from the script to complete the
-installation.
-
-Once the installation completes, the ADT, which includes the
-cross-toolchain, is installed in the selected installation directory.
-You will notice environment setup files for the cross-toolchain in the
-installation directory, and image tarballs in the ``adt-installer``
-directory according to your installer configurations, and the target
-sysroot located according to the ``YOCTOADT_TARGET_SYSROOT_LOC_``\ arch
-variable also in your configuration file.
-
-.. _using-an-existing-toolchain-tarball:
-
-Using a Cross-Toolchain Tarball
--------------------------------
-
-If you want to simply install a cross-toolchain by hand, you can do so
-by running the toolchain installer. The installer includes the pre-built
-cross-toolchain, the ``runqemu`` script, and support files. If you use
-this method to install the cross-toolchain, you might still need to
-install the target sysroot by installing and extracting it separately.
-For information on how to install the sysroot, see the "`Extracting the
-Root Filesystem <#extracting-the-root-filesystem>`__" section.
-
-Follow these steps:
-
-1. *Get your toolchain installer using one of the following methods:*
-
- - Go to ` <&YOCTO_TOOLCHAIN_DL_URL;>`__ and find the folder that
- matches your host development system (i.e. ``i686`` for 32-bit
- machines or ``x86_64`` for 64-bit machines).
-
- Go into that folder and download the toolchain installer whose
- name includes the appropriate target architecture. The toolchains
- provided by the Yocto Project are based off of the
- ``core-image-sato`` image and contain libraries appropriate for
- developing against that image. For example, if your host
- development system is a 64-bit x86 system and you are going to use
- your cross-toolchain for a 32-bit x86 target, go into the
- ``x86_64`` folder and download the following installer:
- poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
-
- - Build your own toolchain installer. For cases where you cannot use
- an installer from the download area, you can build your own as
- described in the "`Optionally Building a Toolchain
- Installer <#optionally-building-a-toolchain-installer>`__"
- section.
-
-2. *Once you have the installer, run it to install the toolchain:*
-
- .. note::
-
- You must change the permissions on the toolchain installer script
- so that it is executable.
-
- The following command shows how to run the installer given a
- toolchain tarball for a 64-bit x86 development host system and a
- 32-bit x86 target architecture. The example assumes the toolchain
- installer is located in ``~/Downloads/``. $
- ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
- The first thing the installer prompts you for is the directory into
- which you want to install the toolchain. The default directory used
- is ``/opt/poky/DISTRO``. If you do not have write permissions for the
- directory into which you are installing the toolchain, the toolchain
- installer notifies you and exits. Be sure you have write permissions
- in the directory and run the installer again.
-
- When the script finishes, the cross-toolchain is installed. You will
- notice environment setup files for the cross-toolchain in the
- installation directory.
-
-.. _using-the-toolchain-from-within-the-build-tree:
-
-Using BitBake and the Build Directory
--------------------------------------
-
-A final way of making the cross-toolchain available is to use BitBake to
-generate the toolchain within an existing :term:`Build Directory`.
-This method does
-not install the toolchain into the default ``/opt`` directory. As with
-the previous method, if you need to install the target sysroot, you must
-do that separately as well.
-
-Follow these steps to generate the toolchain into the Build Directory:
-
-1. *Set up the Build Environment:* Source the OpenEmbedded build
- environment setup script (i.e.
- ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__ or
- ```oe-init-build-env-memres`` <&YOCTO_DOCS_REF_URL;#structure-memres-core-script>`__)
- located in the :term:`Source Directory`.
-
-2. *Check your Local Configuration File:* At this point, you should be
- sure that the :term:`MACHINE`
- variable in the ``local.conf`` file found in the ``conf`` directory
- of the Build Directory is set for the target architecture. Comments
- within the ``local.conf`` file list the values you can use for the
- ``MACHINE`` variable. If you do not change the ``MACHINE`` variable,
- the OpenEmbedded build system uses ``qemux86`` as the default target
- machine when building the cross-toolchain.
-
- .. note::
-
- You can populate the Build Directory with the cross-toolchains for
- more than a single architecture. You just need to edit the
- MACHINE
- variable in the
- local.conf
- file and re-run the
- bitbake
- command.
-
-3. *Make Sure Your Layers are Enabled:* Examine the
- ``conf/bblayers.conf`` file and make sure that you have enabled all
- the compatible layers for your target machine. The OpenEmbedded build
- system needs to be aware of each layer you want included when
- building images and cross-toolchains. For information on how to
- enable a layer, see the "`Enabling Your
- Layer <&YOCTO_DOCS_DEV_URL;#enabling-your-layer>`__" section in the
- Yocto Project Development Manual.
-
-4. *Generate the Cross-Toolchain:* Run ``bitbake meta-ide-support`` to
- complete the cross-toolchain generation. Once the ``bitbake`` command
- finishes, the cross-toolchain is generated and populated within the
- Build Directory. You will notice environment setup files for the
- cross-toolchain that contain the string "``environment-setup``" in
- the Build Directory's ``tmp`` folder.
-
- Be aware that when you use this method to install the toolchain, you
- still need to separately extract and install the sysroot filesystem.
- For information on how to do this, see the "`Extracting the Root
- Filesystem <#extracting-the-root-filesystem>`__" section.
-
-Setting Up the Cross-Development Environment
-============================================
-
-Before you can develop using the cross-toolchain, you need to set up the
-cross-development environment by sourcing the toolchain's environment
-setup script. If you used the ADT Installer or hand-installed
-cross-toolchain, then you can find this script in the directory you
-chose for installation. For this release, the default installation
-directory is ````. If you installed the toolchain in the
-:term:`Build Directory`, you can find the
-environment setup script for the toolchain in the Build Directory's
-``tmp`` directory.
-
-Be sure to run the environment setup script that matches the
-architecture for which you are developing. Environment setup scripts
-begin with the string "``environment-setup``" and include as part of
-their name the architecture. For example, the toolchain environment
-setup script for a 64-bit IA-based architecture installed in the default
-installation directory would be the following:
-YOCTO_ADTPATH_DIR/environment-setup-x86_64-poky-linux When you run the
-setup script, many environment variables are defined:
-:term:`SDKTARGETSYSROOT` -
-The path to the sysroot used for cross-compilation
-:term:`PKG_CONFIG_PATH` - The
-path to the target pkg-config files
-:term:`CONFIG_SITE` - A GNU
-autoconf site file preconfigured for the target
-:term:`CC` - The minimal command and
-arguments to run the C compiler
-:term:`CXX` - The minimal command and
-arguments to run the C++ compiler
-:term:`CPP` - The minimal command and
-arguments to run the C preprocessor
-:term:`AS` - The minimal command and
-arguments to run the assembler :term:`LD`
-- The minimal command and arguments to run the linker
-:term:`GDB` - The minimal command and
-arguments to run the GNU Debugger
-:term:`STRIP` - The minimal command and
-arguments to run 'strip', which strips symbols
-:term:`RANLIB` - The minimal command
-and arguments to run 'ranlib'
-:term:`OBJCOPY` - The minimal command
-and arguments to run 'objcopy'
-:term:`OBJDUMP` - The minimal command
-and arguments to run 'objdump' :term:`AR`
-- The minimal command and arguments to run 'ar'
-:term:`NM` - The minimal command and
-arguments to run 'nm'
-:term:`TARGET_PREFIX` - The
-toolchain binary prefix for the target tools
-:term:`CROSS_COMPILE` - The
-toolchain binary prefix for the target tools
-:term:`CONFIGURE_FLAGS` - The
-minimal arguments for GNU configure
-:term:`CFLAGS` - Suggested C flags
-:term:`CXXFLAGS` - Suggested C++
-flags :term:`LDFLAGS` - Suggested
-linker flags when you use CC to link
-:term:`CPPFLAGS` - Suggested
-preprocessor flags
-
-Securing Kernel and Filesystem Images
-=====================================
-
-You will need to have a kernel and filesystem image to boot using your
-hardware or the QEMU emulator. Furthermore, if you plan on booting your
-image using NFS or you want to use the root filesystem as the target
-sysroot, you need to extract the root filesystem.
-
-Getting the Images
-------------------
-
-To get the kernel and filesystem images, you either have to build them
-or download pre-built versions. For an example of how to build these
-images, see the "`Buiding
-Images <&YOCTO_DOCS_QS_URL;#qs-buiding-images>`__" section of the Yocto
-Project Quick Start. For an example of downloading pre-build versions,
-see the "`Example Using Pre-Built Binaries and
-QEMU <#using-pre-built>`__" section.
-
-The Yocto Project ships basic kernel and filesystem images for several
-architectures (``x86``, ``x86-64``, ``mips``, ``powerpc``, and ``arm``)
-that you can use unaltered in the QEMU emulator. These kernel images
-reside in the release area - ` <&YOCTO_MACHINES_DL_URL;>`__ and are
-ideal for experimentation using Yocto Project. For information on the
-image types you can build using the OpenEmbedded build system, see the
-":ref:`ref-manual/ref-images:Images`" chapter in the Yocto
-Project Reference Manual.
-
-If you are planning on developing against your image and you are not
-building or using one of the Yocto Project development images (e.g.
-``core-image-*-dev``), you must be sure to include the development
-packages as part of your image recipe.
-
-If you plan on remotely deploying and debugging your application from
-within the Eclipse IDE, you must have an image that contains the Yocto
-Target Communication Framework (TCF) agent (``tcf-agent``). You can do
-this by including the ``eclipse-debug`` image feature.
-
-.. note::
-
- See the "
- Image Features
- " section in the Yocto Project Reference Manual for information on
- image features.
-
-To include the ``eclipse-debug`` image feature, modify your
-``local.conf`` file in the :term:`Build Directory`
-so that the
-:term:`EXTRA_IMAGE_FEATURES`
-variable includes the "eclipse-debug" feature. After modifying the
-configuration file, you can rebuild the image. Once the image is
-rebuilt, the ``tcf-agent`` will be included in the image and is launched
-automatically after the boot.
-
-Extracting the Root Filesystem
-------------------------------
-
-If you install your toolchain by hand or build it using BitBake and you
-need a root filesystem, you need to extract it separately. If you use
-the ADT Installer to install the ADT, the root filesystem is
-automatically extracted and installed.
-
-Here are some cases where you need to extract the root filesystem:
-
-- You want to boot the image using NFS.
-
-- You want to use the root filesystem as the target sysroot. For
- example, the Eclipse IDE environment with the Eclipse Yocto Plug-in
- installed allows you to use QEMU to boot under NFS.
-
-- You want to develop your target application using the root filesystem
- as the target sysroot.
-
-To extract the root filesystem, first ``source`` the cross-development
-environment setup script to establish necessary environment variables.
-If you built the toolchain in the Build Directory, you will find the
-toolchain environment script in the ``tmp`` directory. If you installed
-the toolchain by hand, the environment setup script is located in
-``/opt/poky/DISTRO``.
-
-After sourcing the environment script, use the ``runqemu-extract-sdk``
-command and provide the filesystem image.
-
-Following is an example. The second command sets up the environment. In
-this case, the setup script is located in the ``/opt/poky/DISTRO``
-directory. The third command extracts the root filesystem from a
-previously built filesystem that is located in the ``~/Downloads``
-directory. Furthermore, this command extracts the root filesystem into
-the ``qemux86-sato`` directory: $ cd ~ $ source
-/opt/poky/DISTRO/environment-setup-i586-poky-linux $ runqemu-extract-sdk
-\\ ~/Downloads/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2
-\\ $HOME/qemux86-sato You could now point to the target sysroot at
-``qemux86-sato``.
-
-Optionally Building a Toolchain Installer
-=========================================
-
-As an alternative to locating and downloading a toolchain installer, you
-can build the toolchain installer if you have a :term:`Build Directory`.
-
-.. note::
-
- Although not the preferred method, it is also possible to use
- bitbake meta-toolchain
- to build the toolchain installer. If you do use this method, you must
- separately install and extract the target sysroot. For information on
- how to install the sysroot, see the "
- Extracting the Root Filesystem
- " section.
-
-To build the toolchain installer and populate the SDK image, use the
-following command: $ bitbake image -c populate_sdk The command results
-in a toolchain installer that contains the sysroot that matches your
-target root filesystem.
-
-Another powerful feature is that the toolchain is completely
-self-contained. The binaries are linked against their own copy of
-``libc``, which results in no dependencies on the target system. To
-achieve this, the pointer to the dynamic loader is configured at install
-time since that path cannot be dynamically altered. This is the reason
-for a wrapper around the ``populate_sdk`` archive.
-
-Another feature is that only one set of cross-canadian toolchain
-binaries are produced per architecture. This feature takes advantage of
-the fact that the target hardware can be passed to ``gcc`` as a set of
-compiler options. Those options are set up by the environment script and
-contained in variables such as :term:`CC`
-and :term:`LD`. This reduces the space
-needed for the tools. Understand, however, that a sysroot is still
-needed for every target since those binaries are target-specific.
-
-Remember, before using any BitBake command, you must source the build
-environment setup script (i.e.
-````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__ or
-```oe-init-build-env-memres`` <&YOCTO_DOCS_REF_URL;#structure-memres-core-script>`__)
-located in the Source Directory and you must make sure your
-``conf/local.conf`` variables are correct. In particular, you need to be
-sure the :term:`MACHINE` variable
-matches the architecture for which you are building and that the
-:term:`SDKMACHINE` variable is
-correctly set if you are building a toolchain designed to run on an
-architecture that differs from your current development host machine
-(i.e. the build machine).
-
-When the ``bitbake`` command completes, the toolchain installer will be
-in ``tmp/deploy/sdk`` in the Build Directory.
-
-.. note::
-
- By default, this toolchain does not build static binaries. If you
- want to use the toolchain to build these types of libraries, you need
- to be sure your image has the appropriate static development
- libraries. Use the
- IMAGE_INSTALL
- variable inside your
- local.conf
- file to install the appropriate library packages. Following is an
- example using
- glibc
- static development libraries:
- ::
-
- IMAGE_INSTALL_append = " glibc-staticdev"
-
-
-Optionally Using an External Toolchain
-======================================
-
-You might want to use an external toolchain as part of your development.
-If this is the case, the fundamental steps you need to accomplish are as
-follows:
-
-- Understand where the installed toolchain resides. For cases where you
- need to build the external toolchain, you would need to take separate
- steps to build and install the toolchain.
-
-- Make sure you add the layer that contains the toolchain to your
- ``bblayers.conf`` file through the
- :term:`BBLAYERS` variable.
-
-- Set the
- :term:`EXTERNAL_TOOLCHAIN`
- variable in your ``local.conf`` file to the location in which you
- installed the toolchain.
-
-A good example of an external toolchain used with the Yocto Project is
-Mentor Graphics Sourcery G++ Toolchain. You can see information on how
-to use that particular layer in the ``README`` file at
-http://github.com/MentorEmbedded/meta-sourcery/. You can find
-further information by reading about the
-:term:`TCMODE` variable in the Yocto
-Project Reference Manual's variable glossary.
-
-.. _using-pre-built:
-
-Example Using Pre-Built Binaries and QEMU
-=========================================
-
-If hardware, libraries and services are stable, you can get started by
-using a pre-built binary of the filesystem image, kernel, and toolchain
-and run it using the QEMU emulator. This scenario is useful for
-developing application software.
-
-|Using a Pre-Built Image|
-
-For this scenario, you need to do several things:
-
-- Install the appropriate stand-alone toolchain tarball.
-
-- Download the pre-built image that will boot with QEMU. You need to be
- sure to get the QEMU image that matches your target machine's
- architecture (e.g. x86, ARM, etc.).
-
-- Download the filesystem image for your target machine's architecture.
-
-- Set up the environment to emulate the hardware and then start the
- QEMU emulator.
-
-Installing the Toolchain
-------------------------
-
-You can download a tarball installer, which includes the pre-built
-toolchain, the ``runqemu`` script, and support files from the
-appropriate directory under ` <&YOCTO_TOOLCHAIN_DL_URL;>`__. Toolchains
-are available for 32-bit and 64-bit x86 development systems from the
-``i686`` and ``x86_64`` directories, respectively. The toolchains the
-Yocto Project provides are based off the ``core-image-sato`` image and
-contain libraries appropriate for developing against that image. Each
-type of development system supports five or more target architectures.
-
-The names of the tarball installer scripts are such that a string
-representing the host system appears first in the filename and then is
-immediately followed by a string representing the target architecture.
-
-::
-
- poky-glibc-host_system-image_type-arch-toolchain-release_version.sh
-
- Where:
- host_system is a string representing your development system:
-
- i686 or x86_64.
-
- image_type is a string representing the image you wish to
- develop a Software Development Toolkit (SDK) for use against.
- The Yocto Project builds toolchain installers using the
- following BitBake command:
-
- bitbake core-image-sato -c populate_sdk
-
- arch is a string representing the tuned target architecture:
-
- i586, x86_64, powerpc, mips, armv7a or armv5te
-
- release_version is a string representing the release number of the
- Yocto Project:
-
- DISTRO, DISTRO+snapshot
-
-
-For example, the following toolchain installer is for a 64-bit
-development host system and a i586-tuned target architecture based off
-the SDK for ``core-image-sato``:
-poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
-
-Toolchains are self-contained and by default are installed into
-``/opt/poky``. However, when you run the toolchain installer, you can
-choose an installation directory.
-
-The following command shows how to run the installer given a toolchain
-tarball for a 64-bit x86 development host system and a 32-bit x86 target
-architecture. You must change the permissions on the toolchain installer
-script so that it is executable.
-
-The example assumes the toolchain installer is located in
-``~/Downloads/``.
-
-.. note::
-
- If you do not have write permissions for the directory into which you
- are installing the toolchain, the toolchain installer notifies you
- and exits. Be sure you have write permissions in the directory and
- run the installer again.
-
-$ ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
-
-For more information on how to install tarballs, see the "`Using a
-Cross-Toolchain
-Tarball <&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball>`__"
-and "`Using BitBake and the Build
-Directory <&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree>`__"
-sections in the Yocto Project Application Developer's Guide.
-
-Downloading the Pre-Built Linux Kernel
---------------------------------------
-
-You can download the pre-built Linux kernel suitable for running in the
-QEMU emulator from ` <&YOCTO_QEMU_DL_URL;>`__. Be sure to use the kernel
-that matches the architecture you want to simulate. Download areas exist
-for the five supported machine architectures: ``qemuarm``, ``qemumips``,
-``qemuppc``, ``qemux86``, and ``qemux86-64``.
-
-Most kernel files have one of the following forms: \*zImage-qemuarch.bin
-vmlinux-qemuarch.bin Where: arch is a string representing the target
-architecture: x86, x86-64, ppc, mips, or arm.
-
-You can learn more about downloading a Yocto Project kernel in the
-"`Yocto Project Kernel <&YOCTO_DOCS_DEV_URL;#local-kernel-files>`__"
-bulleted item in the Yocto Project Development Manual.
-
-Downloading the Filesystem
---------------------------
-
-You can also download the filesystem image suitable for your target
-architecture from ` <&YOCTO_QEMU_DL_URL;>`__. Again, be sure to use the
-filesystem that matches the architecture you want to simulate.
-
-The filesystem image has two tarball forms: ``ext3`` and ``tar``. You
-must use the ``ext3`` form when booting an image using the QEMU
-emulator. The ``tar`` form can be flattened out in your host development
-system and used for build purposes with the Yocto Project.
-core-image-profile-qemuarch.ext3 core-image-profile-qemuarch.tar.bz2
-Where: profile is the filesystem image's profile: lsb, lsb-dev, lsb-sdk,
-lsb-qt3, minimal, minimal-dev, sato, sato-dev, or sato-sdk. For
-information on these types of image profiles, see the
-":ref:`ref-manual/ref-images:Images`" chapter in the Yocto
-Project Reference Manual. arch is a string representing the target
-architecture: x86, x86-64, ppc, mips, or arm.
-
-Setting Up the Environment and Starting the QEMU Emulator
----------------------------------------------------------
-
-Before you start the QEMU emulator, you need to set up the emulation
-environment. The following command form sets up the emulation
-environment. $ source
-YOCTO_ADTPATH_DIR/environment-setup-arch-poky-linux-if Where: arch is a
-string representing the target architecture: i586, x86_64, ppc603e,
-mips, or armv5te. if is a string representing an embedded application
-binary interface. Not all setup scripts include this string.
-
-Finally, this command form invokes the QEMU emulator $ runqemu qemuarch
-kernel-image filesystem-image Where: qemuarch is a string representing
-the target architecture: qemux86, qemux86-64, qemuppc, qemumips, or
-qemuarm. kernel-image is the architecture-specific kernel image.
-filesystem-image is the .ext3 filesystem image.
-
-Continuing with the example, the following two commands setup the
-emulation environment and launch QEMU. This example assumes the root
-filesystem (``.ext3`` file) and the pre-built kernel image file both
-reside in your home directory. The kernel and filesystem are for a
-32-bit target architecture. $ cd $HOME $ source
-YOCTO_ADTPATH_DIR/environment-setup-i586-poky-linux $ runqemu qemux86
-bzImage-qemux86.bin \\ core-image-sato-qemux86.ext3
-
-The environment in which QEMU launches varies depending on the
-filesystem image and on the target architecture. For example, if you
-source the environment for the ARM target architecture and then boot the
-minimal QEMU image, the emulator comes up in a new shell in command-line
-mode. However, if you boot the SDK image, QEMU comes up with a GUI.
-
-.. note::
-
- Booting the PPC image results in QEMU launching in the same shell in
- command-line mode.
-
-.. |Using a Pre-Built Image| image:: figures/using-a-pre-built-image.png
diff --git a/documentation/adt-manual/adt-prepare.xml b/documentation/adt-manual/adt-prepare.xml
deleted file mode 100644
index 2dc9843259..0000000000
--- a/documentation/adt-manual/adt-prepare.xml
+++ /dev/null
@@ -1,1000 +0,0 @@
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
-[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
-<!--SPDX-License-Identifier: CC-BY-2.0-UK-->
-
-<chapter id='adt-prepare'>
-
-<title>Preparing for Application Development</title>
-
-<para>
- In order to develop applications, you need set up your host development system.
- Several ways exist that allow you to install cross-development tools, QEMU, the
- Eclipse Yocto Plug-in, and other tools.
- This chapter describes how to prepare for application development.
-</para>
-
-<section id='installing-the-adt'>
- <title>Installing the ADT and Toolchains</title>
-
- <para>
- The following list describes installation methods that set up varying
- degrees of tool availability on your system.
- Regardless of the installation method you choose,
- you must <filename>source</filename> the cross-toolchain
- environment setup script, which establishes several key
- environment variables, before you use a toolchain.
- See the
- "<link linkend='setting-up-the-cross-development-environment'>Setting Up the Cross-Development Environment</link>"
- section for more information.
- </para>
-
- <note>
- <para>
- Avoid mixing installation methods when installing toolchains for
- different architectures.
- For example, avoid using the ADT Installer to install some
- toolchains and then hand-installing cross-development toolchains
- by running the toolchain installer for different architectures.
- Mixing installation methods can result in situations where the
- ADT Installer becomes unreliable and might not install the
- toolchain.
- </para>
-
- <para>
- If you must mix installation methods, you might avoid problems by
- deleting <filename>/var/lib/opkg</filename>, thus purging the
- <filename>opkg</filename> package metadata.
- </para>
- </note>
-
- <para>
- <itemizedlist>
- <listitem><para><emphasis>Use the ADT installer script:</emphasis>
- This method is the recommended way to install the ADT because it
- automates much of the process for you.
- For example, you can configure the installation to install the QEMU emulator
- and the user-space NFS, specify which root filesystem profiles to download,
- and define the target sysroot location.</para></listitem>
- <listitem><para><emphasis>Use an existing toolchain:</emphasis>
- Using this method, you select and download an architecture-specific
- toolchain installer and then run the script to hand-install the toolchain.
- If you use this method, you just get the cross-toolchain and QEMU - you do not
- get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem>
- <listitem><para><emphasis>Use the toolchain from within the Build Directory:</emphasis>
- If you already have a
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
- you can build the cross-toolchain within the directory.
- However, like the previous method mentioned, you only get the cross-toolchain and QEMU - you
- do not get any of the other benefits without taking separate steps.</para></listitem>
- </itemizedlist>
- </para>
-
- <section id='using-the-adt-installer'>
- <title>Using the ADT Installer</title>
-
- <para>
- To run the ADT Installer, you need to get the ADT Installer tarball, be sure
- you have the necessary host development packages that support the ADT Installer,
- and then run the ADT Installer Script.
- </para>
-
- <para>
- For a list of the host packages needed to support ADT installation and use, see the
- "ADT Installer Extras" lists in the
- "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" section
- of the Yocto Project Reference Manual.
- </para>
-
- <section id='getting-the-adt-installer-tarball'>
- <title>Getting the ADT Installer Tarball</title>
-
- <para>
- The ADT Installer is contained in the ADT Installer tarball.
- You can get the tarball using either of these methods:
- <itemizedlist>
- <listitem><para><emphasis>Download the Tarball:</emphasis>
- You can download the tarball from
- <ulink url='&YOCTO_ADTINSTALLER_DL_URL;'></ulink> into
- any directory.</para></listitem>
- <listitem><para><emphasis>Build the Tarball:</emphasis>
- You can use
- <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>
- to generate the tarball inside an existing
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
- </para>
- <para>If you use BitBake to generate the ADT Installer
- tarball, you must <filename>source</filename> the
- environment setup script
- (<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
- or
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
- located in the Source Directory before running the
- <filename>bitbake</filename> command that creates the
- tarball.</para>
- <para>The following example commands establish
- the
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
- check out the current release branch, set up the
- build environment while also creating the default
- Build Directory, and run the
- <filename>bitbake</filename> command that results in the
- tarball
- <filename>poky/build/tmp/deploy/sdk/adt_installer.tar.bz2</filename>:
- <note>
- Before using BitBake to build the ADT tarball, be
- sure to make sure your
- <filename>local.conf</filename> file is properly
- configured.
- See the
- "<ulink url='&YOCTO_DOCS_REF_URL;#user-configuration'>User Configuration</ulink>"
- section in the Yocto Project Reference Manual for
- general configuration information.
- </note>
- <literallayout class='monospaced'>
- $ cd ~
- $ git clone git://git.yoctoproject.org/poky
- $ cd poky
- $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
- $ source &OE_INIT_FILE;
- $ bitbake adt-installer
- </literallayout></para></listitem>
- </itemizedlist>
- </para>
- </section>
-
- <section id='configuring-and-running-the-adt-installer-script'>
- <title>Configuring and Running the ADT Installer Script</title>
-
- <para>
- Before running the ADT Installer script, you need to unpack the tarball.
- You can unpack the tarball in any directory you wish.
- For example, this command copies the ADT Installer tarball from where
- it was built into the home directory and then unpacks the tarball into
- a top-level directory named <filename>adt-installer</filename>:
- <literallayout class='monospaced'>
- $ cd ~
- $ cp poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME
- $ tar -xjf adt_installer.tar.bz2
- </literallayout>
- Unpacking it creates the directory <filename>adt-installer</filename>,
- which contains the ADT Installer script (<filename>adt_installer</filename>)
- and its configuration file (<filename>adt_installer.conf</filename>).
- </para>
-
- <para>
- Before you run the script, however, you should examine the ADT Installer configuration
- file and be sure you are going to get what you want.
- Your configurations determine which kernel and filesystem image are downloaded.
- </para>
-
- <para>
- The following list describes the configurations you can define for the ADT Installer.
- For configuration values and restrictions, see the comments in
- the <filename>adt-installer.conf</filename> file:
-
- <itemizedlist>
- <listitem><para><filename>YOCTOADT_REPO</filename>: This area
- includes the IPKG-based packages and the root filesystem upon which
- the installation is based.
- If you want to set up your own IPKG repository pointed to by
- <filename>YOCTOADT_REPO</filename>, you need to be sure that the
- directory structure follows the same layout as the reference directory
- set up at <ulink url='http://adtrepo.yoctoproject.org'></ulink>.
- Also, your repository needs to be accessible through HTTP.</para></listitem>
- <listitem><para><filename>YOCTOADT_TARGETS</filename>: The machine
- target architectures for which you want to set up cross-development
- environments.</para></listitem>
- <listitem><para><filename>YOCTOADT_QEMU</filename>: Indicates whether
- or not to install the emulator QEMU.</para></listitem>
- <listitem><para><filename>YOCTOADT_NFS_UTIL</filename>: Indicates whether
- or not to install user-mode NFS.
- If you plan to use the Eclipse IDE Yocto plug-in against QEMU,
- you should install NFS.
- <note>To boot QEMU images using our userspace NFS server, you need
- to be running <filename>portmap</filename> or <filename>rpcbind</filename>.
- If you are running <filename>rpcbind</filename>, you will also need to add the
- <filename>-i</filename> option when <filename>rpcbind</filename> starts up.
- Please make sure you understand the security implications of doing this.
- You might also have to modify your firewall settings to allow
- NFS booting to work.</note></para></listitem>
- <listitem><para><filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>: The root
- filesystem images you want to download from the
- <filename>YOCTOADT_IPKG_REPO</filename> repository.</para></listitem>
- <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_IMAGE_</filename><replaceable>arch</replaceable>: The
- particular root filesystem used to extract and create the target sysroot.
- The value of this variable must have been specified with
- <filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>.
- For example, if you downloaded both <filename>minimal</filename> and
- <filename>sato-sdk</filename> images by setting
- <filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>
- to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>
- must be set to either "minimal" or "sato-sdk".
- </para></listitem>
- <listitem><para><filename>YOCTOADT_TARGET_SYSROOT_LOC_</filename><replaceable>arch</replaceable>: The
- location on the development host where the target sysroot is created.
- </para></listitem>
- </itemizedlist>
- </para>
-
- <para>
- After you have configured the <filename>adt_installer.conf</filename> file,
- run the installer using the following command:
- <literallayout class='monospaced'>
- $ cd adt-installer
- $ ./adt_installer
- </literallayout>
- Once the installer begins to run, you are asked to enter the
- location for cross-toolchain installation.
- The default location is
- <filename>/opt/poky/</filename><replaceable>release</replaceable>.
- After either accepting the default location or selecting your
- own location, you are prompted to run the installation script
- interactively or in silent mode.
- If you want to closely monitor the installation,
- choose "I" for interactive mode rather than "S" for silent mode.
- Follow the prompts from the script to complete the installation.
- </para>
-
- <para>
- Once the installation completes, the ADT, which includes the
- cross-toolchain, is installed in the selected installation
- directory.
- You will notice environment setup files for the cross-toolchain
- in the installation directory, and image tarballs in the
- <filename>adt-installer</filename> directory according to your
- installer configurations, and the target sysroot located
- according to the
- <filename>YOCTOADT_TARGET_SYSROOT_LOC_</filename><replaceable>arch</replaceable>
- variable also in your configuration file.
- </para>
- </section>
- </section>
-
- <section id='using-an-existing-toolchain-tarball'>
- <title>Using a Cross-Toolchain Tarball</title>
-
- <para>
- If you want to simply install a cross-toolchain by hand, you can
- do so by running the toolchain installer.
- The installer includes the pre-built cross-toolchain, the
- <filename>runqemu</filename> script, and support files.
- If you use this method to install the cross-toolchain, you
- might still need to install the target sysroot by installing and
- extracting it separately.
- For information on how to install the sysroot, see the
- "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
- </para>
-
- <para>
- Follow these steps:
- <orderedlist>
- <listitem><para><emphasis>Get your toolchain installer using one of the following methods:</emphasis>
- <itemizedlist>
- <listitem><para>Go to
- <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>
- and find the folder that matches your host
- development system (i.e. <filename>i686</filename>
- for 32-bit machines or <filename>x86_64</filename>
- for 64-bit machines).</para>
- <para>Go into that folder and download the toolchain
- installer whose name includes the appropriate target
- architecture.
- The toolchains provided by the Yocto Project
- are based off of the
- <filename>core-image-sato</filename> image and
- contain libraries appropriate for developing
- against that image.
- For example, if your host development system is a
- 64-bit x86 system and you are going to use
- your cross-toolchain for a 32-bit x86
- target, go into the <filename>x86_64</filename>
- folder and download the following installer:
- <literallayout class='monospaced'>
- poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
- </literallayout></para></listitem>
- <listitem><para>Build your own toolchain installer.
- For cases where you cannot use an installer
- from the download area, you can build your own as
- described in the
- "<link linkend='optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</link>"
- section.</para></listitem>
- </itemizedlist></para></listitem>
- <listitem><para><emphasis>Once you have the installer, run it to install the toolchain:</emphasis>
- <note>
- You must change the permissions on the toolchain
- installer script so that it is executable.
- </note></para>
- <para>The following command shows how to run the installer
- given a toolchain tarball for a 64-bit x86 development host
- system and a 32-bit x86 target architecture.
- The example assumes the toolchain installer is located
- in <filename>~/Downloads/</filename>.
- <literallayout class='monospaced'>
- $ ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
- </literallayout>
- The first thing the installer prompts you for is the
- directory into which you want to install the toolchain.
- The default directory used is
- <filename>/opt/poky/&DISTRO;</filename>.
- If you do not have write permissions for the directory
- into which you are installing the toolchain, the
- toolchain installer notifies you and exits.
- Be sure you have write permissions in the directory and
- run the installer again.</para>
- <para>When the script finishes, the cross-toolchain is
- installed.
- You will notice environment setup files for the
- cross-toolchain in the installation directory.
- </para></listitem>
- </orderedlist>
- </para>
- </section>
-
- <section id='using-the-toolchain-from-within-the-build-tree'>
- <title>Using BitBake and the Build Directory</title>
-
- <para>
- A final way of making the cross-toolchain available is to use BitBake
- to generate the toolchain within an existing
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
- This method does not install the toolchain into the default
- <filename>/opt</filename> directory.
- As with the previous method, if you need to install the target sysroot, you must
- do that separately as well.
- </para>
-
- <para>
- Follow these steps to generate the toolchain into the Build Directory:
- <orderedlist>
- <listitem><para><emphasis>Set up the Build Environment:</emphasis>
- Source the OpenEmbedded build environment setup
- script (i.e.
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
- or
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
- located in the
- <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
- </para></listitem>
- <listitem><para><emphasis>Check your Local Configuration File:</emphasis>
- At this point, you should be sure that the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> variable
- in the <filename>local.conf</filename> file found in the
- <filename>conf</filename> directory of the Build Directory
- is set for the target architecture.
- Comments within the <filename>local.conf</filename> file
- list the values you can use for the
- <filename>MACHINE</filename> variable.
- If you do not change the <filename>MACHINE</filename>
- variable, the OpenEmbedded build system uses
- <filename>qemux86</filename> as the default target
- machine when building the cross-toolchain.
- <note>
- You can populate the Build Directory with the
- cross-toolchains for more than a single architecture.
- You just need to edit the <filename>MACHINE</filename>
- variable in the <filename>local.conf</filename> file and
- re-run the <filename>bitbake</filename> command.
- </note></para></listitem>
- <listitem><para><emphasis>Make Sure Your Layers are Enabled:</emphasis>
- Examine the <filename>conf/bblayers.conf</filename> file
- and make sure that you have enabled all the compatible
- layers for your target machine.
- The OpenEmbedded build system needs to be aware of each
- layer you want included when building images and
- cross-toolchains.
- For information on how to enable a layer, see the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#enabling-your-layer'>Enabling Your Layer</ulink>"
- section in the Yocto Project Development Manual.
- </para></listitem>
- <listitem><para><emphasis>Generate the Cross-Toolchain:</emphasis>
- Run <filename>bitbake meta-ide-support</filename> to
- complete the cross-toolchain generation.
- Once the <filename>bitbake</filename> command finishes,
- the cross-toolchain is
- generated and populated within the Build Directory.
- You will notice environment setup files for the
- cross-toolchain that contain the string
- "<filename>environment-setup</filename>" in the
- Build Directory's <filename>tmp</filename> folder.</para>
- <para>Be aware that when you use this method to install the
- toolchain, you still need to separately extract and install
- the sysroot filesystem.
- For information on how to do this, see the
- "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
- </para></listitem>
- </orderedlist>
- </para>
- </section>
-</section>
-
-<section id='setting-up-the-cross-development-environment'>
- <title>Setting Up the Cross-Development Environment</title>
-
- <para>
- Before you can develop using the cross-toolchain, you need to set up the
- cross-development environment by sourcing the toolchain's environment setup script.
- If you used the ADT Installer or hand-installed cross-toolchain,
- then you can find this script in the directory you chose for installation.
- For this release, the default installation directory is
- <filename>&YOCTO_ADTPATH_DIR;</filename>.
- If you installed the toolchain in the
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
- you can find the environment setup
- script for the toolchain in the Build Directory's <filename>tmp</filename> directory.
- </para>
-
- <para>
- Be sure to run the environment setup script that matches the
- architecture for which you are developing.
- Environment setup scripts begin with the string
- "<filename>environment-setup</filename>" and include as part of their
- name the architecture.
- For example, the toolchain environment setup script for a 64-bit
- IA-based architecture installed in the default installation directory
- would be the following:
- <literallayout class='monospaced'>
- &YOCTO_ADTPATH_DIR;/environment-setup-x86_64-poky-linux
- </literallayout>
- When you run the setup script, many environment variables are
- defined:
- <literallayout class='monospaced'>
- <ulink url='&YOCTO_DOCS_REF_URL;#var-SDKTARGETSYSROOT'><filename>SDKTARGETSYSROOT</filename></ulink> - The path to the sysroot used for cross-compilation
- <ulink url='&YOCTO_DOCS_REF_URL;#var-PKG_CONFIG_PATH'><filename>PKG_CONFIG_PATH</filename></ulink> - The path to the target pkg-config files
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CONFIG_SITE'><filename>CONFIG_SITE</filename></ulink> - A GNU autoconf site file preconfigured for the target
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'><filename>CC</filename></ulink> - The minimal command and arguments to run the C compiler
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CXX'><filename>CXX</filename></ulink> - The minimal command and arguments to run the C++ compiler
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CPP'><filename>CPP</filename></ulink> - The minimal command and arguments to run the C preprocessor
- <ulink url='&YOCTO_DOCS_REF_URL;#var-AS'><filename>AS</filename></ulink> - The minimal command and arguments to run the assembler
- <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink> - The minimal command and arguments to run the linker
- <ulink url='&YOCTO_DOCS_REF_URL;#var-GDB'><filename>GDB</filename></ulink> - The minimal command and arguments to run the GNU Debugger
- <ulink url='&YOCTO_DOCS_REF_URL;#var-STRIP'><filename>STRIP</filename></ulink> - The minimal command and arguments to run 'strip', which strips symbols
- <ulink url='&YOCTO_DOCS_REF_URL;#var-RANLIB'><filename>RANLIB</filename></ulink> - The minimal command and arguments to run 'ranlib'
- <ulink url='&YOCTO_DOCS_REF_URL;#var-OBJCOPY'><filename>OBJCOPY</filename></ulink> - The minimal command and arguments to run 'objcopy'
- <ulink url='&YOCTO_DOCS_REF_URL;#var-OBJDUMP'><filename>OBJDUMP</filename></ulink> - The minimal command and arguments to run 'objdump'
- <ulink url='&YOCTO_DOCS_REF_URL;#var-AR'><filename>AR</filename></ulink> - The minimal command and arguments to run 'ar'
- <ulink url='&YOCTO_DOCS_REF_URL;#var-NM'><filename>NM</filename></ulink> - The minimal command and arguments to run 'nm'
- <ulink url='&YOCTO_DOCS_REF_URL;#var-TARGET_PREFIX'><filename>TARGET_PREFIX</filename></ulink> - The toolchain binary prefix for the target tools
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CROSS_COMPILE'><filename>CROSS_COMPILE</filename></ulink> - The toolchain binary prefix for the target tools
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CONFIGURE_FLAGS'><filename>CONFIGURE_FLAGS</filename></ulink> - The minimal arguments for GNU configure
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CFLAGS'><filename>CFLAGS</filename></ulink> - Suggested C flags
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CXXFLAGS'><filename>CXXFLAGS</filename></ulink> - Suggested C++ flags
- <ulink url='&YOCTO_DOCS_REF_URL;#var-LDFLAGS'><filename>LDFLAGS</filename></ulink> - Suggested linker flags when you use CC to link
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CPPFLAGS'><filename>CPPFLAGS</filename></ulink> - Suggested preprocessor flags
- </literallayout>
- </para>
-</section>
-
-<section id='securing-kernel-and-filesystem-images'>
- <title>Securing Kernel and Filesystem Images</title>
-
- <para>
- You will need to have a kernel and filesystem image to boot using your
- hardware or the QEMU emulator.
- Furthermore, if you plan on booting your image using NFS or you want to use the root filesystem
- as the target sysroot, you need to extract the root filesystem.
- </para>
-
- <section id='getting-the-images'>
- <title>Getting the Images</title>
-
- <para>
- To get the kernel and filesystem images, you either have to build them or download
- pre-built versions.
- For an example of how to build these images, see the
- "<ulink url='&YOCTO_DOCS_QS_URL;#qs-buiding-images'>Buiding Images</ulink>"
- section of the Yocto Project Quick Start.
- For an example of downloading pre-build versions, see the
- "<link linkend='using-pre-built'>Example Using Pre-Built Binaries and QEMU</link>"
- section.
- </para>
-
- <para>
- The Yocto Project ships basic kernel and filesystem images for several
- architectures (<filename>x86</filename>, <filename>x86-64</filename>,
- <filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>)
- that you can use unaltered in the QEMU emulator.
- These kernel images reside in the release
- area - <ulink url='&YOCTO_MACHINES_DL_URL;'></ulink>
- and are ideal for experimentation using Yocto Project.
- For information on the image types you can build using the OpenEmbedded build system,
- see the
- "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
- chapter in the Yocto Project Reference Manual.
- </para>
-
- <para>
- If you are planning on developing against your image and you are not
- building or using one of the Yocto Project development images
- (e.g. <filename>core-image-*-dev</filename>), you must be sure to
- include the development packages as part of your image recipe.
- </para>
-
- <para>
- If you plan on remotely deploying and debugging your
- application from within the Eclipse IDE, you must have an image
- that contains the Yocto Target Communication Framework (TCF) agent
- (<filename>tcf-agent</filename>).
- You can do this by including the <filename>eclipse-debug</filename>
- image feature.
- <note>
- See the
- "<ulink url='&YOCTO_DOCS_REF_URL;#ref-features-image'>Image Features</ulink>"
- section in the Yocto Project Reference Manual for information on
- image features.
- </note>
- To include the <filename>eclipse-debug</filename> image feature,
- modify your <filename>local.conf</filename> file in the
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
- so that the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'><filename>EXTRA_IMAGE_FEATURES</filename></ulink>
- variable includes the "eclipse-debug" feature.
- After modifying the configuration file, you can rebuild the image.
- Once the image is rebuilt, the <filename>tcf-agent</filename>
- will be included in the image and is launched automatically after
- the boot.
- </para>
- </section>
-
- <section id='extracting-the-root-filesystem'>
- <title>Extracting the Root Filesystem</title>
-
- <para>
- If you install your toolchain by hand or build it using BitBake and
- you need a root filesystem, you need to extract it separately.
- If you use the ADT Installer to install the ADT, the root
- filesystem is automatically extracted and installed.
- </para>
-
- <para>
- Here are some cases where you need to extract the root filesystem:
- <itemizedlist>
- <listitem><para>You want to boot the image using NFS.
- </para></listitem>
- <listitem><para>You want to use the root filesystem as the
- target sysroot.
- For example, the Eclipse IDE environment with the Eclipse
- Yocto Plug-in installed allows you to use QEMU to boot
- under NFS.</para></listitem>
- <listitem><para>You want to develop your target application
- using the root filesystem as the target sysroot.
- </para></listitem>
- </itemizedlist>
- </para>
-
- <para>
- To extract the root filesystem, first <filename>source</filename>
- the cross-development environment setup script to establish
- necessary environment variables.
- If you built the toolchain in the Build Directory, you will find
- the toolchain environment script in the
- <filename>tmp</filename> directory.
- If you installed the toolchain by hand, the environment setup
- script is located in <filename>/opt/poky/&DISTRO;</filename>.
- </para>
-
- <para>
- After sourcing the environment script, use the
- <filename>runqemu-extract-sdk</filename> command and provide the
- filesystem image.
- </para>
-
- <para>
- Following is an example.
- The second command sets up the environment.
- In this case, the setup script is located in the
- <filename>/opt/poky/&DISTRO;</filename> directory.
- The third command extracts the root filesystem from a previously
- built filesystem that is located in the
- <filename>~/Downloads</filename> directory.
- Furthermore, this command extracts the root filesystem into the
- <filename>qemux86-sato</filename> directory:
- <literallayout class='monospaced'>
- $ cd ~
- $ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
- $ runqemu-extract-sdk \
- ~/Downloads/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \
- $HOME/qemux86-sato
- </literallayout>
- You could now point to the target sysroot at
- <filename>qemux86-sato</filename>.
- </para>
- </section>
-</section>
-
-<section id='optionally-building-a-toolchain-installer'>
- <title>Optionally Building a Toolchain Installer</title>
-
- <para>
- As an alternative to locating and downloading a toolchain installer,
- you can build the toolchain installer if you have a
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
- <note>
- Although not the preferred method, it is also possible to use
- <filename>bitbake meta-toolchain</filename> to build the toolchain
- installer.
- If you do use this method, you must separately install and extract
- the target sysroot.
- For information on how to install the sysroot, see the
- "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>"
- section.
- </note>
- </para>
-
- <para>
- To build the toolchain installer and populate the SDK image, use the
- following command:
- <literallayout class='monospaced'>
- $ bitbake <replaceable>image</replaceable> -c populate_sdk
- </literallayout>
- The command results in a toolchain installer that contains the sysroot
- that matches your target root filesystem.
- </para>
-
- <para>
- Another powerful feature is that the toolchain is completely
- self-contained.
- The binaries are linked against their own copy of
- <filename>libc</filename>, which results in no dependencies
- on the target system.
- To achieve this, the pointer to the dynamic loader is
- configured at install time since that path cannot be dynamically
- altered.
- This is the reason for a wrapper around the
- <filename>populate_sdk</filename> archive.
- </para>
-
- <para>
- Another feature is that only one set of cross-canadian toolchain
- binaries are produced per architecture.
- This feature takes advantage of the fact that the target hardware can
- be passed to <filename>gcc</filename> as a set of compiler options.
- Those options are set up by the environment script and contained in
- variables such as
- <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'><filename>CC</filename></ulink>
- and
- <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>.
- This reduces the space needed for the tools.
- Understand, however, that a sysroot is still needed for every target
- since those binaries are target-specific.
- </para>
-
- <para>
- Remember, before using any BitBake command, you
- must source the build environment setup script
- (i.e.
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
- or
- <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
- located in the Source Directory and you must make sure your
- <filename>conf/local.conf</filename> variables are correct.
- In particular, you need to be sure the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
- variable matches the architecture for which you are building and that
- the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink>
- variable is correctly set if you are building a toolchain designed to
- run on an architecture that differs from your current development host
- machine (i.e. the build machine).
- </para>
-
- <para>
- When the <filename>bitbake</filename> command completes, the toolchain
- installer will be in
- <filename>tmp/deploy/sdk</filename> in the Build Directory.
- <note>
- By default, this toolchain does not build static binaries.
- If you want to use the toolchain to build these types of libraries,
- you need to be sure your image has the appropriate static
- development libraries.
- Use the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></ulink>
- variable inside your <filename>local.conf</filename> file to
- install the appropriate library packages.
- Following is an example using <filename>glibc</filename> static
- development libraries:
- <literallayout class='monospaced'>
- IMAGE_INSTALL_append = " glibc-staticdev"
- </literallayout>
- </note>
- </para>
-</section>
-
-<section id='optionally-using-an-external-toolchain'>
- <title>Optionally Using an External Toolchain</title>
-
- <para>
- You might want to use an external toolchain as part of your
- development.
- If this is the case, the fundamental steps you need to accomplish
- are as follows:
- <itemizedlist>
- <listitem><para>
- Understand where the installed toolchain resides.
- For cases where you need to build the external toolchain, you
- would need to take separate steps to build and install the
- toolchain.
- </para></listitem>
- <listitem><para>
- Make sure you add the layer that contains the toolchain to
- your <filename>bblayers.conf</filename> file through the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink>
- variable.
- </para></listitem>
- <listitem><para>
- Set the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNAL_TOOLCHAIN'><filename>EXTERNAL_TOOLCHAIN</filename></ulink>
- variable in your <filename>local.conf</filename> file
- to the location in which you installed the toolchain.
- </para></listitem>
- </itemizedlist>
- A good example of an external toolchain used with the Yocto Project
- is <trademark class='registered'>Mentor Graphics</trademark>
- Sourcery G++ Toolchain.
- You can see information on how to use that particular layer in the
- <filename>README</filename> file at
- <ulink url='http://github.com/MentorEmbedded/meta-sourcery/'></ulink>.
- You can find further information by reading about the
- <ulink url='&YOCTO_DOCS_REF_URL;#var-TCMODE'><filename>TCMODE</filename></ulink>
- variable in the Yocto Project Reference Manual's variable glossary.
- </para>
-</section>
-
- <section id='using-pre-built'>
- <title>Example Using Pre-Built Binaries and QEMU</title>
-
- <para>
- If hardware, libraries and services are stable, you can get started by using a pre-built binary
- of the filesystem image, kernel, and toolchain and run it using the QEMU emulator.
- This scenario is useful for developing application software.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="figures/using-a-pre-built-image.png" format="PNG" align='center' scalefit='1'/>
- </imageobject>
- <caption>
- <para>Using a Pre-Built Image</para>
- </caption>
- </mediaobject>
-
- <para>
- For this scenario, you need to do several things:
- </para>
-
- <itemizedlist>
- <listitem><para>Install the appropriate stand-alone toolchain tarball.</para></listitem>
- <listitem><para>Download the pre-built image that will boot with QEMU.
- You need to be sure to get the QEMU image that matches your target machine's
- architecture (e.g. x86, ARM, etc.).</para></listitem>
- <listitem><para>Download the filesystem image for your target machine's architecture.
- </para></listitem>
- <listitem><para>Set up the environment to emulate the hardware and then start the QEMU emulator.
- </para></listitem>
- </itemizedlist>
-
- <section id='installing-the-toolchain'>
- <title>Installing the Toolchain</title>
-
- <para>
- You can download a tarball installer, which includes the
- pre-built toolchain, the <filename>runqemu</filename>
- script, and support files from the appropriate directory under
- <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>.
- Toolchains are available for 32-bit and 64-bit x86 development
- systems from the <filename>i686</filename> and
- <filename>x86_64</filename> directories, respectively.
- The toolchains the Yocto Project provides are based off the
- <filename>core-image-sato</filename> image and contain
- libraries appropriate for developing against that image.
- Each type of development system supports five or more target
- architectures.
- </para>
-
- <para>
- The names of the tarball installer scripts are such that a
- string representing the host system appears first in the
- filename and then is immediately followed by a string
- representing the target architecture.
- </para>
-
- <literallayout class='monospaced'>
- poky-glibc-<replaceable>host_system</replaceable>-<replaceable>image_type</replaceable>-<replaceable>arch</replaceable>-toolchain-<replaceable>release_version</replaceable>.sh
-
- Where:
- <replaceable>host_system</replaceable> is a string representing your development system:
-
- i686 or x86_64.
-
- <replaceable>image_type</replaceable> is a string representing the image you wish to
- develop a Software Development Toolkit (SDK) for use against.
- The Yocto Project builds toolchain installers using the
- following BitBake command:
-
- bitbake core-image-sato -c populate_sdk
-
- <replaceable>arch</replaceable> is a string representing the tuned target architecture:
-
- i586, x86_64, powerpc, mips, armv7a or armv5te
-
- <replaceable>release_version</replaceable> is a string representing the release number of the
- Yocto Project:
-
- &DISTRO;, &DISTRO;+snapshot
- </literallayout>
-
- <para>
- For example, the following toolchain installer is for a 64-bit
- development host system and a i586-tuned target architecture
- based off the SDK for <filename>core-image-sato</filename>:
- <literallayout class='monospaced'>
- poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
- </literallayout>
- </para>
-
- <para>
- Toolchains are self-contained and by default are installed into
- <filename>/opt/poky</filename>.
- However, when you run the toolchain installer, you can choose an
- installation directory.
- </para>
-
- <para>
- The following command shows how to run the installer given a toolchain tarball
- for a 64-bit x86 development host system and a 32-bit x86 target architecture.
- You must change the permissions on the toolchain
- installer script so that it is executable.
- </para>
-
- <para>
- The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>.
- <note>
- If you do not have write permissions for the directory into which you are installing
- the toolchain, the toolchain installer notifies you and exits.
- Be sure you have write permissions in the directory and run the installer again.
- </note>
- </para>
-
- <para>
- <literallayout class='monospaced'>
- $ ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
- </literallayout>
- </para>
-
- <para>
- For more information on how to install tarballs, see the
- "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" and
- "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>" sections in the Yocto Project Application Developer's Guide.
- </para>
- </section>
-
- <section id='downloading-the-pre-built-linux-kernel'>
- <title>Downloading the Pre-Built Linux Kernel</title>
-
- <para>
- You can download the pre-built Linux kernel suitable for running in the QEMU emulator from
- <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>.
- Be sure to use the kernel that matches the architecture you want to simulate.
- Download areas exist for the five supported machine architectures:
- <filename>qemuarm</filename>, <filename>qemumips</filename>, <filename>qemuppc</filename>,
- <filename>qemux86</filename>, and <filename>qemux86-64</filename>.
- </para>
-
- <para>
- Most kernel files have one of the following forms:
- <literallayout class='monospaced'>
- *zImage-qemu<replaceable>arch</replaceable>.bin
- vmlinux-qemu<replaceable>arch</replaceable>.bin
-
- Where:
- <replaceable>arch</replaceable> is a string representing the target architecture:
- x86, x86-64, ppc, mips, or arm.
- </literallayout>
- </para>
-
- <para>
- You can learn more about downloading a Yocto Project kernel in the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Yocto Project Kernel</ulink>"
- bulleted item in the Yocto Project Development Manual.
- </para>
- </section>
-
- <section id='downloading-the-filesystem'>
- <title>Downloading the Filesystem</title>
-
- <para>
- You can also download the filesystem image suitable for your target architecture from
- <ulink url='&YOCTO_QEMU_DL_URL;'></ulink>.
- Again, be sure to use the filesystem that matches the architecture you want
- to simulate.
- </para>
-
- <para>
- The filesystem image has two tarball forms: <filename>ext3</filename> and
- <filename>tar</filename>.
- You must use the <filename>ext3</filename> form when booting an image using the
- QEMU emulator.
- The <filename>tar</filename> form can be flattened out in your host development system
- and used for build purposes with the Yocto Project.
- <literallayout class='monospaced'>
- core-image-<replaceable>profile</replaceable>-qemu<replaceable>arch</replaceable>.ext3
- core-image-<replaceable>profile</replaceable>-qemu<replaceable>arch</replaceable>.tar.bz2
-
- Where:
- <replaceable>profile</replaceable> is the filesystem image's profile:
- lsb, lsb-dev, lsb-sdk, lsb-qt3, minimal, minimal-dev, sato,
- sato-dev, or sato-sdk. For information on these types of image
- profiles, see the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
- chapter in the Yocto Project Reference Manual.
-
- <replaceable>arch</replaceable> is a string representing the target architecture:
- x86, x86-64, ppc, mips, or arm.
- </literallayout>
- </para>
- </section>
-
- <section id='setting-up-the-environment-and-starting-the-qemu-emulator'>
- <title>Setting Up the Environment and Starting the QEMU Emulator</title>
-
- <para>
- Before you start the QEMU emulator, you need to set up the emulation environment.
- The following command form sets up the emulation environment.
- <literallayout class='monospaced'>
- $ source &YOCTO_ADTPATH_DIR;/environment-setup-<replaceable>arch</replaceable>-poky-linux-<replaceable>if</replaceable>
-
- Where:
- <replaceable>arch</replaceable> is a string representing the target architecture:
- i586, x86_64, ppc603e, mips, or armv5te.
-
- <replaceable>if</replaceable> is a string representing an embedded application binary interface.
- Not all setup scripts include this string.
- </literallayout>
- </para>
-
- <para>
- Finally, this command form invokes the QEMU emulator
- <literallayout class='monospaced'>
- $ runqemu <replaceable>qemuarch</replaceable> <replaceable>kernel-image</replaceable> <replaceable>filesystem-image</replaceable>
-
- Where:
- <replaceable>qemuarch</replaceable> is a string representing the target architecture: qemux86, qemux86-64,
- qemuppc, qemumips, or qemuarm.
-
- <replaceable>kernel-image</replaceable> is the architecture-specific kernel image.
-
- <replaceable>filesystem-image</replaceable> is the .ext3 filesystem image.
-
- </literallayout>
- </para>
-
- <para>
- Continuing with the example, the following two commands setup the emulation
- environment and launch QEMU.
- This example assumes the root filesystem (<filename>.ext3</filename> file) and
- the pre-built kernel image file both reside in your home directory.
- The kernel and filesystem are for a 32-bit target architecture.
- <literallayout class='monospaced'>
- $ cd $HOME
- $ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux
- $ runqemu qemux86 bzImage-qemux86.bin \
- core-image-sato-qemux86.ext3
- </literallayout>
- </para>
-
- <para>
- The environment in which QEMU launches varies depending on the filesystem image and on the
- target architecture.
- For example, if you source the environment for the ARM target
- architecture and then boot the minimal QEMU image, the emulator comes up in a new
- shell in command-line mode.
- However, if you boot the SDK image, QEMU comes up with a GUI.
- <note>Booting the PPC image results in QEMU launching in the same shell in
- command-line mode.</note>
- </para>
- </section>
-</section>
-
-</chapter>
-<!--
-vim: expandtab tw=80 ts=4
--->
diff --git a/documentation/adt-manual/adt-style.css b/documentation/adt-manual/adt-style.css
deleted file mode 100644
index 9d6221ae51..0000000000
--- a/documentation/adt-manual/adt-style.css
+++ /dev/null
@@ -1,986 +0,0 @@
-/*
- SPDX-License-Identifier: CC-BY-2.0-UK
-
- Generic XHTML / DocBook XHTML CSS Stylesheet.
-
- Browser wrangling and typographic design by
- Oyvind Kolas / pippin@gimp.org
-
- Customised for Poky by
- Matthew Allum / mallum@o-hand.com
-
- Thanks to:
- Liam R. E. Quin
- William Skaggs
- Jakub Steiner
-
- Structure
- ---------
-
- The stylesheet is divided into the following sections:
-
- Positioning
- Margins, paddings, width, font-size, clearing.
- Decorations
- Borders, style
- Colors
- Colors
- Graphics
- Graphical backgrounds
- Nasty IE tweaks
- Workarounds needed to make it work in internet explorer,
- currently makes the stylesheet non validating, but up until
- this point it is validating.
- Mozilla extensions
- Transparency for footer
- Rounded corners on boxes
-
-*/
-
-
- /*************** /
- / Positioning /
-/ ***************/
-
-body {
- font-family: Verdana, Sans, sans-serif;
-
- min-width: 640px;
- width: 80%;
- margin: 0em auto;
- padding: 2em 5em 5em 5em;
- color: #333;
-}
-
-h1,h2,h3,h4,h5,h6,h7 {
- font-family: Arial, Sans;
- color: #00557D;
- clear: both;
-}
-
-h1 {
- font-size: 2em;
- text-align: left;
- padding: 0em 0em 0em 0em;
- margin: 2em 0em 0em 0em;
-}
-
-h2.subtitle {
- margin: 0.10em 0em 3.0em 0em;
- padding: 0em 0em 0em 0em;
- font-size: 1.8em;
- padding-left: 20%;
- font-weight: normal;
- font-style: italic;
-}
-
-h2 {
- margin: 2em 0em 0.66em 0em;
- padding: 0.5em 0em 0em 0em;
- font-size: 1.5em;
- font-weight: bold;
-}
-
-h3.subtitle {
- margin: 0em 0em 1em 0em;
- padding: 0em 0em 0em 0em;
- font-size: 142.14%;
- text-align: right;
-}
-
-h3 {
- margin: 1em 0em 0.5em 0em;
- padding: 1em 0em 0em 0em;
- font-size: 140%;
- font-weight: bold;
-}
-
-h4 {
- margin: 1em 0em 0.5em 0em;
- padding: 1em 0em 0em 0em;
- font-size: 120%;
- font-weight: bold;
-}
-
-h5 {
- margin: 1em 0em 0.5em 0em;
- padding: 1em 0em 0em 0em;
- font-size: 110%;
- font-weight: bold;
-}
-
-h6 {
- margin: 1em 0em 0em 0em;
- padding: 1em 0em 0em 0em;
- font-size: 110%;
- font-weight: bold;
-}
-
-.authorgroup {
- background-color: transparent;
- background-repeat: no-repeat;
- padding-top: 256px;
- background-image: url("figures/adt-title.png");
- background-position: left top;
- margin-top: -256px;
- padding-right: 50px;
- margin-left: 0px;
- text-align: right;
- width: 740px;
-}
-
-h3.author {
- margin: 0em 0me 0em 0em;
- padding: 0em 0em 0em 0em;
- font-weight: normal;
- font-size: 100%;
- color: #333;
- clear: both;
-}
-
-.author tt.email {
- font-size: 66%;
-}
-
-.titlepage hr {
- width: 0em;
- clear: both;
-}
-
-.revhistory {
- padding-top: 2em;
- clear: both;
-}
-
-.toc,
-.list-of-tables,
-.list-of-examples,
-.list-of-figures {
- padding: 1.33em 0em 2.5em 0em;
- color: #00557D;
-}
-
-.toc p,
-.list-of-tables p,
-.list-of-figures p,
-.list-of-examples p {
- padding: 0em 0em 0em 0em;
- padding: 0em 0em 0.3em;
- margin: 1.5em 0em 0em 0em;
-}
-
-.toc p b,
-.list-of-tables p b,
-.list-of-figures p b,
-.list-of-examples p b{
- font-size: 100.0%;
- font-weight: bold;
-}
-
-.toc dl,
-.list-of-tables dl,
-.list-of-figures dl,
-.list-of-examples dl {
- margin: 0em 0em 0.5em 0em;
- padding: 0em 0em 0em 0em;
-}
-
-.toc dt {
- margin: 0em 0em 0em 0em;
- padding: 0em 0em 0em 0em;
-}
-
-.toc dd {
- margin: 0em 0em 0em 2.6em;
- padding: 0em 0em 0em 0em;
-}
-
-div.glossary dl,
-div.variablelist dl {
-}
-
-.glossary dl dt,
-.variablelist dl dt,
-.variablelist dl dt span.term {
- font-weight: normal;
- width: 20em;
- text-align: right;
-}
-
-.variablelist dl dt {
- margin-top: 0.5em;
-}
-
-.glossary dl dd,
-.variablelist dl dd {
- margin-top: -1em;
- margin-left: 25.5em;
-}
-
-.glossary dd p,
-.variablelist dd p {
- margin-top: 0em;
- margin-bottom: 1em;
-}
-
-
-div.calloutlist table td {
- padding: 0em 0em 0em 0em;
- margin: 0em 0em 0em 0em;
-}
-
-div.calloutlist table td p {
- margin-top: 0em;
- margin-bottom: 1em;
-}
-
-div p.copyright {
- text-align: left;
-}
-
-div.legalnotice p.legalnotice-title {
- margin-bottom: 0em;
-}
-
-p {
- line-height: 1.5em;
- margin-top: 0em;
-
-}
-
-dl {
- padding-top: 0em;
-}
-
-hr {
- border: solid 1px;
-}
-
-
-.mediaobject,
-.mediaobjectco {
- text-align: center;
-}
-
-img {
- border: none;
-}
-
-ul {
- padding: 0em 0em 0em 1.5em;
-}
-
-ul li {
- padding: 0em 0em 0em 0em;
-}
-
-ul li p {
- text-align: left;
-}
-
-table {
- width :100%;
-}
-
-th {
- padding: 0.25em;
- text-align: left;
- font-weight: normal;
- vertical-align: top;
-}
-
-td {
- padding: 0.25em;
- vertical-align: top;
-}
-
-p a[id] {
- margin: 0px;
- padding: 0px;
- display: inline;
- background-image: none;
-}
-
-a {
- text-decoration: underline;
- color: #444;
-}
-
-pre {
- overflow: auto;
-}
-
-a:hover {
- text-decoration: underline;
- /*font-weight: bold;*/
-}
-
-/* This style defines how the permalink character
- appears by itself and when hovered over with
- the mouse. */
-
-[alt='Permalink'] { color: #eee; }
-[alt='Permalink']:hover { color: black; }
-
-
-div.informalfigure,
-div.informalexample,
-div.informaltable,
-div.figure,
-div.table,
-div.example {
- margin: 1em 0em;
- padding: 1em;
- page-break-inside: avoid;
-}
-
-
-div.informalfigure p.title b,
-div.informalexample p.title b,
-div.informaltable p.title b,
-div.figure p.title b,
-div.example p.title b,
-div.table p.title b{
- padding-top: 0em;
- margin-top: 0em;
- font-size: 100%;
- font-weight: normal;
-}
-
-.mediaobject .caption,
-.mediaobject .caption p {
- text-align: center;
- font-size: 80%;
- padding-top: 0.5em;
- padding-bottom: 0.5em;
-}
-
-.epigraph {
- padding-left: 55%;
- margin-bottom: 1em;
-}
-
-.epigraph p {
- text-align: left;
-}
-
-.epigraph .quote {
- font-style: italic;
-}
-.epigraph .attribution {
- font-style: normal;
- text-align: right;
-}
-
-span.application {
- font-style: italic;
-}
-
-.programlisting {
- font-family: monospace;
- font-size: 80%;
- white-space: pre;
- margin: 1.33em 0em;
- padding: 1.33em;
-}
-
-.tip,
-.warning,
-.caution,
-.note {
- margin-top: 1em;
- margin-bottom: 1em;
-
-}
-
-/* force full width of table within div */
-.tip table,
-.warning table,
-.caution table,
-.note table {
- border: none;
- width: 100%;
-}
-
-
-.tip table th,
-.warning table th,
-.caution table th,
-.note table th {
- padding: 0.8em 0.0em 0.0em 0.0em;
- margin : 0em 0em 0em 0em;
-}
-
-.tip p,
-.warning p,
-.caution p,
-.note p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
- padding-right: 1em;
- text-align: left;
-}
-
-.acronym {
- text-transform: uppercase;
-}
-
-b.keycap,
-.keycap {
- padding: 0.09em 0.3em;
- margin: 0em;
-}
-
-.itemizedlist li {
- clear: none;
-}
-
-.filename {
- font-size: medium;
- font-family: Courier, monospace;
-}
-
-
-div.navheader, div.heading{
- position: absolute;
- left: 0em;
- top: 0em;
- width: 100%;
- background-color: #cdf;
- width: 100%;
-}
-
-div.navfooter, div.footing{
- position: fixed;
- left: 0em;
- bottom: 0em;
- background-color: #eee;
- width: 100%;
-}
-
-
-div.navheader td,
-div.navfooter td {
- font-size: 66%;
-}
-
-div.navheader table th {
- /*font-family: Georgia, Times, serif;*/
- /*font-size: x-large;*/
- font-size: 80%;
-}
-
-div.navheader table {
- border-left: 0em;
- border-right: 0em;
- border-top: 0em;
- width: 100%;
-}
-
-div.navfooter table {
- border-left: 0em;
- border-right: 0em;
- border-bottom: 0em;
- width: 100%;
-}
-
-div.navheader table td a,
-div.navfooter table td a {
- color: #777;
- text-decoration: none;
-}
-
-/* normal text in the footer */
-div.navfooter table td {
- color: black;
-}
-
-div.navheader table td a:visited,
-div.navfooter table td a:visited {
- color: #444;
-}
-
-
-/* links in header and footer */
-div.navheader table td a:hover,
-div.navfooter table td a:hover {
- text-decoration: underline;
- background-color: transparent;
- color: #33a;
-}
-
-div.navheader hr,
-div.navfooter hr {
- display: none;
-}
-
-
-.qandaset tr.question td p {
- margin: 0em 0em 1em 0em;
- padding: 0em 0em 0em 0em;
-}
-
-.qandaset tr.answer td p {
- margin: 0em 0em 1em 0em;
- padding: 0em 0em 0em 0em;
-}
-.answer td {
- padding-bottom: 1.5em;
-}
-
-.emphasis {
- font-weight: bold;
-}
-
-
- /************* /
- / decorations /
-/ *************/
-
-.titlepage {
-}
-
-.part .title {
-}
-
-.subtitle {
- border: none;
-}
-
-/*
-h1 {
- border: none;
-}
-
-h2 {
- border-top: solid 0.2em;
- border-bottom: solid 0.06em;
-}
-
-h3 {
- border-top: 0em;
- border-bottom: solid 0.06em;
-}
-
-h4 {
- border: 0em;
- border-bottom: solid 0.06em;
-}
-
-h5 {
- border: 0em;
-}
-*/
-
-.programlisting {
- border: solid 1px;
-}
-
-div.figure,
-div.table,
-div.informalfigure,
-div.informaltable,
-div.informalexample,
-div.example {
- border: 1px solid;
-}
-
-
-
-.tip,
-.warning,
-.caution,
-.note {
- border: 1px solid;
-}
-
-.tip table th,
-.warning table th,
-.caution table th,
-.note table th {
- border-bottom: 1px solid;
-}
-
-.question td {
- border-top: 1px solid black;
-}
-
-.answer {
-}
-
-
-b.keycap,
-.keycap {
- border: 1px solid;
-}
-
-
-div.navheader, div.heading{
- border-bottom: 1px solid;
-}
-
-
-div.navfooter, div.footing{
- border-top: 1px solid;
-}
-
- /********* /
- / colors /
-/ *********/
-
-body {
- color: #333;
- background: white;
-}
-
-a {
- background: transparent;
-}
-
-a:hover {
- background-color: #dedede;
-}
-
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-h7,
-h8 {
- background-color: transparent;
-}
-
-hr {
- border-color: #aaa;
-}
-
-
-.tip, .warning, .caution, .note {
- border-color: #fff;
-}
-
-
-.tip table th,
-.warning table th,
-.caution table th,
-.note table th {
- border-bottom-color: #fff;
-}
-
-
-.warning {
- background-color: #f0f0f2;
-}
-
-.caution {
- background-color: #f0f0f2;
-}
-
-.tip {
- background-color: #f0f0f2;
-}
-
-.note {
- background-color: #f0f0f2;
-}
-
-.glossary dl dt,
-.variablelist dl dt,
-.variablelist dl dt span.term {
- color: #044;
-}
-
-div.figure,
-div.table,
-div.example,
-div.informalfigure,
-div.informaltable,
-div.informalexample {
- border-color: #aaa;
-}
-
-pre.programlisting {
- color: black;
- background-color: #fff;
- border-color: #aaa;
- border-width: 2px;
-}
-
-.guimenu,
-.guilabel,
-.guimenuitem {
- background-color: #eee;
-}
-
-
-b.keycap,
-.keycap {
- background-color: #eee;
- border-color: #999;
-}
-
-
-div.navheader {
- border-color: black;
-}
-
-
-div.navfooter {
- border-color: black;
-}
-
-
- /*********** /
- / graphics /
-/ ***********/
-
-/*
-body {
- background-image: url("images/body_bg.jpg");
- background-attachment: fixed;
-}
-
-.navheader,
-.note,
-.tip {
- background-image: url("images/note_bg.jpg");
- background-attachment: fixed;
-}
-
-.warning,
-.caution {
- background-image: url("images/warning_bg.jpg");
- background-attachment: fixed;
-}
-
-.figure,
-.informalfigure,
-.example,
-.informalexample,
-.table,
-.informaltable {
- background-image: url("images/figure_bg.jpg");
- background-attachment: fixed;
-}
-
-*/
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-h7{
-}
-
-/*
-Example of how to stick an image as part of the title.
-
-div.article .titlepage .title
-{
- background-image: url("figures/white-on-black.png");
- background-position: center;
- background-repeat: repeat-x;
-}
-*/
-
-div.preface .titlepage .title,
-div.colophon .title,
-div.chapter .titlepage .title,
-div.article .titlepage .title
-{
-}
-
-div.section div.section .titlepage .title,
-div.sect2 .titlepage .title {
- background: none;
-}
-
-
-h1.title {
- background-color: transparent;
- background-repeat: no-repeat;
- height: 256px;
- text-indent: -9000px;
- overflow:hidden;
-}
-
-h2.subtitle {
- background-color: transparent;
- text-indent: -9000px;
- overflow:hidden;
- width: 0px;
- display: none;
-}
-
- /*************************************** /
- / pippin.gimp.org specific alterations /
-/ ***************************************/
-
-/*
-div.heading, div.navheader {
- color: #777;
- font-size: 80%;
- padding: 0;
- margin: 0;
- text-align: left;
- position: absolute;
- top: 0px;
- left: 0px;
- width: 100%;
- height: 50px;
- background: url('/gfx/heading_bg.png') transparent;
- background-repeat: repeat-x;
- background-attachment: fixed;
- border: none;
-}
-
-div.heading a {
- color: #444;
-}
-
-div.footing, div.navfooter {
- border: none;
- color: #ddd;
- font-size: 80%;
- text-align:right;
-
- width: 100%;
- padding-top: 10px;
- position: absolute;
- bottom: 0px;
- left: 0px;
-
- background: url('/gfx/footing_bg.png') transparent;
-}
-*/
-
-
-
- /****************** /
- / nasty ie tweaks /
-/ ******************/
-
-/*
-div.heading, div.navheader {
- width:expression(document.body.clientWidth + "px");
-}
-
-div.footing, div.navfooter {
- width:expression(document.body.clientWidth + "px");
- margin-left:expression("-5em");
-}
-body {
- padding:expression("4em 5em 0em 5em");
-}
-*/
-
- /**************************************** /
- / mozilla vendor specific css extensions /
-/ ****************************************/
-/*
-div.navfooter, div.footing{
- -moz-opacity: 0.8em;
-}
-
-div.figure,
-div.table,
-div.informalfigure,
-div.informaltable,
-div.informalexample,
-div.example,
-.tip,
-.warning,
-.caution,
-.note {
- -moz-border-radius: 0.5em;
-}
-
-b.keycap,
-.keycap {
- -moz-border-radius: 0.3em;
-}
-*/
-
-table tr td table tr td {
- display: none;
-}
-
-
-hr {
- display: none;
-}
-
-table {
- border: 0em;
-}
-
- .photo {
- float: right;
- margin-left: 1.5em;
- margin-bottom: 1.5em;
- margin-top: 0em;
- max-width: 17em;
- border: 1px solid gray;
- padding: 3px;
- background: white;
-}
- .seperator {
- padding-top: 2em;
- clear: both;
- }
-
- #validators {
- margin-top: 5em;
- text-align: right;
- color: #777;
- }
- @media print {
- body {
- font-size: 8pt;
- }
- .noprint {
- display: none;
- }
- }
-
-
-.tip,
-.note {
- background: #f0f0f2;
- color: #333;
- padding: 20px;
- margin: 20px;
-}
-
-.tip h3,
-.note h3 {
- padding: 0em;
- margin: 0em;
- font-size: 2em;
- font-weight: bold;
- color: #333;
-}
-
-.tip a,
-.note a {
- color: #333;
- text-decoration: underline;
-}
-
-.footnote {
- font-size: small;
- color: #333;
-}
-
-/* Changes the announcement text */
-.tip h3,
-.warning h3,
-.caution h3,
-.note h3 {
- font-size:large;
- color: #00557D;
-}
diff --git a/documentation/adt-manual/figures/adt-title.png b/documentation/adt-manual/figures/adt-title.png
deleted file mode 100644
index 6e71e41f1a..0000000000
--- a/documentation/adt-manual/figures/adt-title.png
+++ /dev/null
Binary files differ
diff --git a/documentation/adt-manual/figures/using-a-pre-built-image.png b/documentation/adt-manual/figures/using-a-pre-built-image.png
deleted file mode 100644
index b03130d123..0000000000
--- a/documentation/adt-manual/figures/using-a-pre-built-image.png
+++ /dev/null
Binary files differ