diff --git a/documentation/Makefile b/documentation/Makefile index e286ea4ddc..e3a0db4c22 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/images-sdk.png + figures/package-feeds.png figures/layer-input.png figures/images.png figures/sdk.png endif MANUALS = $(DOC)/$(DOC).html @@ -215,7 +215,7 @@ TARFILES = ref-manual.html ref-style.css figures/poky-title.png \ 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/images-sdk.png + figures/images.png figures/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 deleted file mode 100644 index c124a452a3..0000000000 Binary files a/documentation/mega-manual/figures/images-sdk.png and /dev/null differ diff --git a/documentation/mega-manual/figures/images.png b/documentation/mega-manual/figures/images.png new file mode 100644 index 0000000000..09b83c2864 Binary files /dev/null and b/documentation/mega-manual/figures/images.png differ diff --git a/documentation/mega-manual/figures/sdk.png b/documentation/mega-manual/figures/sdk.png new file mode 100644 index 0000000000..3dddad37bb Binary files /dev/null and b/documentation/mega-manual/figures/sdk.png differ diff --git a/documentation/ref-manual/figures/images-sdk.png b/documentation/ref-manual/figures/images-sdk.png deleted file mode 100644 index c124a452a3..0000000000 Binary files a/documentation/ref-manual/figures/images-sdk.png and /dev/null differ diff --git a/documentation/ref-manual/figures/images.png b/documentation/ref-manual/figures/images.png new file mode 100644 index 0000000000..09b83c2864 Binary files /dev/null and b/documentation/ref-manual/figures/images.png differ diff --git a/documentation/ref-manual/figures/sdk.png b/documentation/ref-manual/figures/sdk.png new file mode 100644 index 0000000000..3dddad37bb Binary files /dev/null and b/documentation/ref-manual/figures/sdk.png differ diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index 1d19ffd07f..6ddecd994d 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml @@ -362,8 +362,9 @@ variable points to this directory. For more detail on the contents of the deploy directory, see the - "Images and Application Development SDK" - section. + "Images" and + "Application Development SDK" + sections. diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index d65733ec4e..714346fc18 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -780,8 +780,7 @@ Core layer for images cannot be removed Points to the area that the OpenEmbedded build system uses - to place images and their related files created with - BitBake. + to place images and their related files. By default, this directory resides within the Build Directory as tmp/deploy. @@ -794,8 +793,9 @@ Core layer for images cannot be removed section. For more detail on the contents of the deploy directory, see the - "Images and Application Development SDK" - section. + "Images" and + "Application Development SDK" + sections. @@ -4008,18 +4008,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" - TOOLCHAIN_HOSTS_TASKS + TOOLCHAIN_HOST_TASK - This variable lists packages BitBake uses when it builds - an SDK installer, which is used to extract and set up a + This variable lists packages the OpenEmbedded build system + uses when building an SDK, which contains a cross-development environment. The packages specified by this variable are part of the toolchain set that runs on the - SDKMACHINE. - When you build an SDK installer using BitBake, a set of - default tasks apply. - The tasks you specify here are added to those defaults. + SDKMACHINE, + and each package should usually have the prefix + "nativesdk-". + When building an SDK using + bitbake -c populate_sdk <imagename>, + a default list of packages is set in this variable, but + you can add additional packages to the list. @@ -4035,11 +4038,11 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" - TOOLCHAIN_TARGET_TASKS + TOOLCHAIN_TARGET_TASK This variable lists packages BitBake uses when it creates - the target part of an SDK installer (i.e. the part built + the target part of an SDK (i.e. the part built for the target hardware), which includes libraries and headers. diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml index 6ae8ee50e0..97fd629a74 100644 --- a/documentation/ref-manual/technical-details.xml +++ b/documentation/ref-manual/technical-details.xml @@ -172,7 +172,7 @@ - The generalized Yocto Project Devevelopment Environment consists of + The generalized Yocto Project Development Environment consists of several functional areas: User Configuration: @@ -797,167 +797,170 @@ -
- Images and Application Development SDK +
+ Images - The purpose of using the OpenEmbedded build system is to produce - an image or a Software Development Kit (SDK). + The images produced by the OpenEmbedded build system + are compressed forms of the + root filesystems that are ready to boot on a target device. You can see from the main Yocto Project Development Environment - figure that the output (shown in red) are images and SDKs. + figure that BitBake output in part consists of images. This section is going to look more closely at this output: - + -
- Images + + For a list of example images that the Yocto Project provides, + the + "Images" chapter. + + + Images are written out to 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. + + <kernel-image>: + A kernel binary file. + The KERNEL_IMAGETYPE + variable setting determines the naming scheme for the + kernel 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-image>: + Root filesystems for the target device (e.g. + *.ext3 or *.bz2 + files). + The IMAGE_FSTYPES + variable setting determines the root filesystem image + 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, if applicable to the + target machine. + The deploy/images directory can + contain multiple bootloaders. + + <symlinks>: + The images/deploy folder contains + a symbolic link that points to the most recently built file + for each machine. + These links might be useful for external scripts that + need to obtain the latest version of each file. + + + +
+ +
+ Application Development SDK + + + In the overview figure of the + Yocto Project Development Environment + the output labeled "Application Development SDK" represents an + SDK. + This section is going to take a closer look at this output: + + + + + The specific form of this output is a self-extracting + SDK installer (*.sh) that, when run, + installs the SDK image, which consists of 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 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. + 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 SDK 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. - 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. - + 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. -
+ -
- 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). - - - -
+ + Once built, the SDK installers are written out to the + deploy/sdk folder inside the + Build Directory + 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 "target" part + of the SDK. + + TOOLCHAIN_HOST_TASK: + 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 -c populate_sdk <imagename> + to create the SDK installer, a set of default packages + apply. + This variable allows you to add more packages. + + TOOLCHAIN_TARGET_TASK: + Lists packages that make up the target part + of the SDK installer (i.e. the part built for the + target hardware). + + +