summaryrefslogtreecommitdiff
path: root/poky/documentation/adt-manual
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2020-09-18 22:11:35 +0300
committerAndrew Geissler <geissonator@yahoo.com>2020-10-06 01:10:26 +0300
commitc9f7865a347606a64696048817b0f09d9c3fcd31 (patch)
tree00db80fae3599061617c0cb052a57302620882ec /poky/documentation/adt-manual
parentd1a90aa35d35426789d8f4061166a6dd8d27a30e (diff)
downloadopenbmc-c9f7865a347606a64696048817b0f09d9c3fcd31.tar.xz
poky: subtree update:c67f57c09e..c6bc20857c
Adrian Freihofer (2): oe-publish-sdk: fix layers init via ssh oe-publish-sdk: add --keep-orig option Alexander Kanavin (68): meta-selftest: correct the virgl test for 5.8 kernels bison: upgrade 3.6.4 -> 3.7.1 util-linux: upgrade 2.35.2 -> 2.36 python3-numpy: upgrade 1.19.0 -> 1.19.1 python3-setuptools: upgrade 49.3.1 -> 49.6.0 rsync: upgrade 3.2.2 -> 3.2.3 util-linux: merge .inc into .bb acpica: upgrade 20200528 -> 20200717 asciidoc: upgrade 9.0.1 -> 9.0.2 cryptodev: upgrade 1.10 -> 1.11 diffoscope: upgrade 153 -> 156 epiphany: upgrade 3.36.3 -> 3.36.4 font-alias: upgrade 1.0.3 -> 1.0.4 gtk+3: upgrade 3.24.21 -> 3.24.22 libcheck: upgrade 0.15.0 -> 0.15.2 libinput: upgrade 1.16.0 -> 1.16.1 libpipeline: upgrade 1.5.2 -> 1.5.3 libx11: upgrade 1.6.9 -> 1.6.11 linux-firmware: upgrade 20200619 -> 20200721 man-pages: upgrade 5.07 -> 5.08 mc: upgrade 4.8.24 -> 4.8.25 mesa: upgrade 20.1.4 -> 20.1.5 piglit: upgrade to latest revision re2c: upgrade 2.0 -> 2.0.2 sysstat: upgrade 12.2.2 -> 12.4.0 vala: upgrade 0.48.7 -> 0.48.9 bootchart2: update 0.14.8 -> 0.14.9 harfbuzz: convert to meson, enable gobject introspection pango: update 1.44.7 -> 1.46.0 boost: update 1.73.0 -> 1.74.0 xev: update 1.2.3 -> 1.2.4 wpebackend-fdo: update 1.6.1 -> 1.7.1 gpgme: update 1.13.1 -> 1.14.0 libpsl: update 0.21.0 -> 0.21.1. gettext: update 0.20.2 -> 0.21 cmake: update 3.17.3 -> 3.18.1 linux-firmware: update 20200721 -> 20200817 meson: update 0.55.0 -> 0.55.1 systemd-boot: bump version to 246.2 json-glib: inherit upstream-version-is-even packagegroup-core-device-devel: remove oeqa/x32lib: rework to use readelf from the host oeqa/multilib: rework to use readelf from the host oeqa/multilib: un-skip the connman test poky.conf: do not install packagegroup-core-device-devel into qemu images glib-2.0: update 2.64.4 -> 2.64.5 cmake: upgrade 3.18.1 -> 3.18.2 libxcrypt: upgrade 4.4.16 -> 4.4.17 debianutils: upgrade 4.11 -> 4.11.1 enchant2: upgrade 2.2.8 -> 2.2.9 harfbuzz: upgrade 2.7.1 -> 2.7.2 libmpc: upgrade 1.1.0 -> 1.2.0 librepo: upgrade 1.12.0 -> 1.12.1 libuv: upgrade 1.38.1 -> 1.39.0 msmtp: upgrade 1.8.11 -> 1.8.12 ninja: upgrade 1.10.0 -> 1.10.1 p11-kit: upgrade 0.23.20 -> 0.23.21 pango: upgrade 1.46.0 -> 1.46.1 re2c: upgrade 2.0.2 -> 2.0.3 resolvconf: upgrade 1.82 -> 1.83 stress-ng: upgrade 0.11.18 -> 0.11.19 gnu-config: update to latest revision nasm: update 2.15.03 -> 2.15.05 libva-utils: fix upstream version check gnupg: update 2.2.21 -> 2.2.22 libx11: update 1.6.11 -> 1.6.12 mesa: update 20.1.5 -> 20.1.6 xserver-xorg: update 1.20.8 -> 1.20.9 Andrey Zhizhikin (1): insane: check for missing update-alternatives inherit Anibal Limon (1): recipes-kernel: linux-firmware add qcom-venus-{5.2,5.4} packages Aníbal Limón (1): recipes-graphics/xorg-xserver: Add patch to fix segfault when probe Armin Kuster (2): bind: update to 9.11.22 ESV core-image-sato: qemumips use 512 mem Bruce Ashfield (30): linux-yocto/5.4: update to v5.4.59 linux-yocto/5.8: update to v5.8.2 yocto-bsp: update to v5.4.56 yocto-bsp: update to v5.4.58 qemu: bump default reference kernel to v5.8 linux-yocto/5.8: fix perf and virtio_scsi warnings linux-yocto-rt/5.8: fix lttng-modules build linux-yocto/5.8: selftests/bpf: Prevent runqslower from racing on building bpftool linux-yocto/5.8: disable CONFIG_NFS_DISABLE_UDP_SUPPORT poky: set preferred version for linux-yocto to be v5.8 poky-tiny: set preferred version to 5.8 poky: add preferred version for linux-yocto-rt linux-yocto/5.8: update to v5.8.3 linux-yocto/5.4: update to v5.4.60 kernel: config cleanups for 5.8+ linux-yocto/5.4: update to v5.4.61 linux-yocto/5.8: update to v5.8.4 linux-yocto/5.8: disable IKHEADERS in default builds kernel-yocto: allow promotion of configuration warnings to errors kernel-yocto: checksum all modifications to available kernel fragments directories lttng-modules/devupstream: bump to latest 2.12 commits linux-yocto-dev: bump to v5.9+ linux-yocto/5.8: update to v5.8.5 kernel-devsrc: account for HOSTCC and HOSTCXX linux-yocto/config: netfilter: Enable nat for ipv4 and ipv6 linux-yocto/5.8: update to v5.8.8 linux-yocto/5.4: update to v5.4.64 linux-yocto/config: configuration warning cleanup linux-yocto/5.8: update to v5.8.9 linux-yocto/5.4: update to v5.4.65 Changhyeok Bae (2): iw: upgrade 5.4 -> 5.8 iputils: upgrade s20190709 -> s20200821 Chris Laplante (12): bitbake: compat.py: remove file since it no longer actually implements anything bitbake: COW: formatting bitbake: COW: migrate test suite into tests/cow cve-update-db-native: add progress handler cve-check/cve-update-db-native: use lockfile to fix usage under multiconfig cve-update-db-native: use context manager for cve_f cve-check: avoid FileNotFoundError if no do_cve_check task has run bitbake: utils: process_profilelog: use context manager bitbake: utils: fix UnboundLocalError when _print_exception raises cve-update-db-native: be less magical about checking whether the cve-check class is enabled cve-update-db-native: move -journal checking into do_fetch cve-update-db-native: remove unused variable Christophe GUIBOUT (1): initramfs-framework: support kernel cmdline with double quotes Denys Dmytriyenko (2): weston: upgrade 8.0.0 -> 9.0.0 cryptodev: bump 1 commit past 1.11 to fix 5.9-rc1+ Diego Sueiro (2): license_image.bbclass: Create symlink to the image license manifest dir license_image.bbclass: Fix symlink to the image license manifest dir creation Douglas Royds (1): tcmode-default: Drop gcc-cross-initial, gcc-crosssdk-initial references Frazer Clews (1): bitbake: lib: fix most undefined code picked up by pylint Geoff Parker (1): systemd-serialgetty: Replace sed quoting using ' with " to allow var expansion Jacob Kroon (1): gcc10: Don't default back to -fcommon Jean-Francois Dagenais (1): bitbake: siggen: clean_basepath: remove recipe full path when virtual:xyz present Jens Rehsack (1): lttng-modules: backport patches from 2.12.x to fix 5.4.64+ and 5.8.9+ builds Joe Slater (1): pseudo: fix renaming to self Jon Mason (4): cortex-m0plus.inc: change file permissions tune-cortexa55.inc: clean-up ARMv8.2a uses tune-cortexa57-cortexa53.inc: add CRC and set march tune-cortexa*: Cleanups Joshua Watt (8): wic: Add 512 Byte alignment to --offset oeqa: runtime_tests: Extra GPG debugging oeqa: sdk: Capture stderr output oeqa: reproducible: Fix test not producing diffs diffoscope: upgrade 156 -> 158 bitbake: bitbake: Add parsing torture test bitbake: cooker: Block SIGINT in worker processes sphinx: dev-manual: Clarify that virtual providers do not apply to runtime dependencies Kai Kang (1): dhcpcd: 9.1.4 -> 9.2.0 Kevin Hao (1): meta-yocto-bsp: Bump to the v5.8 kernel Khairul Rohaizzat Jamaluddin (1): wic/bootimg-efi: IMAGE_EFI_BOOT_FILES variable added to separate bootimg-efi and bootimg-partition Khem Raj (24): gcc-cross-canadian: Install gcc/g++ wrappers for musl uninative: Upgrade to 2.9 packagegroup-core-tools-profile: Disable lttng-modules for riscv64 lttng-modules: Disable on riscv64 kexec-tools: Fix build with -fno-common on ppc lttng-tools: Do not build for riscv64 util-linux: Allow update alternatives for additional apps lttng-tools: lttng-ust works on riscv64 json-glib: Backport a build fix with clang rpcbind: Use update-alternatives for rpcinfo go: Upgrade to 1.15 major release weston-init: Redefine weston service and add socket activation option musl: Upgrade to latest master libucontext: Recognise riscv32 architecture linuxloader.bbclass: Define riscv32 ldso for musl populate_sdk_ext: Do not assume local.conf will always exist weston: plane_add_prop() calls break musl atomic modesetting weston-init: Enable RDP screen share weston-init: Do not use fbdev backend weston-init: Select drm/fbdev backends for qemu machines oeqa/weston: Fix tests to run with systemd core-image-weston: Bump qemu memory to 512M go: Update to 1.15.2 minor release bind: Inherit update-alternatives Mark Hatle (6): package_tar.bbclass: Sync to the other package_* classes kernel.bbclass: Remove do_install[prefunc] no longer needed buildhistory.bbclass: Rework to use read_subpackage_metadata kernel.bbclass: Move away from calling package_get_auto_pr package.bbclass: hash equivalency and pr service bitbake: process.py: Handle SystemExit exception to eliminate backtrace Mark Morton (1): sphinx: test-manual code block, link, and format update Martin Jansa (7): devtool: expand SRC_URI when guessing recipe update mode image-artifact-names: introduce new bbclass and move some variables into it kernel.bbclass: use bash variables like imageType, base_name without {} kernel.bbclass: eliminate (initramfs_)symlink_name variables kernel.bbclass: use camelCase notation for bash variables in do_deploy *-initramfs: don't use .rootfs IMAGE_NAME_SUFFIX bitbake.conf: use ${TCMODE}-${TCLIBC} directory for CACHE Matt Madison (1): image.bbclass: fix REPRODUCIBLE_TIMESTAMP_ROOTFS reference Michael Gloff (2): sysvinit rc: Use PSPLASH_FIFO_DIR for progress fifo sysvinit: Remove ${B} assignment Michael Tretter (1): devtool: deploy-target: Fix size calculation for hard links Ming Liu (2): systemd: split systemd specific udev rules into its own package libubootenv: inherit uboot-config Mingli Yu (3): qemu: always define unknown_lock_type qemu: override DEBUG_BUILD bison: remove the parallel build patch Naveen Saini (1): lib/oe/recipeutils.py: add support for BBFILES_DYNAMIC Nicolas Dechesne (73): linux-libc-headers: kernel headers are installed in STAGING_KERNEL_BUILDDIR bitbake: sphinx: add initial build infrastructure bitbake: sphinx: initial sphinx support bitbake: sphinx: bitbake-user-manual: use builtin sphinx glossary bitbake: sphinx: switch to readthedocs theme bitbake: sphinx: override theme CSS bitbake: sphinx: fixup for links bitbake: sphinx: fix links inside notes bitbake: sphinx: fixes all remaining warnings bitbake: sphinx: Makefile.sphinx: add clean and publish targets bitbake: sphinx: tweak html output a bit bitbake: sphinx: add SPDX headers bitbake: sphinx: index: move the boilerplate at the end of the page bitbake: sphinx: conf: enable extlinks extension bitbake: sphinx: add releases page bitbake: sphinx: bitbake-user-manual: insert additional blank line after title bitbake: sphinx: last manual round of fixes/improvements bitbake: sphinx: update style for important, caution and warnings bitbake: sphinx: remove leading '/' bitbake: sphinx: theme_override: properly set font for verbatim text bitbake: bitbake-user-manual: fix bad links sphinx: add initial build infrastructure sphinx: initial sphinx support sphinx: ref-variables: use builtin sphinx glossary sphinx: overview-manual: add figures sphinx: switch to readthedocs theme sphinx: Add SPDX license headers sphinx: add CSS theme override sphinx: bsp-guide: add figures sphinx: add Yocto project logo sphinx: conf: update copyright sphinx: conf: add substitutions/global variables sphinx: add boilerplate file sphinx: add boilerplate to manuals sphinx: ref-manual: add revision history table sphinx: add a general index sphinx: conf.py: enable sphinx.ext.autosectionlabel sphinx: ref-manual: use builtin glossary for the Terms section sphinx: fix internal links sphinx: ref-manual: fix typo sphinx: fix custom term links sphinx: manual updates for some links sphinx: dev-manual add figures sphinx: kernel-dev: add figures sphinx: profile-manual: add figures sphinx: fix up bold text for informalexample container sphinx: ref-manual: add figures sphinx: sdk-manual: add figures sphinx: test-manual: add figures sphinx: toaster-manual: add figures sphinx: add links for Yocto project website sphinx: fix links when the link text should be displayed sphinx: add links to terms in the BitBake glossary sphinx: add links to section in the Bitbake manual sphinx: setup extlink for docs.yoctoproject.org sphinx: enable intersphinx extension sphinx: insert blank below between title and toc sphinx: fix up terms related to kernel-fitimage sphinx: conf: a few rendering tweaks sphinx: makefile: add publish target sphinx: conf: include CSS/JS files, the proper way sphinx: convert 'what I wish I'd known' sphinx: convert 'transitioning to a custom environment' sphinx: ref-manual: fix heading for oe-init-build-env sphinx: brief-yoctoprojectqs: fix up all remaining rendering issues sphinx: Makefile.sphinx improvements sphinx: convert bsp-guide sphinx: remove leading '/' sphinx: update style for important, caution and warnings sphinx: profile-manual: convert profile-manual sphinx: theme_override: properly set font for verbatim text sphinx: theme_override: add tying-it-together admonition sphinx: conf: exclude adt-manual/*.rst Oleksandr Kravchuk (1): ell: update to 0.33 Ovidiu Panait (1): libxml2: Fix CVE-2020-24977 Peter A. Bigot (2): bluez5: fix builds that require ell support timezone: include leap second data in tzdata-core Peter Bergin (1): systemd: avoid failing if no udev rules provided Pierre-Jean Texier (2): libubootenv: upgrade 0.3 -> 0.3.1 diffoscope: upgrade 158 -> 160 Quentin Schulz (16): sphinx: brief-yoctoprojectqs: remove redundant welcome sphinx: brief-yoctoprojectqs: fix ambiguous note for cyclone5 example sphinx: brief-yoctoprojectqs: add missing boilerplate sphinx: overview-manual: add link to AUH how-to section sphinx: overview-manual: fix bitbake basic explanation sphinx: brief-yoctoprojectqs: add note on branch consistency between layers sphinx: what-i-wish-id-known: update "don't be fooled by doc search results" sphinx: overview-manual: remove highlight in bold section sphinx: replace special quotes with single and double quotes sphinx: fix incorrect indentations sphinx: brief-yoctoprojectqs: put other distros note after Ubuntu-specific packages sphinx: fix a few typos or missing/too many words sphinx: "highlight" some variables, tasks or files sphinx: fix or add missing links and remove mention of Eclipse workflow ref-manual: examples: hello-autotools: upgrade to 2.10 ref-manual: examples: libxpm: add relative path to .inc Rahul Kumar (1): systemd-serialgetty: Fix sed expression quoting Rasmus Villemoes (1): kernel.bbclass: run do_symlink_kernsrc before do_patch Richard Purdie (74): nativesdk-sdk-provides-dummy: Add /bin/sh bitbake: fetch2/wget: Remove buffering parameter bitbake: cooker: Ensure parse_quit thread is closed down bitbake: cooker: Explictly shut down the sync thread bitbake: fetch2: Drop cups.org from wget status checks bitbake: build/msg: Cleanup verbose option handling bitbake: cooker/cookerdata/main: Improve loglevel handling bitbake: cookerdata: Ensure UI options are updated to the server bitbake: cooker/cookerdata: Ensure UI event log is updated from commandline bitbake: cooker: Defer configuration init to after UI connection bitbake: server/process: Move the socket code to server process only bitbake: main/server/process: Drop configuration object passing bitbake: cooker: Ensure BB_ORIGENV is updated by changes to configuration.env bitbake: server/process: Log extra threads at exit bitbake: server/process: Add bitbake-server and exec() a new server process bitbake: runqueue: Don't use sys.argv bitbake: cooker: Ensure cooker's enviroment is updated on updateConfig connman-gnome/matchbox-desktop: Remove file:// globbing selftest/recipetool: Drop globbing SRC_URI test, no longer supported local.conf.sample: Document memory resident bitbake bitbake: fetch2: Drop globbing supprt in file:// SRC_URIs bitbake: server/process: Use sys.executable for bitbake-server bitbake: process: Avoid bb.utils.timeout bitbake: utils: Drop broken timeout function bitbake: server/process: Fix typo in code causing tracebacks oeqa/selftest: Apply patch to fix cpio build with -fno-common runqemu: Show an error for conflicting graphics options lttng: Move platform logic to dedicated inc file patchelf: upgrade 0.11 -> 0.12 build-appliance/packagegroup-core-base-utils: Replace dhcp-client/dhcp-server with dhcpcd/kea selftest/prservice: Improve test failure message iputils: Adapt ${PN}-tftpd package dependency to PACKAGECONFIG bitbake: process/knotty: Improve early exception handling bitbake: cooker/cookerdata: Use BBHandledException, not sys.exit() bitbake: cookerdata: Fix exception raise statements bitbake: process: Avoid printing binary strings for leftover processes bitbake: server/process: Ensure logging is flushed bitbake: server/process: Don't show tracebacks if the lockfile is removed bitbake: cooker: Ensure parser replacement calls parser final_cleanup bitbake: cooker: Assign a name to the sync thread to aid debugging bitbake: server/process: Ensure we don't keep looping if some other server is started bitbake: server/process: Prefix the log data with pid/time information bitbake: server/process: Note when commands complete in logs bitbake: cooker: Ensure parser is cleaned up runqemu: Add a hook to allow it to renice bitbake: cooker: Avoid parser deadlocks bitbake: cooker: Ensure parser worker signal handlers are default selftest/signing: Ensure build path relocation is safe oeqa/concurrencytest: Improve builddir path manipulations bitbake: cooker/command: Fix disconnection handling bitbake: tinfoil: Ensure sockets don't leak even when exceptions occur bitbake: tests/fetch: Move away from problematic freedesktop.org urls bitbake: sphinx: Enhance the sphinx experience/nagivation with: bitbake: sphinx: theme_override: Use bold for emphasis text Revert "qemu: always define unknown_lock_type" Revert "core-image-sato: qemumips use 512 mem" sphinx: Organize top level docs sphinx: releases.rst: Add index/links to docs for previous releases sphinx: boilerplate.rst: Drop versions notes as we have better navigation now sphinx: boilerplate.rst: Sphinx puts the copyright elsewhere sphinx: history: Move revision history to its own section sphinx: manuals: Move boilerplate after toctree sphinx: Add support for multiple docs version sphinx: index.rst: Fix links sphinx: ref-system-requirements: Improve formatting of the notes sections, merging them sphinx: ref-manual links fixes and many other cleanups to import sphinx: dev-manual: Various URL, code block and other fixes to imported data sphinx: sdk-manual: Various URL, code block and other fixes to imported data sphinx: kernel-dev: Various URL, code block and other fixes to imported data sphinx: theme_override: Use bold for emphasis text sphinx: ref-tasks: Add populate_sdk_ext task definition sphinx: ref-manual/migration: Split each release into its own file sphinx: overview-manual: Various URL, code block and other fixes to imported data build-appliance-image: Update to master head revision Robert Yang (3): bitbake: cooker.py: Save prioritized BBFILES to BBFILES_PRIORITIZED bitbake: utils.py: get_file_layer(): Exit the loop when file is matched bitbake: utils.py: get_file_layer(): Improve performance Ross Burton (25): package.bbclass: explode the RPROVIDES so we don't think the versions are provides elfutils: silence a new QA warning insane: improve gnu-hash-style warning gdk-pixbuf: add tests PACKAGECONFIG debianutils: change SRC_URI to use snapshot.debian.org insane: only load real files as ELF autoconf: consolidate SRC_URI autoconf: consolidate DEPENDS kea: no need to depend on kea-native kea: don't use PACKAGECONFIG inappropriately kea: bump to 1.7.10 help2man: rewrite recipe local.conf.sample.extended: remove help2man reference curl: add vendors to CVE_PRODUCT to exclude false positives harfbuzz: update patch status harfbuzz: fix a build race around hb-version.h cmake: whitelist CVE-2016-10642 ncurses: remove config.cache qemu: fix CVE-2020-14364 cve-update-db-native: remove unused import cve-update-db-native: add more logging when fetching cve-update-db-native: use fetch task alsa-plugins: improve .la removal sato-screenshot: improve .la removal buildhistory-diff: use BUILDDIR to know where buildhistory is Saul Wold (1): gnupg: uprev 2.2.22 -> 2.2.23 Stacy Gaikovaia (2): bison: uprev from 3.7.1 to 3.7.2 valgrind: fix memcheck vgtests remove fullpath-after flags Steve Sakoman (1): xinput-calibrator: change SRC_URI to branch with libinput support Sumit Garg (1): insane: fix gnu-hash-style check TeohJayShen (1): oeqa/runtime: add test for matchbox-terminal Tim Orling (1): sphinx: toaster-manual: fix vars, links, code blocks Vijai Kumar K (2): image_types_wic: Add ASSUME_PROVIDED to WICVARS wic: misc: Add /bin to the list of searchpaths Yanfei Xu (1): kernel-yocto: only replace leading -I in include paths Yi Zhao (1): glib-networking: add ptest Zhixiong Chi (1): gnutls: CVE-2020-24659 akuster (8): log4cplus: move meta-oe pkg to core kea: Move from meta-networking maintainers.inc: Add me as kea & log4plus maintainer. dhcpcd: Move from meta-network as OE-Core needs a client maintainers.inc: Add me as dhcpcd maintainer dhcp: remove from core bind: Add 9.16.x bind: 9.11 remove hongxu (1): sysstat: fix installed-vs-shipped QA Issue in systemd zangrc (4): libcap:upgrade 2.42 -> 2.43 libcap-ng:upgrade 0.7.10 -> 0.7.11 libgpg-error:upgrade 1.38 -> 1.39 at-spi2-core:upgrade 2.36.0 -> 2.36.1 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I5542f5eea751a2641342e945725fd687cd74bebe
Diffstat (limited to 'poky/documentation/adt-manual')
-rw-r--r--poky/documentation/adt-manual/adt-command.rst180
-rw-r--r--poky/documentation/adt-manual/adt-intro.rst138
-rw-r--r--poky/documentation/adt-manual/adt-manual-intro.rst24
-rw-r--r--poky/documentation/adt-manual/adt-manual.rst17
-rw-r--r--poky/documentation/adt-manual/adt-package.rst70
-rw-r--r--poky/documentation/adt-manual/adt-prepare.rst752
-rw-r--r--poky/documentation/adt-manual/adt-prepare.xml4
7 files changed, 1183 insertions, 2 deletions
diff --git a/poky/documentation/adt-manual/adt-command.rst b/poky/documentation/adt-manual/adt-command.rst
new file mode 100644
index 000000000..de854772b
--- /dev/null
+++ b/poky/documentation/adt-manual/adt-command.rst
@@ -0,0 +1,180 @@
+.. 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/poky/documentation/adt-manual/adt-intro.rst b/poky/documentation/adt-manual/adt-intro.rst
new file mode 100644
index 000000000..5372f4f54
--- /dev/null
+++ b/poky/documentation/adt-manual/adt-intro.rst
@@ -0,0 +1,138 @@
+.. 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/poky/documentation/adt-manual/adt-manual-intro.rst b/poky/documentation/adt-manual/adt-manual-intro.rst
new file mode 100644
index 000000000..4e98da16d
--- /dev/null
+++ b/poky/documentation/adt-manual/adt-manual-intro.rst
@@ -0,0 +1,24 @@
+.. 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/poky/documentation/adt-manual/adt-manual.rst b/poky/documentation/adt-manual/adt-manual.rst
new file mode 100644
index 000000000..695230c5c
--- /dev/null
+++ b/poky/documentation/adt-manual/adt-manual.rst
@@ -0,0 +1,17 @@
+.. 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/poky/documentation/adt-manual/adt-package.rst b/poky/documentation/adt-manual/adt-package.rst
new file mode 100644
index 000000000..787d406e6
--- /dev/null
+++ b/poky/documentation/adt-manual/adt-package.rst
@@ -0,0 +1,70 @@
+.. 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/poky/documentation/adt-manual/adt-prepare.rst b/poky/documentation/adt-manual/adt-prepare.rst
new file mode 100644
index 000000000..9b6bd0514
--- /dev/null
+++ b/poky/documentation/adt-manual/adt-prepare.rst
@@ -0,0 +1,752 @@
+.. 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/poky/documentation/adt-manual/adt-prepare.xml b/poky/documentation/adt-manual/adt-prepare.xml
index 684eb75c5..2dc984325 100644
--- a/poky/documentation/adt-manual/adt-prepare.xml
+++ b/poky/documentation/adt-manual/adt-prepare.xml
@@ -232,7 +232,7 @@
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.
+ choose "I" for interactive mode rather than "S" for silent mode.
Follow the prompts from the script to complete the installation.
</para>
@@ -765,7 +765,7 @@
<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
+ 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>