]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
ref-manual: New section on SDK generation
authorScott Rifenbark <scott.m.rifenbark@intel.com>
Mon, 16 Sep 2013 23:19:51 +0000 (16:19 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 22 Sep 2013 11:20:47 +0000 (12:20 +0100)
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>
documentation/ref-manual/closer-look.xml

index 0a6c56c04879596812c7423beeef9d8ebf013ccc..9ce92af9102ff1e47298c32892193ce5f7e0f8e1 100644 (file)
                 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'>