forked from brl/citadel
206 lines
9.2 KiB
XML
206 lines
9.2 KiB
XML
|
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
||
|
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
|
||
|
|
||
|
<chapter id='sdk-using-the-standard-sdk'>
|
||
|
<title>Using the Standard SDK</title>
|
||
|
|
||
|
<para>
|
||
|
This chapter describes the standard SDK and how to install it.
|
||
|
Information includes unique installation and setup aspects for the
|
||
|
standard SDK.
|
||
|
<note>
|
||
|
For a side-by-side comparison of main features supported for a
|
||
|
standard SDK as compared to an extensible SDK, see the
|
||
|
"<link linkend='sdk-manual-intro'>Introduction</link>"
|
||
|
section.
|
||
|
</note>
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
You can use a standard SDK to work on Makefile, Autotools, and
|
||
|
Eclipse-based projects.
|
||
|
See the
|
||
|
"<link linkend='sdk-working-projects'>Working with Different Types of Projects</link>"
|
||
|
chapter for more information.
|
||
|
</para>
|
||
|
|
||
|
<section id='sdk-standard-sdk-intro'>
|
||
|
<title>Why use the Standard SDK and What is in It?</title>
|
||
|
|
||
|
<para>
|
||
|
The Standard SDK provides a cross-development toolchain and
|
||
|
libraries tailored to the contents of a specific image.
|
||
|
You would use the Standard SDK if you want a more traditional
|
||
|
toolchain experience as compared to the extensible SDK, which
|
||
|
provides an internal build system and the
|
||
|
<filename>devtool</filename> functionality.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
The installed Standard SDK consists of several files and
|
||
|
directories.
|
||
|
Basically, it contains an SDK environment setup script, some
|
||
|
configuration files, and host and target root filesystems to
|
||
|
support usage.
|
||
|
You can see the directory structure in the
|
||
|
"<link linkend='sdk-installed-standard-sdk-directory-structure'>Installed Standard SDK Directory Structure</link>"
|
||
|
section.
|
||
|
</para>
|
||
|
</section>
|
||
|
|
||
|
<section id='sdk-installing-the-sdk'>
|
||
|
<title>Installing the SDK</title>
|
||
|
|
||
|
<para>
|
||
|
The first thing you need to do is install the SDK on your host
|
||
|
development machine by running the <filename>*.sh</filename>
|
||
|
installation script.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
You can download a tarball installer, which includes the
|
||
|
pre-built toolchain, the <filename>runqemu</filename>
|
||
|
script, and support files from the appropriate directory under
|
||
|
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>.
|
||
|
Toolchains are available for 32-bit and 64-bit x86 development
|
||
|
systems from the <filename>i686</filename> and
|
||
|
<filename>x86_64</filename> directories, respectively.
|
||
|
The toolchains the Yocto Project provides are based off the
|
||
|
<filename>core-image-sato</filename> image and contain
|
||
|
libraries appropriate for developing against that image.
|
||
|
Each type of development system supports five or more target
|
||
|
architectures.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
The names of the tarball installer scripts are such that a
|
||
|
string representing the host system appears first in the
|
||
|
filename and then is immediately followed by a string
|
||
|
representing the target architecture.
|
||
|
<literallayout class='monospaced'>
|
||
|
poky-glibc-<replaceable>host_system</replaceable>-<replaceable>image_type</replaceable>-<replaceable>arch</replaceable>-toolchain-<replaceable>release_version</replaceable>.sh
|
||
|
|
||
|
Where:
|
||
|
<replaceable>host_system</replaceable> is a string representing your development system:
|
||
|
|
||
|
i686 or x86_64.
|
||
|
|
||
|
<replaceable>image_type</replaceable> is the image for which the SDK was built.
|
||
|
|
||
|
<replaceable>arch</replaceable> is a string representing the tuned target architecture:
|
||
|
|
||
|
i586, x86_64, powerpc, mips, armv7a or armv5te
|
||
|
|
||
|
<replaceable>release_version</replaceable> is a string representing the release number of the
|
||
|
Yocto Project:
|
||
|
|
||
|
&DISTRO;, &DISTRO;+snapshot
|
||
|
</literallayout>
|
||
|
For example, the following SDK installer is for a 64-bit
|
||
|
development host system and a i586-tuned target architecture
|
||
|
based off the SDK for <filename>core-image-sato</filename> and
|
||
|
using the current &DISTRO; snapshot:
|
||
|
<literallayout class='monospaced'>
|
||
|
poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
|
||
|
</literallayout>
|
||
|
<note>
|
||
|
As an alternative to downloading an SDK, you can build the
|
||
|
SDK installer.
|
||
|
For information on building the installer, see the
|
||
|
"<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>"
|
||
|
section.
|
||
|
Another helpful resource for building an installer is the
|
||
|
<ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>Cookbook guide to Making an Eclipse Debug Capable Image</ulink>
|
||
|
wiki page.
|
||
|
This wiki page focuses on development when using the Eclipse
|
||
|
IDE.
|
||
|
</note>
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
The SDK and toolchains are self-contained and by default are
|
||
|
installed into <filename>/opt/poky</filename>.
|
||
|
However, when you run the SDK installer, you can choose an
|
||
|
installation directory.
|
||
|
<note>
|
||
|
You must change the permissions on the SDK
|
||
|
installer script so that it is executable:
|
||
|
<literallayout class='monospaced'>
|
||
|
$ chmod +x poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
|
||
|
</literallayout>
|
||
|
</note>
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
The following command shows how to run the installer given a
|
||
|
toolchain tarball for a 64-bit x86 development host system and
|
||
|
a 32-bit x86 target architecture.
|
||
|
The example assumes the SDK installer is located in
|
||
|
<filename>~/Downloads/</filename>.
|
||
|
<note>
|
||
|
If you do not have write permissions for the directory
|
||
|
into which you are installing the SDK, the installer
|
||
|
notifies you and exits.
|
||
|
Be sure you have write permissions in the directory and
|
||
|
run the installer again.
|
||
|
</note>
|
||
|
<literallayout class='monospaced'>
|
||
|
$ ./poky-glibc-x86_64-core-image-sato-i586-toolchain-&DISTRO;.sh
|
||
|
Poky (Yocto Project Reference Distro) SDK installer version &DISTRO;
|
||
|
===============================================================
|
||
|
Enter target directory for SDK (default: /opt/poky/&DISTRO;):
|
||
|
You are about to install the SDK to "/opt/poky/&DISTRO;". Proceed[Y/n]? Y
|
||
|
Extracting SDK.......................................................................done
|
||
|
Setting it up...done
|
||
|
SDK has been successfully set up and is ready to be used.
|
||
|
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
|
||
|
$ . /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
|
||
|
</literallayout>
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Again, reference the
|
||
|
"<link linkend='sdk-installed-standard-sdk-directory-structure'>Installed Standard SDK Directory Structure</link>"
|
||
|
section for more details on the resulting directory structure of
|
||
|
the installed SDK.
|
||
|
</para>
|
||
|
</section>
|
||
|
|
||
|
<section id='sdk-running-the-sdk-environment-setup-script'>
|
||
|
<title>Running the SDK Environment Setup Script</title>
|
||
|
|
||
|
<para>
|
||
|
Once you have the SDK installed, you must run the SDK environment
|
||
|
setup script before you can actually use it.
|
||
|
This setup script resides in the directory you chose when you
|
||
|
installed the SDK.
|
||
|
For information on where this setup script can reside, see the
|
||
|
"<link linkend='sdk-appendix-obtain'>Obtaining the SDK</link>"
|
||
|
Appendix.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Before running the script, be sure it is the one 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 tuned target architecture.
|
||
|
For example, the command to source a setup script for an IA-based
|
||
|
target machine using i586 tuning and located in the default SDK
|
||
|
installation directory is as follows:
|
||
|
<literallayout class='monospaced'>
|
||
|
$ source /opt/poky/&DISTRO;/environment-setup-i586-poky-linux
|
||
|
</literallayout>
|
||
|
When you run the setup script, the same environment variables are
|
||
|
defined as are when you run the setup script for an extensible SDK.
|
||
|
See the
|
||
|
"<link linkend='sdk-running-the-extensible-sdk-environment-setup-script'>Running the Extensible SDK Environment Setup Script</link>"
|
||
|
section for more information.
|
||
|
</para>
|
||
|
</section>
|
||
|
</chapter>
|
||
|
<!--
|
||
|
vim: expandtab tw=80 ts=4
|
||
|
-->
|