adt-manual: Emphasis on populate_sdk as bitbake method for building toolchain

I updated the "Optionally Building a Toolchain Installer" section
to emphasize using 'bitbake <image> -c populate_sdk' as the method
for building outa toolchain.  Before the change, equal emphasis was
put on for this preferred method and the 'bitbake meta-toolchain'
method.

(From yocto-docs rev: 447ad6167570bf1bd227771153de421d1154443d)

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 2015-05-04 08:45:03 -07:00 committed by Richard Purdie
parent 95108a1c34
commit 2a95850d64
1 changed files with 48 additions and 42 deletions

View File

@ -622,26 +622,33 @@
<para> <para>
As an alternative to locating and downloading a toolchain installer, As an alternative to locating and downloading a toolchain installer,
you can build the toolchain installer one of two ways if you have a you can build the toolchain installer if you have a
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>: <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
<itemizedlist> <note>
<listitem><para> Although not the preferred method, it is also possible to use
Use <filename>bitbake meta-toolchain</filename>. <filename>bitbake meta-toolchain</filename> to build the toolchain
This method requires you to still install the target installer.
sysroot by installing and extracting it separately. If you do use this method, you must separately install and extract
the target sysroot.
For information on how to install the sysroot, see the For information on how to install the sysroot, see the
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" "<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>"
section. section.
</para></listitem> </note>
<listitem><para>
Use <filename>bitbake</filename> <replaceable>image</replaceable> <filename>-c populate_sdk</filename>.
This method has significant advantages over the previous method
because it results in a toolchain installer that contains the
sysroot that matches your target root filesystem.
</para> </para>
<para>Another powerful feature is that the toolchain is <para>
completely self-contained. To build the toolchain installer and populate the SDK image, use the
following command:
<literallayout class='monospaced'>
$ bitbake <replaceable>image</replaceable> -c populate_sdk
</literallayout>
The command results in a toolchain installer that contains the sysroot
that matches your target root filesystem.
</para>
<para>
Another powerful feature is that the toolchain is completely
self-contained.
The binaries are linked against their own copy of The binaries are linked against their own copy of
<filename>libc</filename>, which results in no dependencies <filename>libc</filename>, which results in no dependencies
on the target system. on the target system.
@ -649,23 +656,22 @@
configured at install time since that path cannot be dynamically configured at install time since that path cannot be dynamically
altered. altered.
This is the reason for a wrapper around the This is the reason for a wrapper around the
<filename>populate_sdk</filename> archive.</para> <filename>populate_sdk</filename> archive.
</para>
<para>Another feature is that only one set of cross-canadian <para>
toolchain binaries are produced per architecture. Another feature is that only one set of cross-canadian toolchain
This feature takes advantage of the fact that the target binaries are produced per architecture.
hardware can be passed to <filename>gcc</filename> as a set of This feature takes advantage of the fact that the target hardware can
compiler options. be passed to <filename>gcc</filename> as a set of compiler options.
Those options are set up by the environment script and Those options are set up by the environment script and contained in
contained in variables such as variables such as
<ulink url='&YOCTO_DOCS_REF_URL;#var-CC'><filename>CC</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-CC'><filename>CC</filename></ulink>
and and
<ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>. <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>.
This reduces the space needed for the tools. This reduces the space needed for the tools.
Understand, however, that a sysroot is still needed for every Understand, however, that a sysroot is still needed for every target
target since those binaries are target-specific. since those binaries are target-specific.
</para></listitem>
</itemizedlist>
</para> </para>
<para> <para>