The populate_sdk_*
classes support SDK creation
and consist of the following classes:
populate_sdk_base
:
The base class supporting SDK creation under all package
managers (i.e. DEB, RPM, and opkg).
populate_sdk_deb
:
Supports creation of the SDK given the Debian package manager.
populate_sdk_rpm
:
Supports creation of the SDK given the RPM package manager.
populate_sdk_ipk
:
Supports creation of the SDK given the opkg (IPK format)
package manager.
populate_sdk_ext
:
Supports extensible SDK creation under all package managers.
The populate_sdk_base
class inherits the
appropriate populate_sdk_*
(i.e.
deb
, rpm
, and
ipk
) based on
IMAGE_PKGTYPE
.
The base class ensures all source and destination directories are
established and then populates the SDK.
After populating the SDK, the populate_sdk_base
class constructs two sysroots:
${
SDK_ARCH
}-nativesdk
,
which contains the cross-compiler and associated tooling, and the
target, which contains a target root filesystem that is configured for
the SDK usage.
These two images reside in
SDK_OUTPUT
,
which consists of the following:
${SDK_OUTPUT}/${SDK_ARCH}-nativesdk-pkgs
${SDK_OUTPUT}/${SDKTARGETSYSROOT}/target-pkgs
Finally, the base populate SDK class creates the toolchain environment setup script, the tarball of the SDK, and the installer.
The respective populate_sdk_deb
,
populate_sdk_rpm
, and
populate_sdk_ipk
classes each support the
specific type of SDK.
These classes are inherited by and used with the
populate_sdk_base
class.
For more information on the cross-development toolchain
generation, see the
"Cross-Development Toolchain Generation"
section in the Yocto Project Overview and Concepts Manual.
For information on advantages gained when building a
cross-development toolchain using the
do_populate_sdk
task, see the
"Building an SDK Installer"
section in the Yocto Project Application Development and the
Extensible Software Development Kit (eSDK) manual.