109209eecSAndrew Geissler.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
209209eecSAndrew Geissler
309209eecSAndrew Geissler*******************
409209eecSAndrew GeisslerSystem Requirements
509209eecSAndrew Geissler*******************
609209eecSAndrew Geissler
75199d831SAndrew GeisslerWelcome to the Yocto Project Reference Manual. This manual provides
809209eecSAndrew Geisslerreference information for the current release of the Yocto Project, and
909209eecSAndrew Geissleris most effectively used after you have an understanding of the basics
1009209eecSAndrew Geisslerof the Yocto Project. The manual is neither meant to be read as a
1109209eecSAndrew Geisslerstarting point to the Yocto Project, nor read from start to finish.
1209209eecSAndrew GeisslerRather, use this manual to find variable definitions, class
1309209eecSAndrew Geisslerdescriptions, and so forth as needed during the course of using the
1409209eecSAndrew GeisslerYocto Project.
1509209eecSAndrew Geissler
1609209eecSAndrew GeisslerFor introductory information on the Yocto Project, see the
1709209eecSAndrew Geissler:yocto_home:`Yocto Project Website <>` and the
1809209eecSAndrew Geissler":ref:`overview-manual/development-environment:the yocto project development environment`"
1909209eecSAndrew Geisslerchapter in the Yocto Project Overview and Concepts Manual.
2009209eecSAndrew Geissler
2109209eecSAndrew GeisslerIf you want to use the Yocto Project to quickly build an image without
2209209eecSAndrew Geisslerhaving to understand concepts, work through the
2309209eecSAndrew Geissler:doc:`/brief-yoctoprojectqs/index` document. You can find "how-to"
2409209eecSAndrew Geisslerinformation in the :doc:`/dev-manual/index`. You can find Yocto Project overview
2509209eecSAndrew Geisslerand conceptual information in the :doc:`/overview-manual/index`.
2609209eecSAndrew Geissler
2709209eecSAndrew Geissler.. note::
2809209eecSAndrew Geissler
2909209eecSAndrew Geissler   For more information about the Yocto Project Documentation set, see
3009209eecSAndrew Geissler   the :ref:`ref-manual/resources:links and related documentation` section.
3109209eecSAndrew Geissler
3209209eecSAndrew Geissler.. _detailed-supported-distros:
3309209eecSAndrew Geissler
3409209eecSAndrew GeisslerSupported Linux Distributions
3509209eecSAndrew Geissler=============================
3609209eecSAndrew Geissler
3709209eecSAndrew GeisslerCurrently, the Yocto Project is supported on the following
3809209eecSAndrew Geisslerdistributions:
3909209eecSAndrew Geissler
4009209eecSAndrew Geissler-  Ubuntu 18.04 (LTS)
4109209eecSAndrew Geissler
42ac69b488SWilliam A. Kennington III-  Ubuntu 20.04 (LTS)
4309209eecSAndrew Geissler
442194f503SPatrick Williams-  Ubuntu 22.04 (LTS)
452194f503SPatrick Williams
46595f6308SAndrew Geissler-  Fedora 34
4709209eecSAndrew Geissler
489aee5003SAndrew Geissler-  Fedora 35
499aee5003SAndrew Geissler
509aee5003SAndrew Geissler-  AlmaLinux 8.5
5109209eecSAndrew Geissler
5209209eecSAndrew Geissler-  Debian GNU/Linux 10.x (Buster)
5309209eecSAndrew Geissler
54595f6308SAndrew Geissler-  Debian GNU/Linux 11.x (Bullseye)
5509209eecSAndrew Geissler
569aee5003SAndrew Geissler-  OpenSUSE Leap 15.3
5709209eecSAndrew Geissler
5809209eecSAndrew Geissler.. note::
5909209eecSAndrew Geissler
6009209eecSAndrew Geissler   -  While the Yocto Project Team attempts to ensure all Yocto Project
6109209eecSAndrew Geissler      releases are one hundred percent compatible with each officially
62ac69b488SWilliam A. Kennington III      supported Linux distribution, you may still encounter problems
63ac69b488SWilliam A. Kennington III      that happen only with a specific distribution.
6409209eecSAndrew Geissler
6509209eecSAndrew Geissler   -  Yocto Project releases are tested against the stable Linux
6609209eecSAndrew Geissler      distributions in the above list. The Yocto Project should work
6709209eecSAndrew Geissler      on other distributions but validation is not performed against
6809209eecSAndrew Geissler      them.
6909209eecSAndrew Geissler
7009209eecSAndrew Geissler   -  In particular, the Yocto Project does not support and currently
7109209eecSAndrew Geissler      has no plans to support rolling-releases or development
7209209eecSAndrew Geissler      distributions due to their constantly changing nature. We welcome
7309209eecSAndrew Geissler      patches and bug reports, but keep in mind that our priority is on
7409209eecSAndrew Geissler      the supported platforms listed below.
7509209eecSAndrew Geissler
7609209eecSAndrew Geissler   -  You may use Windows Subsystem For Linux v2 to set up a build host
77*2390b1b6SPatrick Williams      using Windows 10 or later, or Windows Server 2019 or later, but validation
78*2390b1b6SPatrick Williams      is not performed against build hosts using WSL 2.
7909209eecSAndrew Geissler
80*2390b1b6SPatrick Williams      See the
81*2390b1b6SPatrick Williams      :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)`
82*2390b1b6SPatrick Williams      section in the Yocto Project Development Tasks Manual for more information.
8309209eecSAndrew Geissler
8409209eecSAndrew Geissler   -  If you encounter problems, please go to :yocto_bugs:`Yocto Project
8509209eecSAndrew Geissler      Bugzilla <>` and submit a bug. We are
8609209eecSAndrew Geissler      interested in hearing about your experience. For information on
8709209eecSAndrew Geissler      how to submit a bug, see the Yocto Project
8809209eecSAndrew Geissler      :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
8909209eecSAndrew Geissler      and the ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`"
9009209eecSAndrew Geissler      section in the Yocto Project Development Tasks Manual.
9109209eecSAndrew Geissler
9209209eecSAndrew Geissler
9309209eecSAndrew GeisslerRequired Packages for the Build Host
9409209eecSAndrew Geissler====================================
9509209eecSAndrew Geissler
9609209eecSAndrew GeisslerThe list of packages you need on the host development system can be
9709209eecSAndrew Geisslerlarge when covering all build scenarios using the Yocto Project. This
9809209eecSAndrew Geisslersection describes required packages according to Linux distribution and
9909209eecSAndrew Geisslerfunction.
10009209eecSAndrew Geissler
10109209eecSAndrew Geissler.. _ubuntu-packages:
10209209eecSAndrew Geissler
10309209eecSAndrew GeisslerUbuntu and Debian
10409209eecSAndrew Geissler-----------------
10509209eecSAndrew Geissler
106ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
10709209eecSAndrew Geisslersupported Ubuntu or Debian Linux distribution:
10809209eecSAndrew Geissler
10909209eecSAndrew Geissler.. note::
11009209eecSAndrew Geissler
11109209eecSAndrew Geissler   -  If your build system has the ``oss4-dev`` package installed, you
11209209eecSAndrew Geissler      might experience QEMU build failures due to the package installing
11309209eecSAndrew Geissler      its own custom ``/usr/include/linux/soundcard.h`` on the Debian
114ac69b488SWilliam A. Kennington III      system. If you run into this situation, try either of these solutions::
11509209eecSAndrew Geissler
116eff27476SAndrew Geissler         $ sudo apt build-dep qemu
117eff27476SAndrew Geissler         $ sudo apt remove oss4-dev
11809209eecSAndrew Geissler
119c926e17cSAndrew Geissler-  *Essentials:* Packages needed to build an image on a headless system::
12009209eecSAndrew Geissler
121eff27476SAndrew Geissler      $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
12209209eecSAndrew Geissler
12309209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
124c926e17cSAndrew Geissler   Yocto Project documentation manuals::
12509209eecSAndrew Geissler
12692b42cb3SPatrick Williams      $ sudo apt install make python3-pip inkscape texlive-latex-extra
12709209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
12809209eecSAndrew Geissler
12909209eecSAndrew GeisslerFedora Packages
13009209eecSAndrew Geissler---------------
13109209eecSAndrew Geissler
132ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
13309209eecSAndrew Geisslersupported Fedora Linux distribution:
13409209eecSAndrew Geissler
13509209eecSAndrew Geissler-  *Essentials:* Packages needed to build an image for a headless
136c926e17cSAndrew Geissler   system::
13709209eecSAndrew Geissler
13809209eecSAndrew Geissler      $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
13909209eecSAndrew Geissler
14009209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
141c926e17cSAndrew Geissler   Yocto Project documentation manuals::
14209209eecSAndrew Geissler
14392b42cb3SPatrick Williams      $ sudo dnf install make python3-pip which inkscape texlive-fncychap
14409209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
14509209eecSAndrew Geissler
14609209eecSAndrew GeissleropenSUSE Packages
14709209eecSAndrew Geissler-----------------
14809209eecSAndrew Geissler
149ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
15009209eecSAndrew Geisslersupported openSUSE Linux distribution:
15109209eecSAndrew Geissler
15209209eecSAndrew Geissler-  *Essentials:* Packages needed to build an image for a headless
153c926e17cSAndrew Geissler   system::
15409209eecSAndrew Geissler
15509209eecSAndrew Geissler      $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
15609209eecSAndrew Geissler
15709209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
158c926e17cSAndrew Geissler   Yocto Project documentation manuals::
15909209eecSAndrew Geissler
16092b42cb3SPatrick Williams      $ sudo zypper install make python3-pip which inkscape texlive-fncychap
16109209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
16209209eecSAndrew Geissler
16309209eecSAndrew Geissler
16492b42cb3SPatrick WilliamsAlmaLinux-8 Packages
16592b42cb3SPatrick Williams--------------------
16609209eecSAndrew Geissler
167ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
16892b42cb3SPatrick Williamssupported AlmaLinux-8 Linux distribution:
16909209eecSAndrew Geissler
17009209eecSAndrew Geissler-  *Essentials:* Packages needed to build an image for a headless
171c926e17cSAndrew Geissler   system::
17209209eecSAndrew Geissler
17309209eecSAndrew Geissler      $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL;
17409209eecSAndrew Geissler
17509209eecSAndrew Geissler   .. note::
17609209eecSAndrew Geissler
17709209eecSAndrew Geissler      -  Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
17809209eecSAndrew Geissler         a collection of packages from Fedora built on RHEL/CentOS for
17909209eecSAndrew Geissler         easy installation of packages not included in enterprise Linux
18009209eecSAndrew Geissler         by default. You need to install these packages separately.
18109209eecSAndrew Geissler
18209209eecSAndrew Geissler      -  The ``PowerTools`` repo provides additional packages such as
18309209eecSAndrew Geissler         ``rpcgen`` and ``texinfo``.
18409209eecSAndrew Geissler
18509209eecSAndrew Geissler      -  The ``makecache`` command consumes additional Metadata from
18609209eecSAndrew Geissler         ``epel-release``.
18709209eecSAndrew Geissler
18809209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
189c926e17cSAndrew Geissler   Yocto Project documentation manuals::
19009209eecSAndrew Geissler
19192b42cb3SPatrick Williams      $ sudo dnf install make python3-pip which inkscape texlive-fncychap
19209209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
19309209eecSAndrew Geissler
194615f2f11SAndrew GeisslerRequired Git, tar, Python, make and gcc Versions
195615f2f11SAndrew Geissler================================================
19609209eecSAndrew Geissler
19709209eecSAndrew GeisslerIn order to use the build system, your host development system must meet
19809209eecSAndrew Geisslerthe following version requirements for Git, tar, and Python:
19909209eecSAndrew Geissler
2003b8a17c1SAndrew Geissler-  Git &MIN_GIT_VERSION; or greater
20109209eecSAndrew Geissler
2023b8a17c1SAndrew Geissler-  tar &MIN_TAR_VERSION; or greater
20309209eecSAndrew Geissler
2043b8a17c1SAndrew Geissler-  Python &MIN_PYTHON_VERSION; or greater
20509209eecSAndrew Geissler
206615f2f11SAndrew Geissler-  GNU make &MIN_MAKE_VERSION; or greater
207615f2f11SAndrew Geissler
20809209eecSAndrew GeisslerIf your host development system does not meet all these requirements,
20909209eecSAndrew Geissleryou can resolve this by installing a ``buildtools`` tarball that
21009209eecSAndrew Geisslercontains these tools. You can get the tarball one of two ways: download
21109209eecSAndrew Geisslera pre-built tarball or use BitBake to build the tarball.
21209209eecSAndrew Geissler
21309209eecSAndrew GeisslerIn addition, your host development system must meet the following
21409209eecSAndrew Geisslerversion requirement for gcc:
21509209eecSAndrew Geissler
2163b8a17c1SAndrew Geissler-  gcc &MIN_GCC_VERSION; or greater
21709209eecSAndrew Geissler
21809209eecSAndrew GeisslerIf your host development system does not meet this requirement, you can
21909209eecSAndrew Geisslerresolve this by installing a ``buildtools-extended`` tarball that
2203b8a17c1SAndrew Geisslercontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
2213b8a17c1SAndrew Geisslerpackage.
2223b8a17c1SAndrew Geissler
223*2390b1b6SPatrick WilliamsFor systems with a broken make version (e.g. make 4.2.1 without patches) but
224*2390b1b6SPatrick Williamswhere the rest of the host tools are usable, you can use the ``buildtools-make``
225*2390b1b6SPatrick Williamstarball instead.
226*2390b1b6SPatrick Williams
2273b8a17c1SAndrew GeisslerIn the sections that follow, three different methods will be described for
228*2390b1b6SPatrick Williamsinstalling the ``buildtools``, ``buildtools-extended`` or ``buildtools-make``
229*2390b1b6SPatrick Williamstoolset.
23009209eecSAndrew Geissler
23109209eecSAndrew GeisslerInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
23209209eecSAndrew Geissler--------------------------------------------------------------------------------
23309209eecSAndrew Geissler
23409209eecSAndrew GeisslerThe ``install-buildtools`` script is the easiest of the three methods by
23509209eecSAndrew Geisslerwhich you can get these tools. It downloads a pre-built buildtools
23609209eecSAndrew Geisslerinstaller and automatically installs the tools for you:
23709209eecSAndrew Geissler
238c926e17cSAndrew Geissler1. Execute the ``install-buildtools`` script. Here is an example::
23909209eecSAndrew Geissler
24009209eecSAndrew Geissler      $ cd poky
2415199d831SAndrew Geissler      $ scripts/install-buildtools \
2425199d831SAndrew Geissler        --without-extended-buildtools \
24309209eecSAndrew Geissler        --base-url &YOCTO_DL_URL;/releases/yocto \
24409209eecSAndrew Geissler        --release yocto-&DISTRO; \
24509209eecSAndrew Geissler        --installer-version &DISTRO;
24609209eecSAndrew Geissler
24709209eecSAndrew Geissler   During execution, the buildtools tarball will be downloaded, the
24809209eecSAndrew Geissler   checksum of the download will be verified, the installer will be run
2493b8a17c1SAndrew Geissler   for you, and some basic checks will be run to make sure the
25009209eecSAndrew Geissler   installation is functional.
25109209eecSAndrew Geissler
25209209eecSAndrew Geissler   To avoid the need of ``sudo`` privileges, the ``install-buildtools``
253c926e17cSAndrew Geissler   script will by default tell the installer to install in::
25409209eecSAndrew Geissler
25509209eecSAndrew Geissler      /path/to/poky/buildtools
25609209eecSAndrew Geissler
25709209eecSAndrew Geissler   If your host development system needs the additional tools provided
25809209eecSAndrew Geissler   in the ``buildtools-extended`` tarball, you can instead execute the
259c926e17cSAndrew Geissler   ``install-buildtools`` script with the default parameters::
26009209eecSAndrew Geissler
26109209eecSAndrew Geissler      $ cd poky
26209209eecSAndrew Geissler      $ scripts/install-buildtools
26309209eecSAndrew Geissler
264*2390b1b6SPatrick Williams   Alternatively if your host development system has a broken ``make``
265*2390b1b6SPatrick Williams   version such that you only need a known good version of ``make``,
266*2390b1b6SPatrick Williams   you can use the ``--make-only`` option:
267*2390b1b6SPatrick Williams
268*2390b1b6SPatrick Williams      $ cd poky
269*2390b1b6SPatrick Williams      $ scripts/install-buildtools --make-only
270*2390b1b6SPatrick Williams
27109209eecSAndrew Geissler2. Source the tools environment setup script by using a command like the
272c926e17cSAndrew Geissler   following::
27309209eecSAndrew Geissler
27409209eecSAndrew Geissler      $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
27509209eecSAndrew Geissler
27609209eecSAndrew Geissler   Of course, you need to supply your installation directory and be sure to
27709209eecSAndrew Geissler   use the right file (i.e. i586 or x86_64).
27809209eecSAndrew Geissler
27909209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
28009209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
28109209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
28209209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
28309209eecSAndrew Geissler   ``buildtools-extended`` tarball, additional working versions of tools
28409209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
28509209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
28609209eecSAndrew Geissler
28709209eecSAndrew GeisslerDownloading a Pre-Built ``buildtools`` Tarball
28809209eecSAndrew Geissler----------------------------------------------
28909209eecSAndrew Geissler
2903b8a17c1SAndrew GeisslerIf you would prefer not to use the ``install-buildtools`` script, you can instead
2913b8a17c1SAndrew Geisslerdownload and run a pre-built buildtools installer yourself with the following
2923b8a17c1SAndrew Geisslersteps:
29309209eecSAndrew Geissler
2947e0e3c0cSAndrew Geissler1. Locate and download the ``*.sh`` at :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`
29509209eecSAndrew Geissler
29609209eecSAndrew Geissler2. Execute the installation script. Here is an example for the
297c926e17cSAndrew Geissler   traditional installer::
29809209eecSAndrew Geissler
299d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
30009209eecSAndrew Geissler
301c926e17cSAndrew Geissler   Here is an example for the extended installer::
30209209eecSAndrew Geissler
303d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
30409209eecSAndrew Geissler
305*2390b1b6SPatrick Williams   An example for the make-only installer::
306*2390b1b6SPatrick Williams
307*2390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
308*2390b1b6SPatrick Williams
30909209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
31009209eecSAndrew Geissler   installation directory. For example, you could choose the following:
31109209eecSAndrew Geissler   ``/home/your-username/buildtools``
31209209eecSAndrew Geissler
31309209eecSAndrew Geissler3. Source the tools environment setup script by using a command like the
314c926e17cSAndrew Geissler   following::
31509209eecSAndrew Geissler
31609209eecSAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-i586-poky-linux
31709209eecSAndrew Geissler
31809209eecSAndrew Geissler   Of
31909209eecSAndrew Geissler   course, you need to supply your installation directory and be sure to
32009209eecSAndrew Geissler   use the right file (i.e. i585 or x86-64).
32109209eecSAndrew Geissler
32209209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
32309209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
32409209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
32509209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
32609209eecSAndrew Geissler   ``buildtools-extended`` tarball, additional working versions of tools
32709209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
32809209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
32909209eecSAndrew Geissler
33009209eecSAndrew GeisslerBuilding Your Own ``buildtools`` Tarball
33109209eecSAndrew Geissler----------------------------------------
33209209eecSAndrew Geissler
33309209eecSAndrew GeisslerBuilding and running your own buildtools installer applies only when you
33409209eecSAndrew Geisslerhave a build host that can already run BitBake. In this case, you use
33509209eecSAndrew Geisslerthat machine to build the ``.sh`` file and then take steps to transfer
33609209eecSAndrew Geisslerand run it on a machine that does not meet the minimal Git, tar, and
33709209eecSAndrew GeisslerPython (or gcc) requirements.
33809209eecSAndrew Geissler
33909209eecSAndrew GeisslerHere are the steps to take to build and run your own buildtools
34009209eecSAndrew Geisslerinstaller:
34109209eecSAndrew Geissler
34209209eecSAndrew Geissler1. On the machine that is able to run BitBake, be sure you have set up
34309209eecSAndrew Geissler   your build environment with the setup script
34409209eecSAndrew Geissler   (:ref:`structure-core-script`).
34509209eecSAndrew Geissler
346c926e17cSAndrew Geissler2. Run the BitBake command to build the tarball::
34709209eecSAndrew Geissler
34809209eecSAndrew Geissler      $ bitbake buildtools-tarball
34909209eecSAndrew Geissler
350c926e17cSAndrew Geissler   or run the BitBake command to build the extended tarball::
35109209eecSAndrew Geissler
35209209eecSAndrew Geissler      $ bitbake buildtools-extended-tarball
35309209eecSAndrew Geissler
354*2390b1b6SPatrick Williams   or to build the make-only tarball::
355*2390b1b6SPatrick Williams
356*2390b1b6SPatrick Williams      $ bitbake buildtools-make-tarball
357*2390b1b6SPatrick Williams
35809209eecSAndrew Geissler   .. note::
35909209eecSAndrew Geissler
36009209eecSAndrew Geissler      The :term:`SDKMACHINE` variable in your ``local.conf`` file determines
36109209eecSAndrew Geissler      whether you build tools for a 32-bit or 64-bit system.
36209209eecSAndrew Geissler
36309209eecSAndrew Geissler   Once the build completes, you can find the ``.sh`` file that installs
36409209eecSAndrew Geissler   the tools in the ``tmp/deploy/sdk`` subdirectory of the
36509209eecSAndrew Geissler   :term:`Build Directory`. The installer file has the string
36609209eecSAndrew Geissler   "buildtools" (or "buildtools-extended") in the name.
36709209eecSAndrew Geissler
36809209eecSAndrew Geissler3. Transfer the ``.sh`` file from the build host to the machine that
36909209eecSAndrew Geissler   does not meet the Git, tar, or Python (or gcc) requirements.
37009209eecSAndrew Geissler
37109209eecSAndrew Geissler4. On the machine that does not meet the requirements, run the ``.sh``
37209209eecSAndrew Geissler   file to install the tools. Here is an example for the traditional
373c926e17cSAndrew Geissler   installer::
37409209eecSAndrew Geissler
37509209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
37609209eecSAndrew Geissler
377c926e17cSAndrew Geissler   Here is an example for the extended installer::
37809209eecSAndrew Geissler
37909209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
38009209eecSAndrew Geissler
381*2390b1b6SPatrick Williams   or for the make-only installer::
382*2390b1b6SPatrick Williams
383*2390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
384*2390b1b6SPatrick Williams
38509209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
38609209eecSAndrew Geissler   installation directory. For example, you could choose the following:
38709209eecSAndrew Geissler   ``/home/your_username/buildtools``
38809209eecSAndrew Geissler
38909209eecSAndrew Geissler5. Source the tools environment setup script by using a command like the
390c926e17cSAndrew Geissler   following::
39109209eecSAndrew Geissler
39209209eecSAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
39309209eecSAndrew Geissler
39409209eecSAndrew Geissler   Of course, you need to supply your installation directory and be sure to
39509209eecSAndrew Geissler   use the right file (i.e. i586 or x86_64).
39609209eecSAndrew Geissler
39709209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
39809209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
39909209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
40009209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
40109209eecSAndrew Geissler   ``buildtools-extended`` tarball, additional working versions of tools
40209209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
40309209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
404