summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual/adt-prepare.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/adt-manual/adt-prepare.rst')
-rw-r--r--documentation/adt-manual/adt-prepare.rst752
1 files changed, 0 insertions, 752 deletions
diff --git a/documentation/adt-manual/adt-prepare.rst b/documentation/adt-manual/adt-prepare.rst
deleted file mode 100644
index 9b6bd05147..0000000000
--- a/documentation/adt-manual/adt-prepare.rst
+++ /dev/null
@@ -1,752 +0,0 @@
-.. SPDX-License-Identifier: CC-BY-2.0-UK
-
-*************************************
-Preparing for Application Development
-*************************************
-
-In order to develop applications, you need set up your host development
-system. Several ways exist that allow you to install cross-development
-tools, QEMU, the Eclipse Yocto Plug-in, and other tools. This chapter
-describes how to prepare for application development.
-
-.. _installing-the-adt:
-
-Installing the ADT and Toolchains
-=================================
-
-The following list describes installation methods that set up varying
-degrees of tool availability on your system. Regardless of the
-installation method you choose, you must ``source`` the cross-toolchain
-environment setup script, which establishes several key environment
-variables, before you use a toolchain. See the "`Setting Up the
-Cross-Development
-Environment <#setting-up-the-cross-development-environment>`__" section
-for more information.
-
-.. note::
-
- Avoid mixing installation methods when installing toolchains for
- different architectures. For example, avoid using the ADT Installer
- to install some toolchains and then hand-installing cross-development
- toolchains by running the toolchain installer for different
- architectures. Mixing installation methods can result in situations
- where the ADT Installer becomes unreliable and might not install the
- toolchain.
-
- If you must mix installation methods, you might avoid problems by
- deleting ``/var/lib/opkg``, thus purging the ``opkg`` package
- metadata.
-
-- *Use the ADT installer script:* 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 and the user-space NFS, specify which root filesystem
- profiles to download, and define the target sysroot location.
-
-- *Use an existing toolchain:* Using this method, you select and
- download an architecture-specific toolchain installer and then run
- the script to hand-install the toolchain. If you use this method, you
- just get the cross-toolchain and QEMU - you do not get any of the
- other mentioned benefits had you run the ADT Installer script.
-
-- *Use the toolchain from within the Build Directory:* If you already
- have a :term:`Build Directory`,
- you can build the cross-toolchain within the directory. However, like
- the previous method mentioned, you only get the cross-toolchain and
- QEMU - you do not get any of the other benefits without taking
- separate steps.
-
-Using the ADT Installer
------------------------
-
-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, and then run the ADT Installer Script.
-
-For a list of the host packages needed to support ADT installation and
-use, see the "ADT Installer Extras" lists in the "`Required Packages for
-the Host Development
-System <&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system>`__"
-section of the Yocto Project Reference Manual.
-
-Getting the ADT Installer Tarball
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The ADT Installer is contained in the ADT Installer tarball. You can get
-the tarball using either of these methods:
-
-- *Download the Tarball:* You can download the tarball from
- ` <&YOCTO_ADTINSTALLER_DL_URL;>`__ into any directory.
-
-- *Build the Tarball:* You can use
- :term:`BitBake` to generate the
- tarball inside an existing :term:`Build Directory`.
-
- If you use BitBake to generate the ADT Installer tarball, you must
- ``source`` the environment setup script
- (````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__ or
- ```oe-init-build-env-memres`` <&YOCTO_DOCS_REF_URL;#structure-memres-core-script>`__)
- located in the Source Directory before running the ``bitbake``
- command that creates the tarball.
-
- The following example commands establish the
- :term:`Source Directory`, check out the
- current release branch, set up the build environment while also
- creating the default Build Directory, and run the ``bitbake`` command
- that results in the tarball
- ``poky/build/tmp/deploy/sdk/adt_installer.tar.bz2``:
-
- .. note::
-
- Before using BitBake to build the ADT tarball, be sure to make
- sure your
- local.conf
- file is properly configured. See the "
- User Configuration
- " section in the Yocto Project Reference Manual for general
- configuration information.
-
- $ cd ~ $ git clone git://git.yoctoproject.org/poky $ cd poky $ git
- checkout -b DISTRO_NAME origin/DISTRO_NAME $ source OE_INIT_FILE $
- bitbake adt-installer
-
-Configuring and Running the ADT Installer Script
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Before running the ADT Installer script, you need to unpack the tarball.
-You can unpack the tarball in any directory you wish. For example, this
-command copies the ADT Installer tarball from where it was built into
-the home directory and then unpacks the tarball into a top-level
-directory named ``adt-installer``: $ cd ~ $ cp
-poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME $ tar -xjf
-adt_installer.tar.bz2 Unpacking it creates the directory
-``adt-installer``, which contains the ADT Installer script
-(``adt_installer``) and its configuration file (``adt_installer.conf``).
-
-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. Your
-configurations determine which kernel and filesystem image are
-downloaded.
-
-The following list describes the configurations you can define for the
-ADT Installer. For configuration values and restrictions, see the
-comments in the ``adt-installer.conf`` file:
-
-- ``YOCTOADT_REPO``: 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 ``YOCTOADT_REPO``, you
- need to be sure that the directory structure follows the same layout
- as the reference directory set up at
- http://adtrepo.yoctoproject.org. Also, your repository needs
- to be accessible through HTTP.
-
-- ``YOCTOADT_TARGETS``: The machine target architectures for which you
- want to set up cross-development environments.
-
-- ``YOCTOADT_QEMU``: Indicates whether or not to install the emulator
- QEMU.
-
-- ``YOCTOADT_NFS_UTIL``: Indicates whether or not to install user-mode
- NFS. If you plan to use the Eclipse IDE Yocto plug-in against QEMU,
- you should install NFS.
-
- .. note::
-
- To boot QEMU images using our userspace NFS server, you need to be
- running
- portmap
- or
- rpcbind
- . If you are running
- rpcbind
- , you will also need to add the
- -i
- option when
- rpcbind
- starts up. Please make sure you understand the security
- implications of doing this. You might also have to modify your
- firewall settings to allow NFS booting to work.
-
-- ``YOCTOADT_ROOTFS_``\ arch: The root filesystem images you want to
- download from the ``YOCTOADT_IPKG_REPO`` repository.
-
-- ``YOCTOADT_TARGET_SYSROOT_IMAGE_``\ arch: The particular root
- filesystem used to extract and create the target sysroot. The value
- of this variable must have been specified with
- ``YOCTOADT_ROOTFS_``\ arch. For example, if you downloaded both
- ``minimal`` and ``sato-sdk`` images by setting
- ``YOCTOADT_ROOTFS_``\ arch to "minimal sato-sdk", then
- ``YOCTOADT_ROOTFS_``\ arch must be set to either "minimal" or
- "sato-sdk".
-
-- ``YOCTOADT_TARGET_SYSROOT_LOC_``\ arch: The location on the
- development host where the target sysroot is created.
-
-After you have configured the ``adt_installer.conf`` file, run the
-installer using the following command: $ cd adt-installer $
-./adt_installer Once the installer begins to run, you are asked to enter
-the location for cross-toolchain installation. The default location is
-``/opt/poky/``\ release. 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. Follow the prompts from the script to complete the
-installation.
-
-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 ``adt-installer``
-directory according to your installer configurations, and the target
-sysroot located according to the ``YOCTOADT_TARGET_SYSROOT_LOC_``\ arch
-variable also in your configuration file.
-
-.. _using-an-existing-toolchain-tarball:
-
-Using a Cross-Toolchain Tarball
--------------------------------
-
-If you want to simply install a cross-toolchain by hand, you can do so
-by running the toolchain installer. The installer includes the pre-built
-cross-toolchain, the ``runqemu`` script, and support files. If you use
-this method to install the cross-toolchain, you might still need to
-install the target sysroot by installing and extracting it separately.
-For information on how to install the sysroot, see the "`Extracting the
-Root Filesystem <#extracting-the-root-filesystem>`__" section.
-
-Follow these steps:
-
-1. *Get your toolchain installer using one of the following methods:*
-
- - Go to ` <&YOCTO_TOOLCHAIN_DL_URL;>`__ and find the folder that
- matches your host development system (i.e. ``i686`` for 32-bit
- machines or ``x86_64`` for 64-bit machines).
-
- Go into that folder and download the toolchain installer whose
- name includes the appropriate target architecture. The toolchains
- provided by the Yocto Project are based off of the
- ``core-image-sato`` image and contain libraries appropriate for
- developing against that image. 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 target, go into the
- ``x86_64`` folder and download the following installer:
- poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
-
- - Build your own toolchain installer. For cases where you cannot use
- an installer from the download area, you can build your own as
- described in the "`Optionally Building a Toolchain
- Installer <#optionally-building-a-toolchain-installer>`__"
- section.
-
-2. *Once you have the installer, run it to install the toolchain:*
-
- .. note::
-
- You must change the permissions on the toolchain installer script
- so that it is executable.
-
- 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 toolchain
- installer is located in ``~/Downloads/``. $
- ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
- The first thing the installer prompts you for is the directory into
- which you want to install the toolchain. The default directory used
- is ``/opt/poky/DISTRO``. 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.
-
- When the script finishes, the cross-toolchain is installed. You will
- notice environment setup files for the cross-toolchain in the
- installation directory.
-
-.. _using-the-toolchain-from-within-the-build-tree:
-
-Using BitBake and the Build Directory
--------------------------------------
-
-A final way of making the cross-toolchain available is to use BitBake to
-generate the toolchain within an existing :term:`Build Directory`.
-This method does
-not install the toolchain into the default ``/opt`` directory. As with
-the previous method, if you need to install the target sysroot, you must
-do that separately as well.
-
-Follow these steps to generate the toolchain into the Build Directory:
-
-1. *Set up the Build Environment:* Source the OpenEmbedded build
- environment setup script (i.e.
- ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__ or
- ```oe-init-build-env-memres`` <&YOCTO_DOCS_REF_URL;#structure-memres-core-script>`__)
- located in the :term:`Source Directory`.
-
-2. *Check your Local Configuration File:* At this point, you should be
- sure that the :term:`MACHINE`
- variable in the ``local.conf`` file found in the ``conf`` directory
- of the Build Directory is set for the target architecture. Comments
- within the ``local.conf`` file list the values you can use for the
- ``MACHINE`` variable. If you do not change the ``MACHINE`` variable,
- the OpenEmbedded build system uses ``qemux86`` as the default target
- machine when building the cross-toolchain.
-
- .. note::
-
- You can populate the Build Directory with the cross-toolchains for
- more than a single architecture. You just need to edit the
- MACHINE
- variable in the
- local.conf
- file and re-run the
- bitbake
- command.
-
-3. *Make Sure Your Layers are Enabled:* Examine the
- ``conf/bblayers.conf`` file and make sure that you have enabled all
- the compatible layers for your target machine. The OpenEmbedded build
- system needs to be aware of each layer you want included when
- building images and cross-toolchains. For information on how to
- enable a layer, see the "`Enabling Your
- Layer <&YOCTO_DOCS_DEV_URL;#enabling-your-layer>`__" section in the
- Yocto Project Development Manual.
-
-4. *Generate the Cross-Toolchain:* Run ``bitbake meta-ide-support`` to
- complete the cross-toolchain generation. Once the ``bitbake`` command
- finishes, the cross-toolchain is generated and populated within the
- Build Directory. You will notice environment setup files for the
- cross-toolchain that contain the string "``environment-setup``" in
- the Build Directory's ``tmp`` folder.
-
- Be aware that when you use this method to install the toolchain, you
- still need to separately extract and install the sysroot filesystem.
- For information on how to do this, see the "`Extracting the Root
- Filesystem <#extracting-the-root-filesystem>`__" section.
-
-Setting Up the Cross-Development Environment
-============================================
-
-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. If you used the ADT Installer or hand-installed
-cross-toolchain, then you can find this script in the directory you
-chose for installation. For this release, the default installation
-directory is ````. If you installed the toolchain in the
-:term:`Build Directory`, you can find the
-environment setup script for the toolchain in the Build Directory's
-``tmp`` directory.
-
-Be sure to run the environment setup script that matches the
-architecture for which you are developing. Environment setup scripts
-begin with the string "``environment-setup``" and include as part of
-their name the architecture. For example, the toolchain environment
-setup script for a 64-bit IA-based architecture installed in the default
-installation directory would be the following:
-YOCTO_ADTPATH_DIR/environment-setup-x86_64-poky-linux When you run the
-setup script, many environment variables are defined:
-:term:`SDKTARGETSYSROOT` -
-The path to the sysroot used for cross-compilation
-:term:`PKG_CONFIG_PATH` - The
-path to the target pkg-config files
-:term:`CONFIG_SITE` - A GNU
-autoconf site file preconfigured for the target
-:term:`CC` - The minimal command and
-arguments to run the C compiler
-:term:`CXX` - The minimal command and
-arguments to run the C++ compiler
-:term:`CPP` - The minimal command and
-arguments to run the C preprocessor
-:term:`AS` - The minimal command and
-arguments to run the assembler :term:`LD`
-- The minimal command and arguments to run the linker
-:term:`GDB` - The minimal command and
-arguments to run the GNU Debugger
-:term:`STRIP` - The minimal command and
-arguments to run 'strip', which strips symbols
-:term:`RANLIB` - The minimal command
-and arguments to run 'ranlib'
-:term:`OBJCOPY` - The minimal command
-and arguments to run 'objcopy'
-:term:`OBJDUMP` - The minimal command
-and arguments to run 'objdump' :term:`AR`
-- The minimal command and arguments to run 'ar'
-:term:`NM` - The minimal command and
-arguments to run 'nm'
-:term:`TARGET_PREFIX` - The
-toolchain binary prefix for the target tools
-:term:`CROSS_COMPILE` - The
-toolchain binary prefix for the target tools
-:term:`CONFIGURE_FLAGS` - The
-minimal arguments for GNU configure
-:term:`CFLAGS` - Suggested C flags
-:term:`CXXFLAGS` - Suggested C++
-flags :term:`LDFLAGS` - Suggested
-linker flags when you use CC to link
-:term:`CPPFLAGS` - Suggested
-preprocessor flags
-
-Securing Kernel and Filesystem Images
-=====================================
-
-You will need to have a kernel and filesystem image to boot using your
-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.
-
-Getting the Images
-------------------
-
-To get the kernel and filesystem images, you either have to build them
-or download pre-built versions. For an example of how to build these
-images, see the "`Buiding
-Images <&YOCTO_DOCS_QS_URL;#qs-buiding-images>`__" section of the Yocto
-Project Quick Start. For an example of downloading pre-build versions,
-see the "`Example Using Pre-Built Binaries and
-QEMU <#using-pre-built>`__" section.
-
-The Yocto Project ships basic kernel and filesystem images for several
-architectures (``x86``, ``x86-64``, ``mips``, ``powerpc``, and ``arm``)
-that you can use unaltered in the QEMU emulator. These kernel images
-reside in the release area - ` <&YOCTO_MACHINES_DL_URL;>`__ and are
-ideal for experimentation using Yocto Project. For information on the
-image types you can build using the OpenEmbedded build system, see the
-":ref:`ref-manual/ref-images:Images`" chapter in the Yocto
-Project Reference Manual.
-
-If you are planning on developing against your image and you are not
-building or using one of the Yocto Project development images (e.g.
-``core-image-*-dev``), you must be sure to include the development
-packages as part of your image recipe.
-
-If you plan on remotely deploying and debugging your application from
-within the Eclipse IDE, you must have an image that contains the Yocto
-Target Communication Framework (TCF) agent (``tcf-agent``). You can do
-this by including the ``eclipse-debug`` image feature.
-
-.. note::
-
- See the "
- Image Features
- " section in the Yocto Project Reference Manual for information on
- image features.
-
-To include the ``eclipse-debug`` image feature, modify your
-``local.conf`` file in the :term:`Build Directory`
-so that the
-:term:`EXTRA_IMAGE_FEATURES`
-variable includes the "eclipse-debug" feature. After modifying the
-configuration file, you can rebuild the image. Once the image is
-rebuilt, the ``tcf-agent`` will be included in the image and is launched
-automatically after the boot.
-
-Extracting the Root Filesystem
-------------------------------
-
-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.
-
-Here are some cases where you need to extract the root filesystem:
-
-- You want to boot the image using NFS.
-
-- 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.
-
-- You want to develop your target application using the root filesystem
- as the target sysroot.
-
-To extract the root filesystem, first ``source`` the cross-development
-environment setup script to establish necessary environment variables.
-If you built the toolchain in the Build Directory, you will find the
-toolchain environment script in the ``tmp`` directory. If you installed
-the toolchain by hand, the environment setup script is located in
-``/opt/poky/DISTRO``.
-
-After sourcing the environment script, use the ``runqemu-extract-sdk``
-command and provide the filesystem image.
-
-Following is an example. The second command sets up the environment. In
-this case, the setup script is located in the ``/opt/poky/DISTRO``
-directory. The third command extracts the root filesystem from a
-previously built filesystem that is located in the ``~/Downloads``
-directory. Furthermore, this command extracts the root filesystem into
-the ``qemux86-sato`` directory: $ cd ~ $ source
-/opt/poky/DISTRO/environment-setup-i586-poky-linux $ runqemu-extract-sdk
-\\ ~/Downloads/core-image-sato-sdk-qemux86-2011091411831.rootfs.tar.bz2
-\\ $HOME/qemux86-sato You could now point to the target sysroot at
-``qemux86-sato``.
-
-Optionally Building a Toolchain Installer
-=========================================
-
-As an alternative to locating and downloading a toolchain installer, you
-can build the toolchain installer if you have a :term:`Build Directory`.
-
-.. note::
-
- Although not the preferred method, it is also possible to use
- bitbake meta-toolchain
- to build the toolchain installer. 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 "
- Extracting the Root Filesystem
- " section.
-
-To build the toolchain installer and populate the SDK image, use the
-following command: $ bitbake image -c populate_sdk The command results
-in a toolchain installer that contains the sysroot that matches your
-target root filesystem.
-
-Another powerful feature is that the toolchain is completely
-self-contained. The binaries are linked against their own copy of
-``libc``, 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 ``populate_sdk`` archive.
-
-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 ``gcc`` as a set of
-compiler options. Those options are set up by the environment script and
-contained in variables such as :term:`CC`
-and :term:`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.
-
-Remember, before using any BitBake command, you must source the build
-environment setup script (i.e.
-````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__ or
-```oe-init-build-env-memres`` <&YOCTO_DOCS_REF_URL;#structure-memres-core-script>`__)
-located in the Source Directory and you must make sure your
-``conf/local.conf`` variables are correct. In particular, you need to be
-sure the :term:`MACHINE` variable
-matches the architecture for which you are building and that the
-:term:`SDKMACHINE` 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).
-
-When the ``bitbake`` command completes, the toolchain installer will be
-in ``tmp/deploy/sdk`` 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, you need
- to be sure your image has the appropriate static development
- libraries. Use the
- IMAGE_INSTALL
- variable inside your
- local.conf
- file to install the appropriate library packages. Following is an
- example using
- glibc
- static development libraries:
- ::
-
- IMAGE_INSTALL_append = " glibc-staticdev"
-
-
-Optionally Using an External Toolchain
-======================================
-
-You might want to use an external toolchain as part of your development.
-If this is the case, the fundamental steps you need to accomplish are as
-follows:
-
-- Understand where the installed toolchain resides. For cases where you
- need to build the external toolchain, you would need to take separate
- steps to build and install the toolchain.
-
-- Make sure you add the layer that contains the toolchain to your
- ``bblayers.conf`` file through the
- :term:`BBLAYERS` variable.
-
-- Set the
- :term:`EXTERNAL_TOOLCHAIN`
- variable in your ``local.conf`` file to the location in which you
- installed the toolchain.
-
-A good example of an external toolchain used with the Yocto Project is
-Mentor Graphics Sourcery G++ Toolchain. You can see information on how
-to use that particular layer in the ``README`` file at
-http://github.com/MentorEmbedded/meta-sourcery/. You can find
-further information by reading about the
-:term:`TCMODE` variable in the Yocto
-Project Reference Manual's variable glossary.
-
-.. _using-pre-built:
-
-Example Using Pre-Built Binaries and QEMU
-=========================================
-
-If hardware, libraries and services are stable, you can get started by
-using a pre-built binary of the filesystem image, kernel, and toolchain
-and run it using the QEMU emulator. This scenario is useful for
-developing application software.
-
-|Using a Pre-Built Image|
-
-For this scenario, you need to do several things:
-
-- Install the appropriate stand-alone toolchain tarball.
-
-- Download the pre-built image that will boot with QEMU. You need to be
- sure to get the QEMU image that matches your target machine's
- architecture (e.g. x86, ARM, etc.).
-
-- Download the filesystem image for your target machine's architecture.
-
-- Set up the environment to emulate the hardware and then start the
- QEMU emulator.
-
-Installing the Toolchain
-------------------------
-
-You can download a tarball installer, which includes the pre-built
-toolchain, the ``runqemu`` script, and support files from the
-appropriate directory under ` <&YOCTO_TOOLCHAIN_DL_URL;>`__. Toolchains
-are available for 32-bit and 64-bit x86 development systems from the
-``i686`` and ``x86_64`` directories, respectively. The toolchains the
-Yocto Project provides are based off the ``core-image-sato`` image and
-contain libraries appropriate for developing against that image. Each
-type of development system supports five or more target architectures.
-
-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.
-
-::
-
- poky-glibc-host_system-image_type-arch-toolchain-release_version.sh
-
- Where:
- host_system is a string representing your development system:
-
- i686 or x86_64.
-
- image_type is a string representing the image you wish to
- develop a Software Development Toolkit (SDK) for use against.
- The Yocto Project builds toolchain installers using the
- following BitBake command:
-
- bitbake core-image-sato -c populate_sdk
-
- arch is a string representing the tuned target architecture:
-
- i586, x86_64, powerpc, mips, armv7a or armv5te
-
- release_version is a string representing the release number of the
- Yocto Project:
-
- DISTRO, DISTRO+snapshot
-
-
-For example, the following toolchain installer is for a 64-bit
-development host system and a i586-tuned target architecture based off
-the SDK for ``core-image-sato``:
-poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
-
-Toolchains are self-contained and by default are installed into
-``/opt/poky``. However, when you run the toolchain installer, you can
-choose an installation directory.
-
-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. You must change the permissions on the toolchain installer
-script so that it is executable.
-
-The example assumes the toolchain installer is located in
-``~/Downloads/``.
-
-.. note::
-
- 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.
-
-$ ~/Downloads/poky-glibc-x86_64-core-image-sato-i586-toolchain-DISTRO.sh
-
-For more information on how to install tarballs, see the "`Using a
-Cross-Toolchain
-Tarball <&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball>`__"
-and "`Using BitBake and the Build
-Directory <&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree>`__"
-sections in the Yocto Project Application Developer's Guide.
-
-Downloading the Pre-Built Linux Kernel
---------------------------------------
-
-You can download the pre-built Linux kernel suitable for running in the
-QEMU emulator from ` <&YOCTO_QEMU_DL_URL;>`__. Be sure to use the kernel
-that matches the architecture you want to simulate. Download areas exist
-for the five supported machine architectures: ``qemuarm``, ``qemumips``,
-``qemuppc``, ``qemux86``, and ``qemux86-64``.
-
-Most kernel files have one of the following forms: \*zImage-qemuarch.bin
-vmlinux-qemuarch.bin Where: arch is a string representing the target
-architecture: x86, x86-64, ppc, mips, or arm.
-
-You can learn more about downloading a Yocto Project kernel in the
-"`Yocto Project Kernel <&YOCTO_DOCS_DEV_URL;#local-kernel-files>`__"
-bulleted item in the Yocto Project Development Manual.
-
-Downloading the Filesystem
---------------------------
-
-You can also download the filesystem image suitable for your target
-architecture from ` <&YOCTO_QEMU_DL_URL;>`__. Again, be sure to use the
-filesystem that matches the architecture you want to simulate.
-
-The filesystem image has two tarball forms: ``ext3`` and ``tar``. You
-must use the ``ext3`` form when booting an image using the QEMU
-emulator. The ``tar`` form can be flattened out in your host development
-system and used for build purposes with the Yocto Project.
-core-image-profile-qemuarch.ext3 core-image-profile-qemuarch.tar.bz2
-Where: profile is the filesystem image's profile: lsb, lsb-dev, lsb-sdk,
-lsb-qt3, minimal, minimal-dev, sato, sato-dev, or sato-sdk. For
-information on these types of image profiles, see the
-":ref:`ref-manual/ref-images:Images`" chapter in the Yocto
-Project Reference Manual. arch is a string representing the target
-architecture: x86, x86-64, ppc, mips, or arm.
-
-Setting Up the Environment and Starting the QEMU Emulator
----------------------------------------------------------
-
-Before you start the QEMU emulator, you need to set up the emulation
-environment. The following command form sets up the emulation
-environment. $ source
-YOCTO_ADTPATH_DIR/environment-setup-arch-poky-linux-if Where: arch is a
-string representing the target architecture: i586, x86_64, ppc603e,
-mips, or armv5te. if is a string representing an embedded application
-binary interface. Not all setup scripts include this string.
-
-Finally, this command form invokes the QEMU emulator $ runqemu qemuarch
-kernel-image filesystem-image Where: qemuarch is a string representing
-the target architecture: qemux86, qemux86-64, qemuppc, qemumips, or
-qemuarm. kernel-image is the architecture-specific kernel image.
-filesystem-image is the .ext3 filesystem image.
-
-Continuing with the example, the following two commands setup the
-emulation environment and launch QEMU. This example assumes the root
-filesystem (``.ext3`` file) and the pre-built kernel image file both
-reside in your home directory. The kernel and filesystem are for a
-32-bit target architecture. $ cd $HOME $ source
-YOCTO_ADTPATH_DIR/environment-setup-i586-poky-linux $ runqemu qemux86
-bzImage-qemux86.bin \\ core-image-sato-qemux86.ext3
-
-The environment in which QEMU launches varies depending on the
-filesystem image and on the target architecture. For example, if you
-source the environment for the ARM target architecture and then boot the
-minimal QEMU image, the emulator comes up in a new shell in command-line
-mode. However, if you boot the SDK image, QEMU comes up with a GUI.
-
-.. note::
-
- Booting the PPC image results in QEMU launching in the same shell in
- command-line mode.
-
-.. |Using a Pre-Built Image| image:: figures/using-a-pre-built-image.png