2011-03-14 20:19:44 +00:00
|
|
|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
2012-03-06 23:06:44 +00:00
|
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
|
|
|
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
|
2011-03-14 20:19:44 +00:00
|
|
|
|
2011-03-14 21:27:51 +00:00
|
|
|
<chapter id='adt-prepare'>
|
2011-03-14 20:19:44 +00:00
|
|
|
|
2012-07-17 21:03:51 +00:00
|
|
|
<title>Preparing for Application Development</title>
|
2011-03-14 20:19:44 +00:00
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<para>
|
2012-07-17 21:03:51 +00:00
|
|
|
In order to develop applications, you need set up your host development system.
|
2012-12-07 23:19:36 +00:00
|
|
|
Several ways exist that allow you to install cross-development tools, QEMU, the
|
2012-07-17 21:03:51 +00:00
|
|
|
Eclipse Yocto Plug-in, and other tools.
|
|
|
|
This chapter describes how to prepare for application development.
|
2011-06-23 14:24:43 +00:00
|
|
|
</para>
|
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<section id='installing-the-adt'>
|
2012-07-17 21:03:51 +00:00
|
|
|
<title>Installing the ADT and Toolchains</title>
|
2011-06-23 14:24:43 +00:00
|
|
|
|
2011-03-14 20:19:44 +00:00
|
|
|
<para>
|
2012-07-17 21:03:51 +00:00
|
|
|
The following list describes installation methods that set up varying degrees of tool
|
2012-11-14 19:36:19 +00:00
|
|
|
availability on your system.
|
2012-07-17 21:03:51 +00:00
|
|
|
Regardless of the installation method you choose,
|
|
|
|
you must <filename>source</filename> the cross-toolchain
|
|
|
|
environment setup script before you use a toolchain.
|
2012-12-07 23:19:36 +00:00
|
|
|
See the "<link linkend='setting-up-the-cross-development-environment'>Setting Up the
|
2012-07-17 21:03:51 +00:00
|
|
|
Cross-Development Environment</link>" section for more information.
|
2012-06-26 20:29:31 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<note>
|
2012-07-17 21:03:51 +00:00
|
|
|
<para>Avoid mixing installation methods when installing toolchains for different architectures.
|
2012-06-26 20:29:31 +00:00
|
|
|
For example, avoid using the ADT Installer to install some toolchains and then hand-installing
|
2012-12-07 23:19:36 +00:00
|
|
|
cross-development toolchains by running the toolchain installer for different architectures.
|
2012-06-26 20:29:31 +00:00
|
|
|
Mixing installation methods can result in situations where the ADT Installer becomes
|
|
|
|
unreliable and might not install the toolchain.</para>
|
2012-12-07 23:19:36 +00:00
|
|
|
<para>If you must mix installation methods, you might avoid problems by deleting
|
|
|
|
<filename>/var/lib/opkg</filename>, thus purging the <filename>opkg</filename> package
|
2012-06-26 20:29:31 +00:00
|
|
|
metadata</para>
|
|
|
|
</note>
|
2012-12-07 23:19:36 +00:00
|
|
|
|
2012-06-26 20:29:31 +00:00
|
|
|
<para>
|
2011-06-23 14:24:43 +00:00
|
|
|
<itemizedlist>
|
2013-04-17 00:34:10 +00:00
|
|
|
<listitem><para><emphasis>Use the ADT installer script:</emphasis>
|
2011-09-01 16:18:33 +00:00
|
|
|
This method is the recommended way to install the ADT because it
|
|
|
|
automates much of the process for you.
|
|
|
|
For example, you can configure the installation to install the QEMU emulator
|
2012-12-07 23:19:36 +00:00
|
|
|
and the user-space NFS, specify which root filesystem profiles to download,
|
2011-09-01 16:18:33 +00:00
|
|
|
and define the target sysroot location.</para></listitem>
|
2013-04-17 00:34:10 +00:00
|
|
|
<listitem><para><emphasis>Use an existing toolchain:</emphasis>
|
2011-09-01 16:18:33 +00:00
|
|
|
Using this method, you select and download an architecture-specific
|
2012-09-13 21:01:58 +00:00
|
|
|
toolchain installer and then run the script to hand-install the toolchain.
|
2012-12-07 23:19:36 +00:00
|
|
|
If you use this method, you just get the cross-toolchain and QEMU - you do not
|
2011-09-01 16:18:33 +00:00
|
|
|
get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem>
|
2013-04-17 00:34:10 +00:00
|
|
|
<listitem><para><emphasis>Use the toolchain from within the Build Directory:</emphasis>
|
2012-12-07 23:19:36 +00:00
|
|
|
If you already have a
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
|
2012-07-17 21:03:51 +00:00
|
|
|
you can build the cross-toolchain within the directory.
|
2012-12-07 23:19:36 +00:00
|
|
|
However, like the previous method mentioned, you only get the cross-toolchain and QEMU - you
|
2011-09-01 16:18:33 +00:00
|
|
|
do not get any of the other benefits without taking separate steps.</para></listitem>
|
2011-06-23 14:24:43 +00:00
|
|
|
</itemizedlist>
|
2011-03-14 20:19:44 +00:00
|
|
|
</para>
|
2011-03-14 23:47:21 +00:00
|
|
|
|
2011-06-23 14:24:43 +00:00
|
|
|
<section id='using-the-adt-installer'>
|
|
|
|
<title>Using the ADT Installer</title>
|
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
To run the ADT Installer, you need to get the ADT Installer tarball, be sure
|
|
|
|
you have the necessary host development packages that support the ADT Installer,
|
2012-11-01 16:30:29 +00:00
|
|
|
and then run the ADT Installer Script.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
For a list of the host packages needed to support ADT installation and use, see the
|
2012-12-07 23:19:36 +00:00
|
|
|
"ADT Installer Extras" lists in the
|
2012-11-01 16:30:29 +00:00
|
|
|
"<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" section
|
|
|
|
of the Yocto Project Reference Manual.
|
2011-03-14 20:19:44 +00:00
|
|
|
</para>
|
|
|
|
|
2011-06-23 14:24:43 +00:00
|
|
|
<section id='getting-the-adt-installer-tarball'>
|
|
|
|
<title>Getting the ADT Installer Tarball</title>
|
2011-03-14 23:47:21 +00:00
|
|
|
|
2011-06-23 14:24:43 +00:00
|
|
|
<para>
|
|
|
|
The ADT Installer is contained in the ADT Installer tarball.
|
2013-10-24 16:51:38 +00:00
|
|
|
You can get the tarball using either of these methods:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para><emphasis>Download the Tarball:</emphasis>
|
|
|
|
You can download the tarball from
|
|
|
|
<ulink url='&YOCTO_ADTINSTALLER_DL_URL;'></ulink> into
|
|
|
|
any directory.</para></listitem>
|
|
|
|
<listitem><para><emphasis>Build the Tarball:</emphasis>
|
2014-03-14 14:07:05 +00:00
|
|
|
You can use
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink>
|
|
|
|
to generate the tarball inside an existing
|
2013-10-24 16:51:38 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
|
|
|
|
</para>
|
|
|
|
<para>If you use BitBake to generate the ADT Installer
|
|
|
|
tarball, you must <filename>source</filename> the
|
|
|
|
environment setup script
|
|
|
|
(<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
|
|
|
|
or
|
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
|
|
|
|
located in the Source Directory before running the
|
2014-03-14 14:07:05 +00:00
|
|
|
<filename>bitbake</filename> command that creates the
|
|
|
|
tarball.</para>
|
2013-10-24 16:51:38 +00:00
|
|
|
<para>The following example commands establish
|
|
|
|
the
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
|
|
|
|
check out the current release branch, set up the
|
|
|
|
build environment while also creating the default
|
2014-03-14 14:07:05 +00:00
|
|
|
Build Directory, and run the
|
|
|
|
<filename>bitbake</filename> command that results in the
|
|
|
|
tarball
|
2013-11-07 22:23:56 +00:00
|
|
|
<filename>poky/build/tmp/deploy/sdk/adt_installer.tar.bz2</filename>:
|
2013-10-24 16:51:38 +00:00
|
|
|
<note>
|
|
|
|
Before using BitBake to build the ADT tarball, be
|
|
|
|
sure to make sure your
|
|
|
|
<filename>local.conf</filename> file is properly
|
|
|
|
configured.
|
|
|
|
</note>
|
|
|
|
<literallayout class='monospaced'>
|
2011-06-23 14:24:43 +00:00
|
|
|
$ cd ~
|
2013-10-24 16:51:38 +00:00
|
|
|
$ git clone git://git.yoctoproject.org/poky
|
|
|
|
$ cd poky
|
|
|
|
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
|
|
|
|
$ source &OE_INIT_FILE;
|
2011-06-23 14:24:43 +00:00
|
|
|
$ bitbake adt-installer
|
2013-10-24 16:51:38 +00:00
|
|
|
</literallayout></para></listitem>
|
|
|
|
</itemizedlist>
|
2011-06-23 14:24:43 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
|
|
|
<section id='configuring-and-running-the-adt-installer-script'>
|
|
|
|
<title>Configuring and Running the ADT Installer Script</title>
|
|
|
|
|
|
|
|
<para>
|
2011-08-15 14:38:02 +00:00
|
|
|
Before running the ADT Installer script, you need to unpack the tarball.
|
2011-06-23 14:24:43 +00:00
|
|
|
You can unpack the tarball in any directory you wish.
|
2012-12-07 23:19:36 +00:00
|
|
|
For example, this command copies the ADT Installer tarball from where
|
|
|
|
it was built into the home directory and then unpacks the tarball into
|
2012-01-13 15:02:31 +00:00
|
|
|
a top-level directory named <filename>adt-installer</filename>:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
$ cd ~
|
2013-11-07 22:23:56 +00:00
|
|
|
$ cp poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME
|
2012-01-13 15:02:31 +00:00
|
|
|
$ tar -xjf adt_installer.tar.bz2
|
|
|
|
</literallayout>
|
2012-12-07 23:19:36 +00:00
|
|
|
Unpacking it creates the directory <filename>adt-installer</filename>,
|
2011-09-02 18:51:55 +00:00
|
|
|
which contains the ADT Installer script (<filename>adt_installer</filename>)
|
|
|
|
and its configuration file (<filename>adt_installer.conf</filename>).
|
2011-06-23 14:24:43 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
Before you run the script, however, you should examine the ADT Installer configuration
|
|
|
|
file and be sure you are going to get what you want.
|
2011-06-23 14:24:43 +00:00
|
|
|
Your configurations determine which kernel and filesystem image are downloaded.
|
|
|
|
</para>
|
|
|
|
|
2012-12-07 23:19:36 +00:00
|
|
|
<para>
|
|
|
|
The following list describes the configurations you can define for the ADT Installer.
|
|
|
|
For configuration values and restrictions, see the comments in
|
2011-06-23 14:24:43 +00:00
|
|
|
the <filename>adt-installer.conf</filename> file:
|
|
|
|
|
|
|
|
<itemizedlist>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para><filename>YOCTOADT_REPO</filename>: This area
|
|
|
|
includes the IPKG-based packages and the root filesystem upon which
|
|
|
|
the installation is based.
|
|
|
|
If you want to set up your own IPKG repository pointed to by
|
|
|
|
<filename>YOCTOADT_REPO</filename>, you need to be sure that the
|
|
|
|
directory structure follows the same layout as the reference directory
|
|
|
|
set up at <ulink url='http://adtrepo.yoctoproject.org'></ulink>.
|
2011-09-01 16:18:33 +00:00
|
|
|
Also, your repository needs to be accessible through HTTP.</para></listitem>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para><filename>YOCTOADT_TARGETS</filename>: The machine
|
|
|
|
target architectures for which you want to set up cross-development
|
2011-09-01 16:18:33 +00:00
|
|
|
environments.</para></listitem>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para><filename>YOCTOADT_QEMU</filename>: Indicates whether
|
2011-09-01 16:18:33 +00:00
|
|
|
or not to install the emulator QEMU.</para></listitem>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para><filename>YOCTOADT_NFS_UTIL</filename>: Indicates whether
|
|
|
|
or not to install user-mode NFS.
|
|
|
|
If you plan to use the Eclipse IDE Yocto plug-in against QEMU,
|
2011-09-01 16:18:33 +00:00
|
|
|
you should install NFS.
|
2012-12-07 23:19:36 +00:00
|
|
|
<note>To boot QEMU images using our userspace NFS server, you need
|
|
|
|
to be running <filename>portmap</filename> or <filename>rpcbind</filename>.
|
|
|
|
If you are running <filename>rpcbind</filename>, you will also need to add the
|
|
|
|
<filename>-i</filename> option when <filename>rpcbind</filename> starts up.
|
|
|
|
Please make sure you understand the security implications of doing this.
|
|
|
|
You might also have to modify your firewall settings to allow
|
2011-09-01 16:18:33 +00:00
|
|
|
NFS booting to work.</note></para></listitem>
|
2014-10-16 23:53:39 +00:00
|
|
|
<listitem><para><filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>: The root
|
2012-12-07 23:19:36 +00:00
|
|
|
filesystem images you want to download from the
|
2011-09-01 16:18:33 +00:00
|
|
|
<filename>YOCTOADT_IPKG_REPO</filename> repository.</para></listitem>
|
2014-10-16 23:53:39 +00:00
|
|
|
<listitem><para><filename>YOCTOADT_TARGET_SYSROOT_IMAGE_</filename><replaceable>arch</replaceable>: The
|
2011-09-01 16:18:33 +00:00
|
|
|
particular root filesystem used to extract and create the target sysroot.
|
2012-12-07 23:19:36 +00:00
|
|
|
The value of this variable must have been specified with
|
2014-10-16 23:53:39 +00:00
|
|
|
<filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>.
|
2012-12-07 23:19:36 +00:00
|
|
|
For example, if you downloaded both <filename>minimal</filename> and
|
|
|
|
<filename>sato-sdk</filename> images by setting
|
2014-10-16 23:53:39 +00:00
|
|
|
<filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>
|
|
|
|
to "minimal sato-sdk", then <filename>YOCTOADT_ROOTFS_</filename><replaceable>arch</replaceable>
|
2014-03-14 14:14:31 +00:00
|
|
|
must be set to either "minimal" or "sato-sdk".
|
|
|
|
</para></listitem>
|
2014-10-16 23:53:39 +00:00
|
|
|
<listitem><para><filename>YOCTOADT_TARGET_SYSROOT_LOC_</filename><replaceable>arch</replaceable>: The
|
2011-09-01 16:18:33 +00:00
|
|
|
location on the development host where the target sysroot is created.
|
|
|
|
</para></listitem>
|
2011-06-23 14:24:43 +00:00
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
2011-03-14 23:47:21 +00:00
|
|
|
|
2011-06-23 14:24:43 +00:00
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
After you have configured the <filename>adt_installer.conf</filename> file,
|
2014-01-08 12:45:50 +00:00
|
|
|
run the installer using the following command:
|
2011-06-23 14:24:43 +00:00
|
|
|
<literallayout class='monospaced'>
|
2013-11-07 22:23:56 +00:00
|
|
|
$ cd adt-installer
|
2012-03-23 18:23:09 +00:00
|
|
|
$ ./adt_installer
|
2011-06-23 14:24:43 +00:00
|
|
|
</literallayout>
|
2013-03-01 20:22:44 +00:00
|
|
|
Once the installer begins to run, you are asked to enter the
|
|
|
|
location for cross-toolchain installation.
|
|
|
|
The default location is
|
2014-10-16 23:53:39 +00:00
|
|
|
<filename>/opt/poky/</filename><replaceable>release</replaceable>.
|
2013-03-01 20:22:44 +00:00
|
|
|
After either accepting the default location or selecting your
|
|
|
|
own location, you are prompted to run the installation script
|
|
|
|
interactively or in silent mode.
|
|
|
|
If you want to closely monitor the installation,
|
|
|
|
choose “I” for interactive mode rather than “S” for silent mode.
|
2011-06-23 14:24:43 +00:00
|
|
|
Follow the prompts from the script to complete the installation.
|
|
|
|
</para>
|
2011-03-14 20:19:44 +00:00
|
|
|
|
2011-06-23 14:24:43 +00:00
|
|
|
<para>
|
2013-03-01 20:22:44 +00:00
|
|
|
Once the installation completes, the ADT, which includes the
|
|
|
|
cross-toolchain, is installed in the selected installation
|
|
|
|
directory.
|
|
|
|
You will notice environment setup files for the cross-toolchain
|
|
|
|
in the installation directory, and image tarballs in the
|
|
|
|
<filename>adt-installer</filename> directory according to your
|
|
|
|
installer configurations, and the target sysroot located
|
|
|
|
according to the
|
2014-10-16 23:53:39 +00:00
|
|
|
<filename>YOCTOADT_TARGET_SYSROOT_LOC_</filename><replaceable>arch</replaceable>
|
2013-03-01 20:22:44 +00:00
|
|
|
variable also in your configuration file.
|
2011-06-23 14:24:43 +00:00
|
|
|
</para>
|
2011-09-01 16:18:33 +00:00
|
|
|
</section>
|
2011-03-14 23:47:21 +00:00
|
|
|
</section>
|
2011-03-14 20:19:44 +00:00
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<section id='using-an-existing-toolchain-tarball'>
|
2011-06-23 14:24:43 +00:00
|
|
|
<title>Using a Cross-Toolchain Tarball</title>
|
2011-09-01 16:18:33 +00:00
|
|
|
|
2011-06-23 14:24:43 +00:00
|
|
|
<para>
|
2013-08-26 08:17:49 +00:00
|
|
|
If you want to simply install a cross-toolchain by hand, you can
|
2013-03-01 20:22:44 +00:00
|
|
|
do so by running the toolchain installer.
|
2013-08-26 08:17:49 +00:00
|
|
|
The installer includes the pre-built cross-toolchain, the
|
|
|
|
<filename>runqemu</filename> script, and support files.
|
2013-08-09 07:40:32 +00:00
|
|
|
If you use this method to install the cross-toolchain, you
|
2013-03-01 20:22:44 +00:00
|
|
|
might still need to install the target sysroot by installing and
|
|
|
|
extracting it separately.
|
|
|
|
For information on how to install the sysroot, see the
|
2012-09-07 21:03:23 +00:00
|
|
|
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
|
2011-06-23 14:24:43 +00:00
|
|
|
</para>
|
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<para>
|
|
|
|
Follow these steps:
|
|
|
|
<orderedlist>
|
2014-03-14 14:20:19 +00:00
|
|
|
<listitem><para><emphasis>Get your toolchain installer using one of the following methods:</emphasis>
|
2013-08-09 07:40:32 +00:00
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>Go to
|
|
|
|
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>
|
|
|
|
and find the folder that matches your host
|
|
|
|
development system (i.e. <filename>i686</filename>
|
2013-08-26 08:17:49 +00:00
|
|
|
for 32-bit machines or <filename>x86_64</filename>
|
2013-08-09 07:40:32 +00:00
|
|
|
for 64-bit machines).</para>
|
|
|
|
<para>Go into that folder and download the toolchain
|
|
|
|
installer whose name includes the appropriate target
|
|
|
|
architecture.
|
2013-08-26 08:17:49 +00:00
|
|
|
The toolchains provided by the Yocto Project
|
|
|
|
are based off of the
|
|
|
|
<filename>core-image-sato</filename> image and
|
|
|
|
contain libraries appropriate for developing
|
|
|
|
against that image.
|
2013-08-14 07:44:38 +00:00
|
|
|
For example, if your host development system is a
|
|
|
|
64-bit x86 system and you are going to use
|
|
|
|
your cross-toolchain for a 32-bit x86
|
2013-08-09 07:40:32 +00:00
|
|
|
target, go into the <filename>x86_64</filename>
|
|
|
|
folder and download the following installer:
|
|
|
|
<literallayout class='monospaced'>
|
2013-10-24 17:44:52 +00:00
|
|
|
poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
|
2013-08-09 07:40:32 +00:00
|
|
|
</literallayout></para></listitem>
|
|
|
|
<listitem><para>Build your own toolchain installer.
|
|
|
|
For cases where you cannot use an installer
|
2013-08-14 07:44:38 +00:00
|
|
|
from the download area, you can build your own as
|
2013-08-09 07:40:32 +00:00
|
|
|
described in the
|
|
|
|
"<link linkend='optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</link>"
|
|
|
|
section.</para></listitem>
|
|
|
|
</itemizedlist></para></listitem>
|
2014-03-14 14:20:19 +00:00
|
|
|
<listitem><para><emphasis>Once you have the installer, run it to install the toolchain:</emphasis>
|
2013-10-24 20:15:24 +00:00
|
|
|
<note>
|
|
|
|
You must change the permissions on the toolchain
|
|
|
|
installer script so that it is executable.
|
|
|
|
</note></para>
|
2013-08-09 07:40:32 +00:00
|
|
|
<para>The following command shows how to run the installer
|
2013-08-14 07:44:38 +00:00
|
|
|
given a toolchain tarball for a 64-bit x86 development host
|
|
|
|
system and a 32-bit x86 target architecture.
|
2013-08-09 07:40:32 +00:00
|
|
|
The example assumes the toolchain installer is located
|
|
|
|
in <filename>~/Downloads/</filename>.
|
2012-09-13 21:01:58 +00:00
|
|
|
<literallayout class='monospaced'>
|
2013-10-24 17:44:52 +00:00
|
|
|
$ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
|
2012-09-13 21:01:58 +00:00
|
|
|
</literallayout>
|
2013-10-24 20:15:24 +00:00
|
|
|
The first thing the installer prompts you for is the
|
|
|
|
directory into which you want to install the toolchain.
|
|
|
|
The default directory used is
|
2013-11-07 22:23:56 +00:00
|
|
|
<filename>/opt/poky/&DISTRO;</filename>.
|
2013-10-24 20:15:24 +00:00
|
|
|
If you do not have write permissions for the directory
|
|
|
|
into which you are installing the toolchain, the
|
|
|
|
toolchain installer notifies you and exits.
|
|
|
|
Be sure you have write permissions in the directory and
|
|
|
|
run the installer again.</para>
|
|
|
|
<para>When the script finishes, the cross-toolchain is
|
2013-08-09 07:40:32 +00:00
|
|
|
installed.
|
|
|
|
You will notice environment setup files for the
|
2013-10-24 20:15:24 +00:00
|
|
|
cross-toolchain in the installation directory.
|
|
|
|
</para></listitem>
|
2011-03-14 23:47:21 +00:00
|
|
|
</orderedlist>
|
|
|
|
</para>
|
|
|
|
</section>
|
2011-03-14 20:19:44 +00:00
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<section id='using-the-toolchain-from-within-the-build-tree'>
|
2012-06-28 22:02:25 +00:00
|
|
|
<title>Using BitBake and the Build Directory</title>
|
2011-09-01 16:18:33 +00:00
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
A final way of making the cross-toolchain available is to use BitBake
|
|
|
|
to generate the toolchain within an existing
|
2012-10-22 17:28:05 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
|
2013-04-17 00:23:51 +00:00
|
|
|
This method does not install the toolchain into the default
|
2012-06-22 16:36:48 +00:00
|
|
|
<filename>/opt</filename> directory.
|
2012-12-07 23:19:36 +00:00
|
|
|
As with the previous method, if you need to install the target sysroot, you must
|
2012-07-17 21:03:51 +00:00
|
|
|
do that separately as well.
|
2011-09-15 17:17:08 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2012-10-22 17:28:05 +00:00
|
|
|
Follow these steps to generate the toolchain into the Build Directory:
|
2011-06-23 14:24:43 +00:00
|
|
|
<orderedlist>
|
2013-10-24 21:05:38 +00:00
|
|
|
<listitem><para><emphasis>Set up the Build Environment:</emphasis>
|
|
|
|
Source the OpenEmbedded build environment setup
|
|
|
|
script (i.e.
|
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
|
|
|
|
or
|
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
|
|
|
|
located in the
|
2012-10-22 17:28:05 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
|
2012-12-07 23:19:36 +00:00
|
|
|
</para></listitem>
|
2013-10-24 21:05:38 +00:00
|
|
|
<listitem><para><emphasis>Check your Local Configuration File:</emphasis>
|
|
|
|
At this point, you should be sure that the
|
2012-12-07 23:19:36 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> variable
|
|
|
|
in the <filename>local.conf</filename> file found in the
|
2012-10-22 17:28:05 +00:00
|
|
|
<filename>conf</filename> directory of the Build Directory
|
2011-09-01 16:18:33 +00:00
|
|
|
is set for the target architecture.
|
2013-10-24 21:05:38 +00:00
|
|
|
Comments within the <filename>local.conf</filename> file
|
|
|
|
list the values you can use for the
|
|
|
|
<filename>MACHINE</filename> variable.
|
|
|
|
<note>
|
|
|
|
You can populate the Build Directory with the
|
|
|
|
cross-toolchains for more than a single architecture.
|
|
|
|
You just need to edit the <filename>MACHINE</filename>
|
|
|
|
variable in the <filename>local.conf</filename> file and
|
2014-03-14 14:23:02 +00:00
|
|
|
re-run the <filename>bitbake</filename> command.
|
2013-10-24 21:05:38 +00:00
|
|
|
</note></para></listitem>
|
|
|
|
<listitem><para><emphasis>Generate the Cross-Toolchain:</emphasis>
|
|
|
|
Run <filename>bitbake meta-ide-support</filename> to
|
|
|
|
complete the cross-toolchain generation.
|
2014-03-14 14:23:02 +00:00
|
|
|
Once the <filename>bitbake</filename> command finishes,
|
|
|
|
the cross-toolchain is
|
2013-10-24 21:05:38 +00:00
|
|
|
generated and populated within the Build Directory.
|
|
|
|
You will notice environment setup files for the
|
|
|
|
cross-toolchain that contain the string
|
|
|
|
"<filename>environment-setup</filename>" in the
|
|
|
|
Build Directory's <filename>tmp</filename> folder.</para>
|
|
|
|
<para>Be aware that when you use this method to install the
|
|
|
|
toolchain, you still need to separately extract and install
|
|
|
|
the sysroot filesystem.
|
2012-12-07 23:19:36 +00:00
|
|
|
For information on how to do this, see the
|
2012-09-07 21:03:23 +00:00
|
|
|
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
|
2011-09-01 16:18:33 +00:00
|
|
|
</para></listitem>
|
2011-06-23 14:24:43 +00:00
|
|
|
</orderedlist>
|
2011-03-14 23:47:21 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
</section>
|
|
|
|
|
2011-09-15 19:12:06 +00:00
|
|
|
<section id='setting-up-the-cross-development-environment'>
|
|
|
|
<title>Setting Up the Cross-Development Environment</title>
|
2011-09-01 16:18:33 +00:00
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
Before you can develop using the cross-toolchain, you need to set up the
|
|
|
|
cross-development environment by sourcing the toolchain's environment setup script.
|
2012-07-17 21:03:51 +00:00
|
|
|
If you used the ADT Installer or hand-installed cross-toolchain,
|
2013-03-01 20:22:44 +00:00
|
|
|
then you can find this script in the directory you chose for installation.
|
2014-03-14 14:25:56 +00:00
|
|
|
For this release, the default installation directory is
|
|
|
|
<filename>&YOCTO_ADTPATH_DIR;</filename>.
|
2012-12-07 23:19:36 +00:00
|
|
|
If you installed the toolchain in the
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
|
|
|
|
you can find the environment setup
|
2012-10-22 17:28:05 +00:00
|
|
|
script for the toolchain in the Build Directory's <filename>tmp</filename> directory.
|
2011-03-14 23:47:21 +00:00
|
|
|
</para>
|
|
|
|
|
2012-12-07 23:19:36 +00:00
|
|
|
<para>
|
2013-09-16 20:52:30 +00:00
|
|
|
Be sure to run the environment setup script that matches the
|
|
|
|
architecture for which you are developing.
|
|
|
|
Environment setup scripts begin with the string
|
|
|
|
"<filename>environment-setup</filename>" and include as part of their
|
|
|
|
name the architecture.
|
2013-03-01 20:22:44 +00:00
|
|
|
For example, the toolchain environment setup script for a 64-bit
|
|
|
|
IA-based architecture installed in the default installation directory
|
|
|
|
would be the following:
|
2011-03-14 23:47:21 +00:00
|
|
|
<literallayout class='monospaced'>
|
2012-03-06 23:06:44 +00:00
|
|
|
&YOCTO_ADTPATH_DIR;/environment-setup-x86_64-poky-linux
|
2011-03-14 23:47:21 +00:00
|
|
|
</literallayout>
|
|
|
|
</para>
|
|
|
|
</section>
|
|
|
|
|
2011-09-15 17:42:21 +00:00
|
|
|
<section id='securing-kernel-and-filesystem-images'>
|
|
|
|
<title>Securing Kernel and Filesystem Images</title>
|
2011-09-01 16:18:33 +00:00
|
|
|
|
2011-03-14 23:47:21 +00:00
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
You will need to have a kernel and filesystem image to boot using your
|
2011-09-15 17:17:08 +00:00
|
|
|
hardware or the QEMU emulator.
|
|
|
|
Furthermore, if you plan on booting your image using NFS or you want to use the root filesystem
|
|
|
|
as the target sysroot, you need to extract the root filesystem.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<section id='getting-the-images'>
|
|
|
|
<title>Getting the Images</title>
|
|
|
|
|
|
|
|
<para>
|
2011-09-15 19:12:06 +00:00
|
|
|
To get the kernel and filesystem images, you either have to build them or download
|
2011-09-15 17:17:08 +00:00
|
|
|
pre-built versions.
|
2012-12-07 23:19:36 +00:00
|
|
|
You can find examples for both these situations in the
|
|
|
|
"<ulink url='&YOCTO_DOCS_QS_URL;#test-run'>A Quick Test Run</ulink>" section of
|
2012-07-17 21:03:51 +00:00
|
|
|
the Yocto Project Quick Start.
|
2011-09-30 15:34:48 +00:00
|
|
|
</para>
|
|
|
|
|
2012-12-07 23:19:36 +00:00
|
|
|
<para>
|
|
|
|
The Yocto Project ships basic kernel and filesystem images for several
|
|
|
|
architectures (<filename>x86</filename>, <filename>x86-64</filename>,
|
|
|
|
<filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>)
|
|
|
|
that you can use unaltered in the QEMU emulator.
|
|
|
|
These kernel images reside in the release
|
2012-03-06 23:06:44 +00:00
|
|
|
area - <ulink url='&YOCTO_MACHINES_DL_URL;'></ulink>
|
2012-06-28 22:02:25 +00:00
|
|
|
and are ideal for experimentation using Yocto Project.
|
2012-12-07 23:19:36 +00:00
|
|
|
For information on the image types you can build using the OpenEmbedded build system,
|
2012-06-28 22:02:25 +00:00
|
|
|
see the
|
2012-12-07 23:19:36 +00:00
|
|
|
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in
|
2012-07-17 21:03:51 +00:00
|
|
|
the Yocto Project Reference Manual.
|
2011-09-30 15:34:48 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2012-09-26 17:28:15 +00:00
|
|
|
If you are planning on developing against your image and you are not
|
2012-12-07 23:19:36 +00:00
|
|
|
building or using one of the Yocto Project development images
|
2013-04-17 00:23:51 +00:00
|
|
|
(e.g. <filename>core-image-*-dev</filename>), you must be sure to
|
|
|
|
include the development packages as part of your image recipe.
|
2012-12-07 23:19:36 +00:00
|
|
|
</para>
|
2012-09-26 17:28:15 +00:00
|
|
|
|
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
Furthermore, if you plan on remotely deploying and debugging your
|
|
|
|
application from within the
|
2011-09-30 15:34:48 +00:00
|
|
|
Eclipse IDE, you must have an image that contains the Yocto Target Communication
|
2012-12-07 23:19:36 +00:00
|
|
|
Framework (TCF) agent (<filename>tcf-agent</filename>).
|
2013-10-24 22:20:30 +00:00
|
|
|
By default, the Yocto Project provides only one type of pre-built
|
|
|
|
image that contains the <filename>tcf-agent</filename>.
|
2011-09-30 16:02:18 +00:00
|
|
|
And, those images are SDK (e.g.<filename>core-image-sato-sdk</filename>).
|
2011-09-30 15:34:48 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2012-12-07 23:19:36 +00:00
|
|
|
If you want to use a different image type that contains the <filename>tcf-agent</filename>,
|
2011-09-30 15:34:48 +00:00
|
|
|
you can do so one of two ways:
|
|
|
|
<itemizedlist>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para>Modify the <filename>conf/local.conf</filename> configuration in
|
2012-10-22 17:28:05 +00:00
|
|
|
the <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
|
2012-07-17 21:03:51 +00:00
|
|
|
and then rebuild the image.
|
2012-12-07 23:19:36 +00:00
|
|
|
With this method, you need to modify the
|
2012-07-17 21:03:51 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'><filename>EXTRA_IMAGE_FEATURES</filename></ulink>
|
2012-12-07 23:19:36 +00:00
|
|
|
variable to have the value of "tools-debug" before rebuilding the image.
|
2011-09-30 15:34:48 +00:00
|
|
|
Once the image is rebuilt, the <filename>tcf-agent</filename> will be included
|
|
|
|
in the image and is launched automatically after the boot.</para></listitem>
|
|
|
|
<listitem><para>Manually build the <filename>tcf-agent</filename>.
|
|
|
|
To build the agent, follow these steps:
|
|
|
|
<orderedlist>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para>Be sure the ADT is installed as described in the
|
2012-07-17 21:03:51 +00:00
|
|
|
"<link linkend='installing-the-adt'>Installing the ADT and Toolchains</link>" section.
|
2011-09-30 15:34:48 +00:00
|
|
|
</para></listitem>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para>Set up the cross-development environment as described in the
|
|
|
|
"<link linkend='setting-up-the-cross-development-environment'>Setting
|
2011-09-30 15:34:48 +00:00
|
|
|
Up the Cross-Development Environment</link>" section.</para></listitem>
|
2012-03-23 18:23:09 +00:00
|
|
|
<listitem><para>Get the <filename>tcf-agent</filename> source code using
|
|
|
|
the following commands:
|
2011-09-30 15:34:48 +00:00
|
|
|
<literallayout class='monospaced'>
|
2012-03-23 18:23:09 +00:00
|
|
|
$ git clone http://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
|
2013-10-24 22:20:30 +00:00
|
|
|
$ cd org.eclipse.tcf.agent/agent
|
2011-09-30 15:34:48 +00:00
|
|
|
</literallayout></para></listitem>
|
2013-10-24 22:20:30 +00:00
|
|
|
<listitem><para>Locate the
|
|
|
|
<filename>Makefile.inc</filename> file inside the
|
|
|
|
<filename>agent</filename> folder and modify it
|
2012-12-07 23:19:36 +00:00
|
|
|
for the cross-compilation environment by setting the
|
|
|
|
<filename>OPSYS</filename> and
|
2012-07-17 21:03:51 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
|
2013-10-24 22:20:30 +00:00
|
|
|
variables according to your target.
|
|
|
|
</para></listitem>
|
2012-12-07 23:19:36 +00:00
|
|
|
<listitem><para>Use the cross-development tools to build the
|
|
|
|
<filename>tcf-agent</filename>.
|
2011-09-30 15:34:48 +00:00
|
|
|
Before you "Make" the file, be sure your cross-tools are set up first.
|
|
|
|
See the "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>"
|
|
|
|
section for information on how to make sure the cross-tools are set up
|
|
|
|
correctly.</para>
|
2012-12-07 23:19:36 +00:00
|
|
|
<para>If the build is successful, the <filename>tcf-agent</filename> output will
|
2011-09-30 15:34:48 +00:00
|
|
|
be <filename>obj/$(OPSYS)/$(MACHINE)/Debug/agent</filename>.</para></listitem>
|
|
|
|
<listitem><para>Deploy the agent into the image's root filesystem.</para></listitem>
|
|
|
|
</orderedlist>
|
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
2011-09-15 17:17:08 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
2011-09-15 12:52:25 +00:00
|
|
|
|
2011-09-15 17:17:08 +00:00
|
|
|
<section id='extracting-the-root-filesystem'>
|
|
|
|
<title>Extracting the Root Filesystem</title>
|
|
|
|
|
|
|
|
<para>
|
2013-10-25 16:43:43 +00:00
|
|
|
If you install your toolchain by hand or build it using BitBake and
|
|
|
|
you need a root filesystem, you need to extract it separately.
|
|
|
|
If you use the ADT Installer to install the ADT, the root
|
|
|
|
filesystem is automatically extracted and installed.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Here are some cases where you need to extract the root filesystem:
|
|
|
|
<itemizedlist>
|
|
|
|
<listitem><para>You want to boot the image using NFS.
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para>You want to use the root filesystem as the
|
|
|
|
target sysroot.
|
|
|
|
For example, the Eclipse IDE environment with the Eclipse
|
|
|
|
Yocto Plug-in installed allows you to use QEMU to boot
|
|
|
|
under NFS.</para></listitem>
|
|
|
|
<listitem><para>You want to develop your target application
|
|
|
|
using the root filesystem as the target sysroot.
|
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
2011-09-15 17:17:08 +00:00
|
|
|
</para>
|
|
|
|
|
2012-12-07 23:19:36 +00:00
|
|
|
<para>
|
2011-09-15 19:12:06 +00:00
|
|
|
To extract the root filesystem, first <filename>source</filename>
|
2013-10-25 16:43:43 +00:00
|
|
|
the cross-development environment setup script.
|
|
|
|
If you built the toolchain in the Build Directory, you will find
|
|
|
|
the toolchain environment script in the
|
|
|
|
<filename>tmp</filename> directory.
|
|
|
|
If you installed the toolchain by hand, the environment setup
|
2013-11-07 22:23:56 +00:00
|
|
|
script is located in <filename>/opt/poky/&DISTRO;</filename>.
|
2013-10-25 16:43:43 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
After sourcing the environment script, use the
|
|
|
|
<filename>runqemu-extract-sdk</filename> command and provide the
|
2012-12-07 23:19:36 +00:00
|
|
|
filesystem image.
|
2013-10-25 16:43:43 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Following is an example.
|
|
|
|
The second command sets up the environment.
|
|
|
|
In this case, the setup script is located in the
|
|
|
|
<filename>/opt/poky/&DISTRO;</filename> directory.
|
|
|
|
The third command extracts the root filesystem from a previously
|
|
|
|
built filesystem that is located in the
|
|
|
|
<filename>~/Downloads</filename> directory.
|
|
|
|
Furthermore, this command extracts the root filesystem into the
|
2013-11-07 22:23:56 +00:00
|
|
|
<filename>qemux86-sato</filename> directory:
|
2011-09-15 17:17:08 +00:00
|
|
|
<literallayout class='monospaced'>
|
2013-10-25 16:43:43 +00:00
|
|
|
$ cd ~
|
|
|
|
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
|
2011-09-15 17:17:08 +00:00
|
|
|
$ runqemu-extract-sdk \
|
2013-11-07 22:23:56 +00:00
|
|
|
~/Downloads/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2 \
|
2011-09-15 17:17:08 +00:00
|
|
|
$HOME/qemux86-sato
|
|
|
|
</literallayout>
|
2013-10-25 16:43:43 +00:00
|
|
|
You could now point to the target sysroot at
|
2013-11-07 22:23:56 +00:00
|
|
|
<filename>qemux86-sato</filename>.
|
2011-09-15 17:17:08 +00:00
|
|
|
</para>
|
|
|
|
</section>
|
2011-03-14 23:47:21 +00:00
|
|
|
</section>
|
2011-03-14 20:19:44 +00:00
|
|
|
|
2013-08-09 07:40:32 +00:00
|
|
|
<section id='optionally-building-a-toolchain-installer'>
|
|
|
|
<title>Optionally Building a Toolchain Installer</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
As an alternative to locating and downloading a toolchain installer,
|
2013-10-25 16:59:53 +00:00
|
|
|
you can build the toolchain installer one of two ways if you have a
|
|
|
|
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>:
|
|
|
|
<itemizedlist>
|
2014-03-20 23:52:28 +00:00
|
|
|
<listitem><para>
|
|
|
|
Use <filename>bitbake meta-toolchain</filename>.
|
2013-10-25 16:59:53 +00:00
|
|
|
This method requires you to still install the target
|
|
|
|
sysroot by installing and extracting it separately.
|
|
|
|
For information on how to install the sysroot, see the
|
|
|
|
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>"
|
2014-03-20 23:52:28 +00:00
|
|
|
section.
|
|
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
2014-10-16 23:53:39 +00:00
|
|
|
Use <filename>bitbake</filename> <replaceable>image</replaceable> <filename>-c populate_sdk</filename>.
|
2013-10-25 16:59:53 +00:00
|
|
|
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.
|
2014-03-20 23:52:28 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>Another powerful feature is that the toolchain is
|
|
|
|
completely self-contained.
|
|
|
|
The binaries are linked against their own copy of
|
|
|
|
<filename>libc</filename>, which results in no dependencies
|
|
|
|
on the target system.
|
|
|
|
To achieve this, the pointer to the dynamic loader is
|
|
|
|
configured at install time since that path cannot be dynamically
|
|
|
|
altered.
|
|
|
|
This is the reason for a wrapper around the
|
|
|
|
<filename>populate_sdk</filename> archive.</para>
|
|
|
|
|
|
|
|
<para>Another feature is that only one set of cross-canadian
|
|
|
|
toolchain binaries are produced per architecture.
|
|
|
|
This feature takes advantage of the fact that the target
|
|
|
|
hardware can be passed to <filename>gcc</filename> as a set of
|
|
|
|
compiler options.
|
|
|
|
Those options are set up by the environment script and
|
|
|
|
contained in variables like CC and LD.
|
|
|
|
This reduces the space needed for the tools.
|
|
|
|
Understand, however, that a sysroot is still needed for every
|
|
|
|
target since those binaries are target-specific.
|
2013-10-25 16:59:53 +00:00
|
|
|
</para></listitem>
|
|
|
|
</itemizedlist>
|
2013-08-09 07:40:32 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2013-10-25 16:59:53 +00:00
|
|
|
Remember, before using any BitBake command, you
|
2013-09-16 20:52:30 +00:00
|
|
|
must source the build environment setup script
|
2013-09-10 19:13:25 +00:00
|
|
|
(i.e.
|
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
|
|
|
|
or
|
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
|
|
|
|
located in the Source Directory and you must make sure your
|
2013-08-09 07:40:32 +00:00
|
|
|
<filename>conf/local.conf</filename> variables are correct.
|
|
|
|
In particular, you need to be sure the
|
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
|
|
|
|
variable matches the architecture for which you are building and that
|
|
|
|
the
|
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink>
|
|
|
|
variable is correctly set if you are building a toolchain designed to
|
|
|
|
run on an architecture that differs from your current development host
|
|
|
|
machine (i.e. the build machine).
|
2013-10-31 15:01:25 +00:00
|
|
|
</para>
|
2013-08-09 07:40:32 +00:00
|
|
|
|
2013-10-31 15:01:25 +00:00
|
|
|
<para>
|
2014-03-14 14:34:12 +00:00
|
|
|
When the <filename>bitbake</filename> command completes, the toolchain
|
|
|
|
installer will be in
|
2013-10-31 15:01:25 +00:00
|
|
|
<filename>tmp/deploy/sdk</filename> in the Build Directory.
|
|
|
|
<note>
|
|
|
|
By default, this toolchain does not build static binaries.
|
|
|
|
If you want to use the toolchain to build these types of libraries,
|
2013-11-07 22:23:56 +00:00
|
|
|
you need to be sure your image has the appropriate static
|
2013-10-31 15:01:25 +00:00
|
|
|
development libraries.
|
2013-11-07 22:23:56 +00:00
|
|
|
Use the
|
2013-10-31 15:01:25 +00:00
|
|
|
<ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'><filename>IMAGE_INSTALL</filename></ulink>
|
|
|
|
variable inside your <filename>local.conf</filename> file to
|
|
|
|
install the appropriate library packages.
|
2013-11-07 22:23:56 +00:00
|
|
|
Following is an example using <filename>eglibc</filename> static
|
2013-10-31 15:01:25 +00:00
|
|
|
development libraries:
|
|
|
|
<literallayout class='monospaced'>
|
|
|
|
IMAGE_INSTALL_append = " eglibc-staticdev"
|
|
|
|
</literallayout>
|
|
|
|
</note>
|
|
|
|
</para>
|
2013-08-09 07:40:32 +00:00
|
|
|
</section>
|
|
|
|
|
2011-03-14 20:19:44 +00:00
|
|
|
</chapter>
|
|
|
|
<!--
|
|
|
|
vim: expandtab tw=80 ts=4
|
|
|
|
-->
|