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:
parent
43c10b90ad
commit
35bd82a78f
|
@ -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 <imagename></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'>
|
||||
|
|
Loading…
Reference in New Issue