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
37*517393d9SAndrew GeisslerCurrently, the Yocto Project is supported on the following distributions:
3809209eecSAndrew Geissler
3909209eecSAndrew Geissler-  Ubuntu 18.04 (LTS)
4009209eecSAndrew Geissler
41ac69b488SWilliam A. Kennington III-  Ubuntu 20.04 (LTS)
4209209eecSAndrew Geissler
432194f503SPatrick Williams-  Ubuntu 22.04 (LTS)
442194f503SPatrick Williams
45595f6308SAndrew Geissler-  Fedora 34
4609209eecSAndrew Geissler
479aee5003SAndrew Geissler-  Fedora 35
489aee5003SAndrew Geissler
499aee5003SAndrew Geissler-  AlmaLinux 8.5
5009209eecSAndrew Geissler
5109209eecSAndrew Geissler-  Debian GNU/Linux 10.x (Buster)
5209209eecSAndrew Geissler
53595f6308SAndrew Geissler-  Debian GNU/Linux 11.x (Bullseye)
5409209eecSAndrew Geissler
559aee5003SAndrew Geissler-  OpenSUSE Leap 15.3
5609209eecSAndrew Geissler
5709209eecSAndrew Geissler.. note::
5809209eecSAndrew Geissler
5909209eecSAndrew Geissler   -  While the Yocto Project Team attempts to ensure all Yocto Project
6009209eecSAndrew Geissler      releases are one hundred percent compatible with each officially
61ac69b488SWilliam A. Kennington III      supported Linux distribution, you may still encounter problems
62ac69b488SWilliam A. Kennington III      that happen only with a specific distribution.
6309209eecSAndrew Geissler
6409209eecSAndrew Geissler   -  Yocto Project releases are tested against the stable Linux
6509209eecSAndrew Geissler      distributions in the above list. The Yocto Project should work
6609209eecSAndrew Geissler      on other distributions but validation is not performed against
6709209eecSAndrew Geissler      them.
6809209eecSAndrew Geissler
6909209eecSAndrew Geissler   -  In particular, the Yocto Project does not support and currently
7009209eecSAndrew Geissler      has no plans to support rolling-releases or development
7109209eecSAndrew Geissler      distributions due to their constantly changing nature. We welcome
7209209eecSAndrew Geissler      patches and bug reports, but keep in mind that our priority is on
73*517393d9SAndrew Geissler      the supported platforms listed above.
74*517393d9SAndrew Geissler
75*517393d9SAndrew Geissler   -  If your Linux distribution is not in the above list, we recommend to
76*517393d9SAndrew Geissler      get the :term:`buildtools` or :term:`buildtools-extended` tarballs
77*517393d9SAndrew Geissler      containing the host tools required by your Yocto Project release,
78*517393d9SAndrew Geissler      typically by running ``scripts/install-buildtools`` as explained in
79*517393d9SAndrew Geissler      the ":ref:`system-requirements-buildtools`" section.
8009209eecSAndrew Geissler
8109209eecSAndrew Geissler   -  You may use Windows Subsystem For Linux v2 to set up a build host
822390b1b6SPatrick Williams      using Windows 10 or later, or Windows Server 2019 or later, but validation
832390b1b6SPatrick Williams      is not performed against build hosts using WSL 2.
8409209eecSAndrew Geissler
852390b1b6SPatrick Williams      See the
862390b1b6SPatrick Williams      :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)`
872390b1b6SPatrick Williams      section in the Yocto Project Development Tasks Manual for more information.
8809209eecSAndrew Geissler
8909209eecSAndrew Geissler   -  If you encounter problems, please go to :yocto_bugs:`Yocto Project
9009209eecSAndrew Geissler      Bugzilla <>` and submit a bug. We are
9109209eecSAndrew Geissler      interested in hearing about your experience. For information on
9209209eecSAndrew Geissler      how to submit a bug, see the Yocto Project
9309209eecSAndrew Geissler      :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
94*517393d9SAndrew Geissler      and the ":ref:`dev-manual/changes:submitting a defect against the yocto project`"
9509209eecSAndrew Geissler      section in the Yocto Project Development Tasks Manual.
9609209eecSAndrew Geissler
9709209eecSAndrew Geissler
9809209eecSAndrew GeisslerRequired Packages for the Build Host
9909209eecSAndrew Geissler====================================
10009209eecSAndrew Geissler
10109209eecSAndrew GeisslerThe list of packages you need on the host development system can be
10209209eecSAndrew Geisslerlarge when covering all build scenarios using the Yocto Project. This
10309209eecSAndrew Geisslersection describes required packages according to Linux distribution and
10409209eecSAndrew Geisslerfunction.
10509209eecSAndrew Geissler
10609209eecSAndrew Geissler.. _ubuntu-packages:
10709209eecSAndrew Geissler
10809209eecSAndrew GeisslerUbuntu and Debian
10909209eecSAndrew Geissler-----------------
11009209eecSAndrew Geissler
111ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
11209209eecSAndrew Geisslersupported Ubuntu or Debian Linux distribution:
11309209eecSAndrew Geissler
11409209eecSAndrew Geissler.. note::
11509209eecSAndrew Geissler
11609209eecSAndrew Geissler   -  If your build system has the ``oss4-dev`` package installed, you
11709209eecSAndrew Geissler      might experience QEMU build failures due to the package installing
11809209eecSAndrew Geissler      its own custom ``/usr/include/linux/soundcard.h`` on the Debian
119ac69b488SWilliam A. Kennington III      system. If you run into this situation, try either of these solutions::
12009209eecSAndrew Geissler
121eff27476SAndrew Geissler         $ sudo apt build-dep qemu
122eff27476SAndrew Geissler         $ sudo apt remove oss4-dev
12309209eecSAndrew Geissler
124c926e17cSAndrew Geissler-  *Essentials:* Packages needed to build an image on a headless system::
12509209eecSAndrew Geissler
126eff27476SAndrew Geissler      $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
12709209eecSAndrew Geissler
12809209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
129c926e17cSAndrew Geissler   Yocto Project documentation manuals::
13009209eecSAndrew Geissler
13192b42cb3SPatrick Williams      $ sudo apt install make python3-pip inkscape texlive-latex-extra
13209209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
13309209eecSAndrew Geissler
13409209eecSAndrew GeisslerFedora Packages
13509209eecSAndrew Geissler---------------
13609209eecSAndrew Geissler
137ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
13809209eecSAndrew Geisslersupported Fedora Linux distribution:
13909209eecSAndrew Geissler
14009209eecSAndrew Geissler-  *Essentials:* Packages needed to build an image for a headless
141c926e17cSAndrew Geissler   system::
14209209eecSAndrew Geissler
14309209eecSAndrew Geissler      $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
14409209eecSAndrew Geissler
14509209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
146c926e17cSAndrew Geissler   Yocto Project documentation manuals::
14709209eecSAndrew Geissler
14892b42cb3SPatrick Williams      $ sudo dnf install make python3-pip which inkscape texlive-fncychap
14909209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
15009209eecSAndrew Geissler
15109209eecSAndrew GeissleropenSUSE Packages
15209209eecSAndrew Geissler-----------------
15309209eecSAndrew Geissler
154ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
15509209eecSAndrew Geisslersupported openSUSE Linux distribution:
15609209eecSAndrew Geissler
15709209eecSAndrew Geissler-  *Essentials:* Packages needed to build an image for a headless
158c926e17cSAndrew Geissler   system::
15909209eecSAndrew Geissler
16009209eecSAndrew Geissler      $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
16109209eecSAndrew Geissler
16209209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
163c926e17cSAndrew Geissler   Yocto Project documentation manuals::
16409209eecSAndrew Geissler
16592b42cb3SPatrick Williams      $ sudo zypper install make python3-pip which inkscape texlive-fncychap
16609209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
16709209eecSAndrew Geissler
16809209eecSAndrew Geissler
16992b42cb3SPatrick WilliamsAlmaLinux-8 Packages
17092b42cb3SPatrick Williams--------------------
17109209eecSAndrew Geissler
172ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a
17392b42cb3SPatrick Williamssupported AlmaLinux-8 Linux distribution:
17409209eecSAndrew Geissler
17509209eecSAndrew Geissler-  *Essentials:* Packages needed to build an image for a headless
176c926e17cSAndrew Geissler   system::
17709209eecSAndrew Geissler
17809209eecSAndrew Geissler      $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL;
17909209eecSAndrew Geissler
18009209eecSAndrew Geissler   .. note::
18109209eecSAndrew Geissler
18209209eecSAndrew Geissler      -  Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
18309209eecSAndrew Geissler         a collection of packages from Fedora built on RHEL/CentOS for
18409209eecSAndrew Geissler         easy installation of packages not included in enterprise Linux
18509209eecSAndrew Geissler         by default. You need to install these packages separately.
18609209eecSAndrew Geissler
18709209eecSAndrew Geissler      -  The ``PowerTools`` repo provides additional packages such as
18809209eecSAndrew Geissler         ``rpcgen`` and ``texinfo``.
18909209eecSAndrew Geissler
19009209eecSAndrew Geissler      -  The ``makecache`` command consumes additional Metadata from
19109209eecSAndrew Geissler         ``epel-release``.
19209209eecSAndrew Geissler
19309209eecSAndrew Geissler-  *Documentation:* Packages needed if you are going to build out the
194c926e17cSAndrew Geissler   Yocto Project documentation manuals::
19509209eecSAndrew Geissler
19692b42cb3SPatrick Williams      $ sudo dnf install make python3-pip which inkscape texlive-fncychap
19709209eecSAndrew Geissler      &PIP3_HOST_PACKAGES_DOC;
19809209eecSAndrew Geissler
199*517393d9SAndrew Geissler.. _system-requirements-buildtools:
200*517393d9SAndrew Geissler
201615f2f11SAndrew GeisslerRequired Git, tar, Python, make and gcc Versions
202615f2f11SAndrew Geissler================================================
20309209eecSAndrew Geissler
20409209eecSAndrew GeisslerIn order to use the build system, your host development system must meet
20509209eecSAndrew Geisslerthe following version requirements for Git, tar, and Python:
20609209eecSAndrew Geissler
2073b8a17c1SAndrew Geissler-  Git &MIN_GIT_VERSION; or greater
20809209eecSAndrew Geissler
2093b8a17c1SAndrew Geissler-  tar &MIN_TAR_VERSION; or greater
21009209eecSAndrew Geissler
2113b8a17c1SAndrew Geissler-  Python &MIN_PYTHON_VERSION; or greater
21209209eecSAndrew Geissler
213615f2f11SAndrew Geissler-  GNU make &MIN_MAKE_VERSION; or greater
214615f2f11SAndrew Geissler
21509209eecSAndrew GeisslerIf your host development system does not meet all these requirements,
216*517393d9SAndrew Geissleryou can resolve this by installing a :term:`buildtools` tarball that
217*517393d9SAndrew Geisslercontains these tools. You can either download a pre-built tarball or
218*517393d9SAndrew Geissleruse BitBake to build one.
21909209eecSAndrew Geissler
22009209eecSAndrew GeisslerIn addition, your host development system must meet the following
22109209eecSAndrew Geisslerversion requirement for gcc:
22209209eecSAndrew Geissler
2233b8a17c1SAndrew Geissler-  gcc &MIN_GCC_VERSION; or greater
22409209eecSAndrew Geissler
22509209eecSAndrew GeisslerIf your host development system does not meet this requirement, you can
226*517393d9SAndrew Geisslerresolve this by installing a :term:`buildtools-extended` tarball that
2273b8a17c1SAndrew Geisslercontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
2283b8a17c1SAndrew Geisslerpackage.
2293b8a17c1SAndrew Geissler
2302390b1b6SPatrick WilliamsFor systems with a broken make version (e.g. make 4.2.1 without patches) but
231*517393d9SAndrew Geisslerwhere the rest of the host tools are usable, you can use the :term:`buildtools-make`
2322390b1b6SPatrick Williamstarball instead.
2332390b1b6SPatrick Williams
2343b8a17c1SAndrew GeisslerIn the sections that follow, three different methods will be described for
235*517393d9SAndrew Geisslerinstalling the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`
2362390b1b6SPatrick Williamstoolset.
23709209eecSAndrew Geissler
23809209eecSAndrew GeisslerInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
23909209eecSAndrew Geissler--------------------------------------------------------------------------------
24009209eecSAndrew Geissler
24109209eecSAndrew GeisslerThe ``install-buildtools`` script is the easiest of the three methods by
242*517393d9SAndrew Geisslerwhich you can get these tools. It downloads a pre-built :term:`buildtools`
24309209eecSAndrew Geisslerinstaller and automatically installs the tools for you:
24409209eecSAndrew Geissler
245*517393d9SAndrew Geissler#. Execute the ``install-buildtools`` script. Here is an example::
24609209eecSAndrew Geissler
24709209eecSAndrew Geissler      $ cd poky
2485199d831SAndrew Geissler      $ scripts/install-buildtools \
2495199d831SAndrew Geissler        --without-extended-buildtools \
25009209eecSAndrew Geissler        --base-url &YOCTO_DL_URL;/releases/yocto \
25109209eecSAndrew Geissler        --release yocto-&DISTRO; \
25209209eecSAndrew Geissler        --installer-version &DISTRO;
25309209eecSAndrew Geissler
254*517393d9SAndrew Geissler   During execution, the :term:`buildtools` tarball will be downloaded, the
25509209eecSAndrew Geissler   checksum of the download will be verified, the installer will be run
2563b8a17c1SAndrew Geissler   for you, and some basic checks will be run to make sure the
25709209eecSAndrew Geissler   installation is functional.
25809209eecSAndrew Geissler
25909209eecSAndrew Geissler   To avoid the need of ``sudo`` privileges, the ``install-buildtools``
260c926e17cSAndrew Geissler   script will by default tell the installer to install in::
26109209eecSAndrew Geissler
26209209eecSAndrew Geissler      /path/to/poky/buildtools
26309209eecSAndrew Geissler
26409209eecSAndrew Geissler   If your host development system needs the additional tools provided
265*517393d9SAndrew Geissler   in the :term:`buildtools-extended` tarball, you can instead execute the
266c926e17cSAndrew Geissler   ``install-buildtools`` script with the default parameters::
26709209eecSAndrew Geissler
26809209eecSAndrew Geissler      $ cd poky
26909209eecSAndrew Geissler      $ scripts/install-buildtools
27009209eecSAndrew Geissler
2712390b1b6SPatrick Williams   Alternatively if your host development system has a broken ``make``
2722390b1b6SPatrick Williams   version such that you only need a known good version of ``make``,
273*517393d9SAndrew Geissler   you can use the ``--make-only`` option::
2742390b1b6SPatrick Williams
2752390b1b6SPatrick Williams      $ cd poky
2762390b1b6SPatrick Williams      $ scripts/install-buildtools --make-only
2772390b1b6SPatrick Williams
278*517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the
279c926e17cSAndrew Geissler   following::
28009209eecSAndrew Geissler
28109209eecSAndrew Geissler      $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
28209209eecSAndrew Geissler
28309209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
28409209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
28509209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
28609209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
287*517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
28809209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
28909209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
29009209eecSAndrew Geissler
29109209eecSAndrew GeisslerDownloading a Pre-Built ``buildtools`` Tarball
29209209eecSAndrew Geissler----------------------------------------------
29309209eecSAndrew Geissler
2943b8a17c1SAndrew GeisslerIf you would prefer not to use the ``install-buildtools`` script, you can instead
295*517393d9SAndrew Geisslerdownload and run a pre-built :term:`buildtools` installer yourself with the following
2963b8a17c1SAndrew Geisslersteps:
29709209eecSAndrew Geissler
298*517393d9SAndrew Geissler#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and
299*517393d9SAndrew Geissler   download the ``.sh`` file corresponding to your host architecture
300*517393d9SAndrew Geissler   and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`.
30109209eecSAndrew Geissler
302*517393d9SAndrew Geissler#. Execute the installation script. Here is an example for the
303c926e17cSAndrew Geissler   traditional installer::
30409209eecSAndrew Geissler
305d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
30609209eecSAndrew Geissler
307c926e17cSAndrew Geissler   Here is an example for the extended installer::
30809209eecSAndrew Geissler
309d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
31009209eecSAndrew Geissler
3112390b1b6SPatrick Williams   An example for the make-only installer::
3122390b1b6SPatrick Williams
3132390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
3142390b1b6SPatrick Williams
31509209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
31609209eecSAndrew Geissler   installation directory. For example, you could choose the following:
31709209eecSAndrew Geissler   ``/home/your-username/buildtools``
31809209eecSAndrew Geissler
319*517393d9SAndrew Geissler#. As instructed by the installer script, you will have to source the tools
320*517393d9SAndrew Geissler   environment setup script::
32109209eecSAndrew Geissler
322*517393d9SAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux
32309209eecSAndrew Geissler
32409209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
32509209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
32609209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
32709209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
328*517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
32909209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
33009209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
33109209eecSAndrew Geissler
33209209eecSAndrew GeisslerBuilding Your Own ``buildtools`` Tarball
33309209eecSAndrew Geissler----------------------------------------
33409209eecSAndrew Geissler
335*517393d9SAndrew GeisslerBuilding and running your own :term:`buildtools` installer applies only when you
33609209eecSAndrew Geisslerhave a build host that can already run BitBake. In this case, you use
33709209eecSAndrew Geisslerthat machine to build the ``.sh`` file and then take steps to transfer
33809209eecSAndrew Geisslerand run it on a machine that does not meet the minimal Git, tar, and
33909209eecSAndrew GeisslerPython (or gcc) requirements.
34009209eecSAndrew Geissler
341*517393d9SAndrew GeisslerHere are the steps to take to build and run your own :term:`buildtools`
34209209eecSAndrew Geisslerinstaller:
34309209eecSAndrew Geissler
344*517393d9SAndrew Geissler#. On the machine that is able to run BitBake, be sure you have set up
34509209eecSAndrew Geissler   your build environment with the setup script
34609209eecSAndrew Geissler   (:ref:`structure-core-script`).
34709209eecSAndrew Geissler
348*517393d9SAndrew Geissler#. Run the BitBake command to build the tarball::
34909209eecSAndrew Geissler
35009209eecSAndrew Geissler      $ bitbake buildtools-tarball
35109209eecSAndrew Geissler
352*517393d9SAndrew Geissler   or to build the extended tarball::
35309209eecSAndrew Geissler
35409209eecSAndrew Geissler      $ bitbake buildtools-extended-tarball
35509209eecSAndrew Geissler
3562390b1b6SPatrick Williams   or to build the make-only tarball::
3572390b1b6SPatrick Williams
3582390b1b6SPatrick Williams      $ bitbake buildtools-make-tarball
3592390b1b6SPatrick Williams
36009209eecSAndrew Geissler   .. note::
36109209eecSAndrew Geissler
36209209eecSAndrew Geissler      The :term:`SDKMACHINE` variable in your ``local.conf`` file determines
36309209eecSAndrew Geissler      whether you build tools for a 32-bit or 64-bit system.
36409209eecSAndrew Geissler
36509209eecSAndrew Geissler   Once the build completes, you can find the ``.sh`` file that installs
36609209eecSAndrew Geissler   the tools in the ``tmp/deploy/sdk`` subdirectory of the
36709209eecSAndrew Geissler   :term:`Build Directory`. The installer file has the string
368*517393d9SAndrew Geissler   "buildtools" or "buildtools-extended" in the name.
36909209eecSAndrew Geissler
370*517393d9SAndrew Geissler#. Transfer the ``.sh`` file from the build host to the machine that
37109209eecSAndrew Geissler   does not meet the Git, tar, or Python (or gcc) requirements.
37209209eecSAndrew Geissler
373*517393d9SAndrew Geissler#. On this machine, run the ``.sh`` file to install the tools. Here is an
374*517393d9SAndrew Geissler   example for the traditional installer::
37509209eecSAndrew Geissler
37609209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
37709209eecSAndrew Geissler
378*517393d9SAndrew Geissler   For the extended installer::
37909209eecSAndrew Geissler
38009209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
38109209eecSAndrew Geissler
382*517393d9SAndrew Geissler   And for the make-only installer::
3832390b1b6SPatrick Williams
3842390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
3852390b1b6SPatrick Williams
38609209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
38709209eecSAndrew Geissler   installation directory. For example, you could choose the following:
38809209eecSAndrew Geissler   ``/home/your_username/buildtools``
38909209eecSAndrew Geissler
390*517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the
391c926e17cSAndrew Geissler   following::
39209209eecSAndrew Geissler
39309209eecSAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
39409209eecSAndrew Geissler
39509209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
39609209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
39709209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
39809209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
399*517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
40009209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
40109209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
402