build/tmp/deploy/
- This directory contains any "end result" output from the OpenEmbedded build process.
+ This directory contains any "end result" output from the
+ OpenEmbedded build process.
+ The DEPLOY_DIR
+ variable points to this directory.
+ For more detail on the contents of the deploy
+ directory, see the
+ "Images and Application Development SDK"
+ section.
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml
index c7a49da946..6ae8ee50e0 100644
--- a/documentation/ref-manual/technical-details.xml
+++ b/documentation/ref-manual/technical-details.xml
@@ -796,6 +796,169 @@
do_package_write_ipk for IPK packages).
+
+
+ Images and Application Development SDK
+
+
+ The purpose of using the OpenEmbedded build system is to produce
+ an image or a Software Development Kit (SDK).
+ You can see from the main
+ Yocto Project Development Environment
+ figure that the output (shown in red) are images and SDKs.
+ This section is going to look more closely at this output:
+
+
+
+
+ Images
+
+
+ The images produced by BitBake are compressed forms of the
+ root filesystems that are ready to boot on a target device.
+ You can see the
+ "Images" chapter for a list
+ of example images that the Yocto Project provides.
+
+
+
+ Images are kept in the
+ Build Directory
+ inside the deploy/images folder as shown
+ in the figure.
+ This folder contains any files expected to be loaded on the
+ target device.
+ The
+ DEPLOY_DIR
+ variable points to the deploy directory.
+
+ <image>:
+ A *.bin image file.
+ The KERNEL_IMAGETYPE
+ variable setting determines the naming scheme for the
+ image file.
+ Depending on that variable, the file could begin with
+ a variety of naming strings.
+ The deploy/images directory can
+ contain multiple image files.
+ <root-filesystem>:
+ Root filesystems for the target device (e.g.
+ *.ext3 or *.bz2
+ files).
+ The IMAGE_FSTYPES
+ variable setting determines the root filesystem
+ type.
+ The deploy/images directory can
+ contain multiple root filesystems.
+ <kernel-modules>:
+ Tarballs that contain all the modules used by the
+ kernel.
+ Kernel module tarballs exist for legacy purposes and
+ can be suppressed by setting the
+ MODULE_TARBALL_DEPLOY
+ variable to "0".
+ The deploy/images directory can
+ contain multiple kernel module tarballs.
+
+ <bootloaders>:
+ Bootloaders supporting the image.
+ The deploy/images directory can
+ contain multiple bootloaders.
+
+ <symlinks>:
+ The images/deploy folder contains
+ a symbolic link for each actual file in the folder.
+ Links exist for all types of files (i.e. images,
+ root filesystems, bootloaders, and kernel module
+ tarballs).
+ The link scheme for images is such that a single link
+ exists for the most recently built image.
+ In addition to that single image link, additional
+ links exist on a one-for-one basis that map to each
+ physical image file.
+
+
+
+
+
+ Application Development SDK
+
+
+ An Application Development SDK (referred to as an
+ "SDK installer" in this section) is a self-extracting SDK
+ installer file (*.sh) that, when run,
+ installs a cross-development toolchain, a set of libraries
+ and headers, and an SDK environment setup script.
+ Running this installer essentially sets up your
+ cross-development environment.
+ You can think of the cross-toolchains as the "host" part
+ because they run on the SDK machine.
+ You can think of the libraries and headers as the "target"
+ part because they are built for the target hardware.
+ The setup script is added so that you can initialize the
+ environment before using the tools.
+
+
+
+
+ The Yocto Project supports several methods by which you can
+ set up this cross-development environment.
+ These methods include downloading pre-built SDK installers,
+ building and installing your own SKD installer, or running
+ an Application Development Toolkit (ADT) installer to
+ install not just cross-development toolchains
+ but also additional tools to help in this type of
+ development.
+
+
+
+ For background information on cross-development toolchains
+ in the Yocto Project development environment, see the
+ "Cross-Development Toolchain Generation"
+ section.
+ For information on setting up a cross-development
+ environment, see the
+ "Installing the ADT and Toolchains"
+ section in the Yocto Project Application Developer's Guide.
+
+
+
+
+ When built using BitBake, the SDK installers are kept in the
+ Build Directory
+ inside the deploy/sdk folder as shown
+ in the figure at the beginning of this section.
+ Several variables exist that help configure these files:
+
+ DEPLOY_DIR:
+ Points to the deploy
+ directory.
+ SDKMACHINE:
+ Specifies the architecture of the machine
+ on which the cross-development tools are run to
+ create packages for the target hardware.
+
+ SDKIMAGE_FEATURES:
+ Lists the features to include in the libraries.
+
+ TOOLCHAIN_HOSTS_TASKS:
+ Lists packages that make up the host
+ part of the SDK installer (i.e. the part that runs on
+ the SDKMACHINE).
+ When you use bitbake sdk_populate
+ to create the SDK installer, a set of default tasks
+ apply.
+ This variable allows you to add more tasks.
+
+ TOOLCHAIN_TARGET_TASKS:
+ Lists packages that make up the target part
+ of the SDK installer (i.e. the part built for the
+ target hardware).
+
+
+
+
+