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
37517393d9SAndrew 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
456aa7eec5SAndrew Geissler-  Fedora 36
4609209eecSAndrew Geissler
476aa7eec5SAndrew Geissler-  Fedora 37
489aee5003SAndrew Geissler
496aa7eec5SAndrew Geissler-  AlmaLinux 8.7
5009209eecSAndrew Geissler
516aa7eec5SAndrew Geissler-  AlmaLinux 9.1
5209209eecSAndrew Geissler
53595f6308SAndrew Geissler-  Debian GNU/Linux 11.x (Bullseye)
5409209eecSAndrew Geissler
559aee5003SAndrew Geissler-  OpenSUSE Leap 15.3
5609209eecSAndrew Geissler
576aa7eec5SAndrew Geissler-  OpenSUSE Leap 15.4
586aa7eec5SAndrew Geissler
5909209eecSAndrew Geissler.. note::
6009209eecSAndrew Geissler
6109209eecSAndrew Geissler   -  While the Yocto Project Team attempts to ensure all Yocto Project
6209209eecSAndrew Geissler      releases are one hundred percent compatible with each officially
63ac69b488SWilliam A. Kennington III      supported Linux distribution, you may still encounter problems
64ac69b488SWilliam A. Kennington III      that happen only with a specific distribution.
6509209eecSAndrew Geissler
6609209eecSAndrew Geissler   -  Yocto Project releases are tested against the stable Linux
6709209eecSAndrew Geissler      distributions in the above list. The Yocto Project should work
6809209eecSAndrew Geissler      on other distributions but validation is not performed against
6909209eecSAndrew Geissler      them.
7009209eecSAndrew Geissler
7109209eecSAndrew Geissler   -  In particular, the Yocto Project does not support and currently
7209209eecSAndrew Geissler      has no plans to support rolling-releases or development
7309209eecSAndrew Geissler      distributions due to their constantly changing nature. We welcome
7409209eecSAndrew Geissler      patches and bug reports, but keep in mind that our priority is on
75517393d9SAndrew Geissler      the supported platforms listed above.
76517393d9SAndrew Geissler
77517393d9SAndrew Geissler   -  If your Linux distribution is not in the above list, we recommend to
78517393d9SAndrew Geissler      get the :term:`buildtools` or :term:`buildtools-extended` tarballs
79517393d9SAndrew Geissler      containing the host tools required by your Yocto Project release,
80517393d9SAndrew Geissler      typically by running ``scripts/install-buildtools`` as explained in
81517393d9SAndrew Geissler      the ":ref:`system-requirements-buildtools`" section.
8209209eecSAndrew Geissler
8309209eecSAndrew Geissler   -  You may use Windows Subsystem For Linux v2 to set up a build host
842390b1b6SPatrick Williams      using Windows 10 or later, or Windows Server 2019 or later, but validation
852390b1b6SPatrick Williams      is not performed against build hosts using WSL 2.
8609209eecSAndrew Geissler
872390b1b6SPatrick Williams      See the
882390b1b6SPatrick Williams      :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)`
892390b1b6SPatrick Williams      section in the Yocto Project Development Tasks Manual for more information.
9009209eecSAndrew Geissler
9109209eecSAndrew Geissler   -  If you encounter problems, please go to :yocto_bugs:`Yocto Project
9209209eecSAndrew Geissler      Bugzilla <>` and submit a bug. We are
9309209eecSAndrew Geissler      interested in hearing about your experience. For information on
9409209eecSAndrew Geissler      how to submit a bug, see the Yocto Project
9509209eecSAndrew Geissler      :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
96517393d9SAndrew Geissler      and the ":ref:`dev-manual/changes:submitting a defect against the yocto project`"
9709209eecSAndrew Geissler      section in the Yocto Project Development Tasks Manual.
9809209eecSAndrew Geissler
9909209eecSAndrew Geissler
10009209eecSAndrew GeisslerRequired Packages for the Build Host
10109209eecSAndrew Geissler====================================
10209209eecSAndrew Geissler
10309209eecSAndrew GeisslerThe list of packages you need on the host development system can be
10409209eecSAndrew Geisslerlarge when covering all build scenarios using the Yocto Project. This
10509209eecSAndrew Geisslersection describes required packages according to Linux distribution and
10609209eecSAndrew Geisslerfunction.
10709209eecSAndrew Geissler
10809209eecSAndrew Geissler.. _ubuntu-packages:
10909209eecSAndrew Geissler
11009209eecSAndrew GeisslerUbuntu and Debian
11109209eecSAndrew Geissler-----------------
11209209eecSAndrew Geissler
113*fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
114*fc113eadSAndrew Geisslerwith a supported Ubuntu or Debian Linux distribution::
115*fc113eadSAndrew Geissler
116*fc113eadSAndrew Geissler   $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
11709209eecSAndrew Geissler
11809209eecSAndrew Geissler.. note::
11909209eecSAndrew Geissler
12009209eecSAndrew Geissler   -  If your build system has the ``oss4-dev`` package installed, you
12109209eecSAndrew Geissler      might experience QEMU build failures due to the package installing
12209209eecSAndrew Geissler      its own custom ``/usr/include/linux/soundcard.h`` on the Debian
123ac69b488SWilliam A. Kennington III      system. If you run into this situation, try either of these solutions::
12409209eecSAndrew Geissler
125eff27476SAndrew Geissler         $ sudo apt build-dep qemu
126eff27476SAndrew Geissler         $ sudo apt remove oss4-dev
12709209eecSAndrew Geissler
128*fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals::
12909209eecSAndrew Geissler
13092b42cb3SPatrick Williams   $ sudo apt install make python3-pip inkscape texlive-latex-extra
13109209eecSAndrew Geissler   &PIP3_HOST_PACKAGES_DOC;
13209209eecSAndrew Geissler
13309209eecSAndrew GeisslerFedora Packages
13409209eecSAndrew Geissler---------------
13509209eecSAndrew Geissler
136*fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
137*fc113eadSAndrew Geisslerwith a supported Fedora Linux distribution::
13809209eecSAndrew Geissler
13909209eecSAndrew Geissler   $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
14009209eecSAndrew Geissler
141*fc113eadSAndrew GeisslerHere are the packages needed to build 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
149*fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
150*fc113eadSAndrew Geisslerwith a supported openSUSE distribution::
15109209eecSAndrew Geissler
15209209eecSAndrew Geissler   $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
15309209eecSAndrew Geissler
154*fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals::
15509209eecSAndrew Geissler
15692b42cb3SPatrick Williams   $ sudo zypper install make python3-pip which inkscape texlive-fncychap
15709209eecSAndrew Geissler   &PIP3_HOST_PACKAGES_DOC;
15809209eecSAndrew Geissler
15909209eecSAndrew Geissler
160*fc113eadSAndrew GeisslerAlmaLinux Packages
161*fc113eadSAndrew Geissler------------------
16209209eecSAndrew Geissler
163*fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
164*fc113eadSAndrew Geisslerwith a supported AlmaLinux distribution::
16509209eecSAndrew Geissler
166*fc113eadSAndrew Geissler   $ sudo dnf install &ALMALINUX8_HOST_PACKAGES_ESSENTIAL;
16709209eecSAndrew Geissler
16809209eecSAndrew Geissler.. note::
16909209eecSAndrew Geissler
17009209eecSAndrew Geissler   -  Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
17109209eecSAndrew Geissler      a collection of packages from Fedora built on RHEL/CentOS for
17209209eecSAndrew Geissler      easy installation of packages not included in enterprise Linux
17309209eecSAndrew Geissler      by default. You need to install these packages separately.
17409209eecSAndrew Geissler
175*fc113eadSAndrew Geissler   -  The ``PowerTools/CRB`` repo provides additional packages such as
17609209eecSAndrew Geissler      ``rpcgen`` and ``texinfo``.
17709209eecSAndrew Geissler
17809209eecSAndrew Geissler   -  The ``makecache`` command consumes additional Metadata from
17909209eecSAndrew Geissler      ``epel-release``.
18009209eecSAndrew Geissler
181*fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals::
18209209eecSAndrew Geissler
18392b42cb3SPatrick Williams   $ sudo dnf install make python3-pip which inkscape texlive-fncychap
18409209eecSAndrew Geissler   &PIP3_HOST_PACKAGES_DOC;
18509209eecSAndrew Geissler
186517393d9SAndrew Geissler.. _system-requirements-buildtools:
187517393d9SAndrew Geissler
188615f2f11SAndrew GeisslerRequired Git, tar, Python, make and gcc Versions
189615f2f11SAndrew Geissler================================================
19009209eecSAndrew Geissler
19109209eecSAndrew GeisslerIn order to use the build system, your host development system must meet
19209209eecSAndrew Geisslerthe following version requirements for Git, tar, and Python:
19309209eecSAndrew Geissler
1943b8a17c1SAndrew Geissler-  Git &MIN_GIT_VERSION; or greater
19509209eecSAndrew Geissler
1963b8a17c1SAndrew Geissler-  tar &MIN_TAR_VERSION; or greater
19709209eecSAndrew Geissler
1983b8a17c1SAndrew Geissler-  Python &MIN_PYTHON_VERSION; or greater
19909209eecSAndrew Geissler
200615f2f11SAndrew Geissler-  GNU make &MIN_MAKE_VERSION; or greater
201615f2f11SAndrew Geissler
20209209eecSAndrew GeisslerIf your host development system does not meet all these requirements,
203517393d9SAndrew Geissleryou can resolve this by installing a :term:`buildtools` tarball that
204517393d9SAndrew Geisslercontains these tools. You can either download a pre-built tarball or
205517393d9SAndrew Geissleruse BitBake to build one.
20609209eecSAndrew Geissler
20709209eecSAndrew GeisslerIn addition, your host development system must meet the following
20809209eecSAndrew Geisslerversion requirement for gcc:
20909209eecSAndrew Geissler
2103b8a17c1SAndrew Geissler-  gcc &MIN_GCC_VERSION; or greater
21109209eecSAndrew Geissler
21209209eecSAndrew GeisslerIf your host development system does not meet this requirement, you can
213517393d9SAndrew Geisslerresolve this by installing a :term:`buildtools-extended` tarball that
2143b8a17c1SAndrew Geisslercontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
2153b8a17c1SAndrew Geisslerpackage.
2163b8a17c1SAndrew Geissler
2172390b1b6SPatrick WilliamsFor systems with a broken make version (e.g. make 4.2.1 without patches) but
218517393d9SAndrew Geisslerwhere the rest of the host tools are usable, you can use the :term:`buildtools-make`
2192390b1b6SPatrick Williamstarball instead.
2202390b1b6SPatrick Williams
2213b8a17c1SAndrew GeisslerIn the sections that follow, three different methods will be described for
222517393d9SAndrew Geisslerinstalling the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`
2232390b1b6SPatrick Williamstoolset.
22409209eecSAndrew Geissler
22509209eecSAndrew GeisslerInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
22609209eecSAndrew Geissler--------------------------------------------------------------------------------
22709209eecSAndrew Geissler
22809209eecSAndrew GeisslerThe ``install-buildtools`` script is the easiest of the three methods by
229517393d9SAndrew Geisslerwhich you can get these tools. It downloads a pre-built :term:`buildtools`
23009209eecSAndrew Geisslerinstaller and automatically installs the tools for you:
23109209eecSAndrew Geissler
232517393d9SAndrew Geissler#. Execute the ``install-buildtools`` script. Here is an example::
23309209eecSAndrew Geissler
23409209eecSAndrew Geissler      $ cd poky
2355199d831SAndrew Geissler      $ scripts/install-buildtools \
2365199d831SAndrew Geissler        --without-extended-buildtools \
23709209eecSAndrew Geissler        --base-url &YOCTO_DL_URL;/releases/yocto \
23809209eecSAndrew Geissler        --release yocto-&DISTRO; \
23909209eecSAndrew Geissler        --installer-version &DISTRO;
24009209eecSAndrew Geissler
241517393d9SAndrew Geissler   During execution, the :term:`buildtools` tarball will be downloaded, the
24209209eecSAndrew Geissler   checksum of the download will be verified, the installer will be run
2433b8a17c1SAndrew Geissler   for you, and some basic checks will be run to make sure the
24409209eecSAndrew Geissler   installation is functional.
24509209eecSAndrew Geissler
24609209eecSAndrew Geissler   To avoid the need of ``sudo`` privileges, the ``install-buildtools``
247c926e17cSAndrew Geissler   script will by default tell the installer to install in::
24809209eecSAndrew Geissler
24909209eecSAndrew Geissler      /path/to/poky/buildtools
25009209eecSAndrew Geissler
25109209eecSAndrew Geissler   If your host development system needs the additional tools provided
252517393d9SAndrew Geissler   in the :term:`buildtools-extended` tarball, you can instead execute the
253c926e17cSAndrew Geissler   ``install-buildtools`` script with the default parameters::
25409209eecSAndrew Geissler
25509209eecSAndrew Geissler      $ cd poky
25609209eecSAndrew Geissler      $ scripts/install-buildtools
25709209eecSAndrew Geissler
2582390b1b6SPatrick Williams   Alternatively if your host development system has a broken ``make``
2592390b1b6SPatrick Williams   version such that you only need a known good version of ``make``,
260517393d9SAndrew Geissler   you can use the ``--make-only`` option::
2612390b1b6SPatrick Williams
2622390b1b6SPatrick Williams      $ cd poky
2632390b1b6SPatrick Williams      $ scripts/install-buildtools --make-only
2642390b1b6SPatrick Williams
265517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the
266c926e17cSAndrew Geissler   following::
26709209eecSAndrew Geissler
26809209eecSAndrew Geissler      $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
26909209eecSAndrew Geissler
27009209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
27109209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
27209209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
27309209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
274517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
27509209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
27609209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
27709209eecSAndrew Geissler
27809209eecSAndrew GeisslerDownloading a Pre-Built ``buildtools`` Tarball
27909209eecSAndrew Geissler----------------------------------------------
28009209eecSAndrew Geissler
2813b8a17c1SAndrew GeisslerIf you would prefer not to use the ``install-buildtools`` script, you can instead
282517393d9SAndrew Geisslerdownload and run a pre-built :term:`buildtools` installer yourself with the following
2833b8a17c1SAndrew Geisslersteps:
28409209eecSAndrew Geissler
285517393d9SAndrew Geissler#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and
286517393d9SAndrew Geissler   download the ``.sh`` file corresponding to your host architecture
287517393d9SAndrew Geissler   and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`.
28809209eecSAndrew Geissler
289517393d9SAndrew Geissler#. Execute the installation script. Here is an example for the
290c926e17cSAndrew Geissler   traditional installer::
29109209eecSAndrew Geissler
292d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
29309209eecSAndrew Geissler
294c926e17cSAndrew Geissler   Here is an example for the extended installer::
29509209eecSAndrew Geissler
296d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
29709209eecSAndrew Geissler
2982390b1b6SPatrick Williams   An example for the make-only installer::
2992390b1b6SPatrick Williams
3002390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
3012390b1b6SPatrick Williams
30209209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
30309209eecSAndrew Geissler   installation directory. For example, you could choose the following:
30409209eecSAndrew Geissler   ``/home/your-username/buildtools``
30509209eecSAndrew Geissler
306517393d9SAndrew Geissler#. As instructed by the installer script, you will have to source the tools
307517393d9SAndrew Geissler   environment setup script::
30809209eecSAndrew Geissler
309517393d9SAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux
31009209eecSAndrew Geissler
31109209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
31209209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
31309209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
31409209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
315517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
31609209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
31709209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
31809209eecSAndrew Geissler
31909209eecSAndrew GeisslerBuilding Your Own ``buildtools`` Tarball
32009209eecSAndrew Geissler----------------------------------------
32109209eecSAndrew Geissler
322517393d9SAndrew GeisslerBuilding and running your own :term:`buildtools` installer applies only when you
32309209eecSAndrew Geisslerhave a build host that can already run BitBake. In this case, you use
32409209eecSAndrew Geisslerthat machine to build the ``.sh`` file and then take steps to transfer
32509209eecSAndrew Geisslerand run it on a machine that does not meet the minimal Git, tar, and
32609209eecSAndrew GeisslerPython (or gcc) requirements.
32709209eecSAndrew Geissler
328517393d9SAndrew GeisslerHere are the steps to take to build and run your own :term:`buildtools`
32909209eecSAndrew Geisslerinstaller:
33009209eecSAndrew Geissler
331517393d9SAndrew Geissler#. On the machine that is able to run BitBake, be sure you have set up
33209209eecSAndrew Geissler   your build environment with the setup script
33309209eecSAndrew Geissler   (:ref:`structure-core-script`).
33409209eecSAndrew Geissler
335517393d9SAndrew Geissler#. Run the BitBake command to build the tarball::
33609209eecSAndrew Geissler
33709209eecSAndrew Geissler      $ bitbake buildtools-tarball
33809209eecSAndrew Geissler
339517393d9SAndrew Geissler   or to build the extended tarball::
34009209eecSAndrew Geissler
34109209eecSAndrew Geissler      $ bitbake buildtools-extended-tarball
34209209eecSAndrew Geissler
3432390b1b6SPatrick Williams   or to build the make-only tarball::
3442390b1b6SPatrick Williams
3452390b1b6SPatrick Williams      $ bitbake buildtools-make-tarball
3462390b1b6SPatrick Williams
34709209eecSAndrew Geissler   .. note::
34809209eecSAndrew Geissler
34909209eecSAndrew Geissler      The :term:`SDKMACHINE` variable in your ``local.conf`` file determines
35009209eecSAndrew Geissler      whether you build tools for a 32-bit or 64-bit system.
35109209eecSAndrew Geissler
35209209eecSAndrew Geissler   Once the build completes, you can find the ``.sh`` file that installs
35309209eecSAndrew Geissler   the tools in the ``tmp/deploy/sdk`` subdirectory of the
35409209eecSAndrew Geissler   :term:`Build Directory`. The installer file has the string
355517393d9SAndrew Geissler   "buildtools" or "buildtools-extended" in the name.
35609209eecSAndrew Geissler
357517393d9SAndrew Geissler#. Transfer the ``.sh`` file from the build host to the machine that
35809209eecSAndrew Geissler   does not meet the Git, tar, or Python (or gcc) requirements.
35909209eecSAndrew Geissler
360517393d9SAndrew Geissler#. On this machine, run the ``.sh`` file to install the tools. Here is an
361517393d9SAndrew Geissler   example for the traditional installer::
36209209eecSAndrew Geissler
36309209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
36409209eecSAndrew Geissler
365517393d9SAndrew Geissler   For the extended installer::
36609209eecSAndrew Geissler
36709209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
36809209eecSAndrew Geissler
369517393d9SAndrew Geissler   And for the make-only installer::
3702390b1b6SPatrick Williams
3712390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
3722390b1b6SPatrick Williams
37309209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
37409209eecSAndrew Geissler   installation directory. For example, you could choose the following:
37509209eecSAndrew Geissler   ``/home/your_username/buildtools``
37609209eecSAndrew Geissler
377517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the
378c926e17cSAndrew Geissler   following::
37909209eecSAndrew Geissler
38009209eecSAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
38109209eecSAndrew Geissler
38209209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
38309209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
38409209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
38509209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
386517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
38709209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
38809209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
389