From 4b23d26063790c4dad466cf8a0af8ba4a0970f1d Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 2 Aug 2013 16:56:40 +0300 Subject: [PATCH] ref-manual, mega-manual: New section for images/SDK Fixes [YOCTO #2808] Added a new section for the closer look at how BitBake creates images and the SDK installer files. This included the section itself, a new .PNG figure that had to be added to the figures directory of both the ref-manual and the mega-manual. Finally, the Makefile needed to be edited so that the tarballs for the ref-manual and mega-manual also included the new figure. Signed-off-by: Richard Purdie --- documentation/Makefile | 5 +- .../mega-manual/figures/images-sdk.png | Bin 0 -> 24595 bytes .../ref-manual/figures/images-sdk.png | Bin 0 -> 24595 bytes documentation/ref-manual/ref-structure.xml | 9 +- .../ref-manual/technical-details.xml | 163 ++++++++++++++++++ 5 files changed, 174 insertions(+), 3 deletions(-) create mode 100644 documentation/mega-manual/figures/images-sdk.png create mode 100644 documentation/ref-manual/figures/images-sdk.png diff --git a/documentation/Makefile b/documentation/Makefile index ca70bce772..e286ea4ddc 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -198,7 +198,7 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png figures figures/sched-wakeup-profile.png figures/sysprof-callers.png \ figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png figures/cross-development-toolchains.png \ figures/yocto-environment-ref.png figures/user-configuration.png figures/source-input.png \ - figures/package-feeds.png figures/layer-input.png + figures/package-feeds.png figures/layer-input.png figures/images-sdk.png endif MANUALS = $(DOC)/$(DOC).html @@ -214,7 +214,8 @@ TARFILES = ref-manual.html ref-style.css figures/poky-title.png \ figures/buildhistory.png figures/buildhistory-web.png eclipse \ figures/cross-development-toolchains.png figures/layer-input.png \ figures/package-feeds.png figures/source-input.png \ - figures/user-configuration.png figures/yocto-environment-ref.png + figures/user-configuration.png figures/yocto-environment-ref.png \ + figures/images-sdk.png MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf $(DOC)/eclipse FIGURES = figures STYLESHEET = $(DOC)/*.css diff --git a/documentation/mega-manual/figures/images-sdk.png b/documentation/mega-manual/figures/images-sdk.png new file mode 100644 index 0000000000000000000000000000000000000000..c124a452a3b3e227ecc037c16953e49b79d4a561 GIT binary patch literal 24595 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 literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/figures/images-sdk.png b/documentation/ref-manual/figures/images-sdk.png new file mode 100644 index 0000000000000000000000000000000000000000..c124a452a3b3e227ecc037c16953e49b79d4a561 GIT binary patch literal 24595 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 literal 0 HcmV?d00001 diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index d482511516..1d19ffd07f 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml @@ -356,7 +356,14 @@ <filename>build/tmp/deploy/</filename> - 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). + + + +
+