summaryrefslogtreecommitdiffstats
path: root/poky/documentation/sdk-manual/sdk-appendix-obtain.xml
diff options
context:
space:
mode:
Diffstat (limited to 'poky/documentation/sdk-manual/sdk-appendix-obtain.xml')
-rw-r--r--poky/documentation/sdk-manual/sdk-appendix-obtain.xml134
1 files changed, 79 insertions, 55 deletions
diff --git a/poky/documentation/sdk-manual/sdk-appendix-obtain.xml b/poky/documentation/sdk-manual/sdk-appendix-obtain.xml
index aa06358a0..c608e6f54 100644
--- a/poky/documentation/sdk-manual/sdk-appendix-obtain.xml
+++ b/poky/documentation/sdk-manual/sdk-appendix-obtain.xml
@@ -25,32 +25,33 @@
Go to <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>
</para></listitem>
<listitem><para>
- <emphasis>Open the Folder for Your Development System:</emphasis>
- Open the folder that matches your host development system
+ <emphasis>Open the Folder for Your Build Host:</emphasis>
+ Open the folder that matches your
+ <ulink url='&YOCTO_DOCS_REF_URL;#build-system-term'>build host</ulink>
(i.e. <filename>i686</filename> for 32-bit machines or
<filename>x86_64</filename> for 64-bit machines).
</para></listitem>
<listitem><para>
<emphasis>Locate and Download the SDK Installer:</emphasis>
You need to find and download the installer appropriate for
- your development system, target hardware, and image type.
+ your build host, target hardware, and image type.
</para>
<para>The installer files (<filename>*.sh</filename>) follow
this naming convention:
<literallayout class='monospaced'>
- poky-eglibc-<replaceable>host_system</replaceable>-core-image-<replaceable>type</replaceable>-<replaceable>arch</replaceable>-toolchain-ext-<replaceable>release</replaceable>.sh
+ poky-glibc-<replaceable>host_system</replaceable>-core-image-<replaceable>type</replaceable>-<replaceable>arch</replaceable>-toolchain[-ext]-<replaceable>release</replaceable>.sh
Where:
<replaceable>host_system</replaceable> is a string representing your development system:
- i686 or x86_64.
+ "i686" or "x86_64"
- <replaceable>type</replaceable> is a string representing either a "sato" or "minimal"
- image.
+ <replaceable>type</replaceable> is a string representing the image:
+ "sato" or "minimal"
<replaceable>arch</replaceable> is a string representing the target architecture:
- aarch64, armv5e, core2-64, coretexa8hf-neon, i586, mips3242,
- mips64, or ppc7400.
+ "aarch64", "armv5e", "core2-64", "coretexa8hf-neon", "i586", "mips32r2",
+ "mips64", or "ppc7400"
<replaceable>release</replaceable> is the version of Yocto Project.
@@ -65,10 +66,10 @@
libraries appropriate for developing against those images.
</para>
- <para>For example, if your host development system is a
- 64-bit x86 system and you are need an extended SDK for a
- 64-bit core2 target, go into the <filename>x86_64</filename>
- folder and download the following installer:
+ <para>For example, if your build host is a 64-bit x86 system
+ and you need an extended SDK for a 64-bit core2 target, go
+ into the <filename>x86_64</filename> folder and download the
+ following installer:
<literallayout class='monospaced'>
poky-glibc-x86_64-core-image-sato-core2-64-toolchain-ext-&DISTRO;.sh
</literallayout>
@@ -97,7 +98,7 @@
<title>Building an SDK Installer</title>
<para>
- As an alternative to locating and downloading a SDK installer,
+ As an alternative to locating and downloading an SDK installer,
you can build the SDK installer.
Follow these steps:
<orderedlist>
@@ -138,8 +139,7 @@
Among other things, the script creates the
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
which is <filename>build</filename> in this case
- and is located in the
- <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
+ and is located in the Source Directory.
After the script runs, your current working directory
is set to the <filename>build</filename> directory.
</para></listitem>
@@ -148,17 +148,31 @@
Check to be sure that your
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
variable in the <filename>local.conf</filename> file in your
- <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>
- matches the architecture for which you are building.
+ Build Directory matches the architecture for which you are
+ building.
</para></listitem>
<listitem><para>
<emphasis>Make Sure Your SDK Machine is Correctly Set:</emphasis>
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), be sure that the
+ machine (i.e. the build host), be sure that the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink>
variable in the <filename>local.conf</filename> file in your
Build Directory is correctly set.
+ <note>
+ If you are building an SDK installer for the Extensible
+ SDK, the <filename>SDKMACHINE</filename> value must be
+ set for the architecture of the machine you are using to
+ build the installer.
+ If <filename>SDKMACHINE</filename> is not set appropriately,
+ the build fails and provides an error message similar to
+ the following:
+ <literallayout class='monospaced'>
+ The extensible SDK can currently only be built for the same architecture as the machine being built on - SDK_ARCH is
+ set to i686 (likely via setting SDKMACHINE) which is different from the architecture of the build machine (x86_64).
+ Unable to continue.
+ </literallayout>
+ </note>
</para></listitem>
<listitem><para>
<emphasis>Build the SDK Installer:</emphasis>
@@ -174,7 +188,7 @@
<literallayout class='monospaced'>
$ bitbake <replaceable>image</replaceable> -c populate_sdk_ext
</literallayout>
- These commands result in a SDK installer that contains the
+ These commands produce an SDK installer that contains the
sysroot that matches your target root filesystem.</para>
<para>When the <filename>bitbake</filename> command completes,
@@ -183,16 +197,18 @@
<note><title>Notes</title>
<itemizedlist>
<listitem><para>
- By default, this toolchain does not build static
- binaries.
+ By default, the previous BitBake command does not
+ build static binaries.
If you want to use the toolchain to build these
types of libraries, you need to be sure your SDK
has the appropriate static development libraries.
Use the
<ulink url='&YOCTO_DOCS_REF_URL;#var-TOOLCHAIN_TARGET_TASK'><filename>TOOLCHAIN_TARGET_TASK</filename></ulink>
variable inside your <filename>local.conf</filename>
- file to install the appropriate library packages
- in the SDK.
+ file before building the SDK installer.
+ Doing so ensures that the eventual SDK installation
+ process installs the appropriate library packages
+ as part of the SDK.
Following is an example using
<filename>libc</filename> static development
libraries:
@@ -262,32 +278,40 @@
Root Filesystem Image File:</emphasis>
You need to find and download the root filesystem image
file that is appropriate for your target system.
- These files are kept in the
+ These files are kept in machine-specific folders in the
<ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;/machines/'>Index of Releases</ulink>
in the "machines" directory.</para>
- <para>The "machines" directory contains tarballs
- (<filename>*.tar.bz2</filename>) for supported machines.
- The directory also contains flattened root filesystem
+ <para>The machine-specific folders of the "machines" directory
+ contain tarballs (<filename>*.tar.bz2</filename>) for supported
+ machines.
+ These directories also contain flattened root filesystem
image files (<filename>*.ext4</filename>), which you can use
with QEMU directly.</para>
<para>The pre-built root filesystem image files
follow these naming conventions:
<literallayout class='monospaced'>
+<!--
+ core-image-<replaceable>profile</replaceable>-<replaceable>arch</replaceable>-<replaceable>date_time</replaceable>.rootfs.tar.bz2
+-->
core-image-<replaceable>profile</replaceable>-<replaceable>arch</replaceable>.tar.bz2
Where:
<replaceable>profile</replaceable> is the filesystem image's profile:
- lsb, lsb-dev, lsb-sdk, lsb-qt3, minimal, minimal-dev, sato,
- sato-dev, sato-sdk, minimal-initramfs, or sdk-ptest. For
- information on these types of image profiles, see the
- "Images" chapter in the Yocto Project Reference Manual.
+ lsb, lsb-dev, lsb-sdk, minimal, minimal-dev, minimal-initramfs,
+ sato, sato-dev, sato-sdk, sato-sdk-ptest. For information on
+ these types of image profiles, see the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in
+ the Yocto Project Reference Manual.
<replaceable>arch</replaceable> is a string representing the target architecture:
- beaglebone, edgerouter, genericx86, genericx86-64, mpc8315e-rdb,
- qemuarm, qemuarm64, qemumips, qemumips64, qemuppc, qemux86, or
- qemux86-64.
+ beaglebone-yocto, beaglebone-yocto-lsb, edgerouter, edgerouter-lsb,
+ genericx86, genericx86-64, genericx86-64-lsb, genericx86-lsb,
+ mpc8315e-rdb, mpc8315e-rdb-lsb, and qemu*.
+
+<!-->
+ <replaceable>date_time</replaceable> is a date and time stamp.
+-->
</literallayout>
The root filesystems provided by the Yocto Project are based
@@ -295,26 +319,28 @@
<filename>core-image-minimal</filename> images.
</para>
- <para>For example, if your target hardware system is a
- BeagleBone board and your image is a
- <filename>core-image-minimal</filename> image, you need
- to download the following root filesystem image file:
+ <para>For example, if you plan on using a BeagleBone device
+ as your target hardware and your image is a
+ <filename>core-image-sato-sdk</filename>
+ image, you can download the following file:
<literallayout class='monospaced'>
- core-image-minimal-beaglebone.tar.bz2
+ core-image-sato-sdk-beaglebone-yocto.tar.bz2
</literallayout>
</para></listitem>
<listitem><para>
<emphasis>Initialize the Cross-Development Environment:</emphasis>
- You must <filename>source</filename>
- the cross-development environment setup script to establish
- necessary environment variables.</para>
+ You must <filename>source</filename> the cross-development
+ environment setup script to establish necessary environment
+ variables.</para>
<para>This script is located in the top-level directory in
which you installed the toolchain (e.g.
<filename>poky_sdk</filename>).</para>
- <para>Following is an example for the Core2 64-bit
- architecture:
+ <para>Following is an example based on the toolchain installed
+ in the
+ "<link linkend='sdk-locating-pre-built-sdk-installers'>Locating Pre-Built SDK Installers</link>"
+ section:
<literallayout class='monospaced'>
$ source ~/poky_sdk/environment-setup-core2-64-poky-linux
</literallayout>
@@ -331,10 +357,10 @@
This command extracts the root filesystem into the
<filename>core2-64-sato</filename> directory:
<literallayout class='monospaced'>
- $ runqemu-extract-sdk ~/Downloads/core-image-sato-core2-64.tar.bz2 ~/core2-64-sato
+ $ runqemu-extract-sdk ~/Downloads/core-image-sato-sdk-beaglebone-yocto.tar.bz2 ~/beaglebone-sato
</literallayout>
You could now point to the target sysroot at
- <filename>core2-64-sato</filename>.
+ <filename>beablebone-sato</filename>.
</para></listitem>
</orderedlist>
</para>
@@ -350,7 +376,7 @@
</para>
<para>
- <imagedata fileref="figures/sdk-installed-standard-sdk-directory.png" scale="60" align="center" />
+ <imagedata fileref="figures/sdk-installed-standard-sdk-directory.png" scale="80" align="center" />
</para>
<para>
@@ -391,7 +417,7 @@
</para>
<para>
- <imagedata fileref="figures/sdk-installed-extensible-sdk-directory.png" scale="60" align="center" />
+ <imagedata fileref="figures/sdk-installed-extensible-sdk-directory.png" scale="80" align="center" />
</para>
<para>
@@ -406,8 +432,8 @@
<para>
Of note in the directory structure are an environment setup script
for the SDK, a configuration file for the target, a version file for
- the target, and a log file for the OpenEmbedded build system
- preparation script run by the installer.
+ the target, and log files for the OpenEmbedded build system
+ preparation script run by the installer and BitBake.
</para>
<para>
@@ -415,11 +441,9 @@
portions of the file or directory name.
For example,
<replaceable>install_dir</replaceable> is the directory where the SDK
- is installed, which is <filename>poky_sdk</filename> by default.
+ is installed, which is <filename>poky_sdk</filename> by default, and
<replaceable>target</replaceable> represents the target
- architecture (e.g. <filename>i586</filename>) and
- <replaceable>host</replaceable> represents the development system's
- architecture (e.g. <filename>x86_64</filename>).
+ architecture (e.g. <filename>i586</filename>).
</para>
</section>
OpenPOWER on IntegriCloud