In the general Yocto Project Development Environment figure, 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, 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-toolchain as the "host"
part because it runs 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 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.
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.
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 (i.e. the part that runs on
the SDKMACHINE
).
When you use
bitbake -c populate_sdk
to create the SDK, a set of default packages
apply.
This variable allows you to add more packages.
imagename
TOOLCHAIN_TARGET_TASK
:
Lists packages that make up the target part
of the SDK (i.e. the part built for the
target hardware).
SDKPATH
:
Defines the default SDK installation path offered by the
installation script.