ref-manual: New section on SDK generation

Fixes [YOCTO #2808]

New section on the deeper look at SDK generation.  This is a first
draft.

(From yocto-docs rev: 54438f1a9dac847d2d03ca1cb9a2b00de9369dbe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-09-16 16:19:51 -07:00 committed by Richard Purdie
parent 43c10b90ad
commit 35bd82a78f
1 changed files with 79 additions and 0 deletions

View File

@ -964,6 +964,85 @@
filesystem have correct ownership.
</note>
</section>
<section id='sdk-generation-dev-environment'>
<title>SDK Generation</title>
<para>
The OpenEmbedded build system uses BitBake to generate the
Software Development Kit (SDK) installer script and the
cross-development environment setup script:
<imagedata fileref="figures/sdk-generation.png" align="center" width="6in" depth="7in" />
</para>
<note>
For more information on the cross-development toolchain
generation, see the
"<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>"
section.
</note>
<para>
Like image generation, the SDK script process consists of
several stages and depends on many variables.
The <filename>do_populate_sdk</filename> task uses these
key variables to help create the list of packages to actually
install:
<itemizedlist>
<listitem><para><link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>:
Points to the <filename>deploy</filename>
directory.</para></listitem>
<listitem><para><link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>:
Specifies the architecture of the machine
on which the cross-development tools are run to
create packages for the target hardware.
</para></listitem>
<listitem><para><link linkend='var-SDKIMAGE_FEATURES'><filename>SDKIMAGE_FEATURES</filename></link>:
Lists the features to include in the "target" part
of the SDK.
</para></listitem>
<listitem><para><link linkend='var-TOOLCHAIN_HOST_TASK'><filename>TOOLCHAIN_HOST_TASK</filename></link>:
Lists packages that make up the host
part of the SDK (i.e. the part that runs on
the <filename>SDKMACHINE</filename>).
When you use
<filename>bitbake -c populate_sdk &lt;imagename&gt;</filename>
to create the SDK, a set of default packages
apply.
This variable allows you to add more packages.
</para></listitem>
<listitem><para><link linkend='var-TOOLCHAIN_TARGET_TASK'><filename>TOOLCHAIN_TARGET_TASK</filename></link>:
Lists packages that make up the target part
of the SDK (i.e. the part built for the
target hardware).
</para></listitem>
</itemizedlist>
</para>
<para>
The <filename>do_populate_sdk</filename> task handles two
parts: a target part and a host part.
The target part is the part built for the target hardware and
includes libraries and headers.
The host part is the part of the SDK that runs on the
<link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>.
</para>
<para>
Once both parts are constructed, the
<filename>do_populate_sdk</filename> task performs some cleanup
on both parts.
After the cleanup, the task creates a cross-development
environment setup script and any configuration files that
might be needed.
</para>
<para>
The final output of the task is the Cross-development
toolchain installation script (<filename>.sh</filename> file)
and the environment setup script.
</para>
</section>
</section>
<section id='images-dev-environment'>