aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/closer-look.xml
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2013-09-16 16:19:51 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-09-22 12:20:47 +0100
commit35bd82a78f4d087e3c927c8d44939173d2a2fbba (patch)
treef4cbd56b939f95903920e57ed4ceb066bca4e9be /documentation/ref-manual/closer-look.xml
parent43c10b90ad8f66af74b6fafecacd213132bb565e (diff)
downloadopenembedded-core-contrib-35bd82a78f4d087e3c927c8d44939173d2a2fbba.tar.gz
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>
Diffstat (limited to 'documentation/ref-manual/closer-look.xml')
-rw-r--r--documentation/ref-manual/closer-look.xml79
1 files changed, 79 insertions, 0 deletions
diff --git a/documentation/ref-manual/closer-look.xml b/documentation/ref-manual/closer-look.xml
index 0a6c56c048..9ce92af910 100644
--- a/documentation/ref-manual/closer-look.xml
+++ b/documentation/ref-manual/closer-look.xml
@@ -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'>