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
328e7b46e2SPatrick WilliamsMinimum Free Disk Space
338e7b46e2SPatrick Williams=======================
348e7b46e2SPatrick Williams
358e7b46e2SPatrick WilliamsTo build an image such as ``core-image-sato`` for the ``qemux86-64`` machine,
368e7b46e2SPatrick Williamsyou need a system with at least &MIN_DISK_SPACE; Gbytes of free disk space.
378e7b46e2SPatrick WilliamsHowever, much more disk space will be necessary to build more complex images,
388e7b46e2SPatrick Williamsto run multiple builds and to cache build artifacts, improving build efficiency.
398e7b46e2SPatrick Williams
408e7b46e2SPatrick WilliamsIf you have a shortage of disk space, see the ":doc:`/dev-manual/disk-space`"
418e7b46e2SPatrick Williamssection of the Development Tasks Manual.
428e7b46e2SPatrick Williams
43*b542dec1SPatrick Williams.. _system-requirements-minimum-ram:
44*b542dec1SPatrick Williams
458e7b46e2SPatrick WilliamsMinimum System RAM
468e7b46e2SPatrick Williams==================
478e7b46e2SPatrick Williams
488e7b46e2SPatrick WilliamsYou will manage to build an image such as ``core-image-sato`` for the
498e7b46e2SPatrick Williams``qemux86-64`` machine with as little as &MIN_RAM; Gbytes of RAM on an old
508e7b46e2SPatrick Williamssystem with 4 CPU cores, but your builds will be much faster on a system with
518e7b46e2SPatrick Williamsas much RAM and as many CPU cores as possible.
528e7b46e2SPatrick Williams
538e7b46e2SPatrick Williams.. _system-requirements-supported-distros:
5409209eecSAndrew Geissler
5509209eecSAndrew GeisslerSupported Linux Distributions
5609209eecSAndrew Geissler=============================
5709209eecSAndrew Geissler
58517393d9SAndrew GeisslerCurrently, the Yocto Project is supported on the following distributions:
5909209eecSAndrew Geissler
6009209eecSAndrew Geissler-  Ubuntu 18.04 (LTS)
6109209eecSAndrew Geissler
62ac69b488SWilliam A. Kennington III-  Ubuntu 20.04 (LTS)
6309209eecSAndrew Geissler
642194f503SPatrick Williams-  Ubuntu 22.04 (LTS)
652194f503SPatrick Williams
666aa7eec5SAndrew Geissler-  Fedora 36
6709209eecSAndrew Geissler
686aa7eec5SAndrew Geissler-  Fedora 37
699aee5003SAndrew Geissler
706aa7eec5SAndrew Geissler-  AlmaLinux 8.7
7109209eecSAndrew Geissler
726aa7eec5SAndrew Geissler-  AlmaLinux 9.1
7309209eecSAndrew Geissler
74595f6308SAndrew Geissler-  Debian GNU/Linux 11.x (Bullseye)
7509209eecSAndrew Geissler
769aee5003SAndrew Geissler-  OpenSUSE Leap 15.3
7709209eecSAndrew Geissler
786aa7eec5SAndrew Geissler-  OpenSUSE Leap 15.4
796aa7eec5SAndrew Geissler
8009209eecSAndrew Geissler.. note::
8109209eecSAndrew Geissler
8209209eecSAndrew Geissler   -  While the Yocto Project Team attempts to ensure all Yocto Project
8309209eecSAndrew Geissler      releases are one hundred percent compatible with each officially
84ac69b488SWilliam A. Kennington III      supported Linux distribution, you may still encounter problems
85ac69b488SWilliam A. Kennington III      that happen only with a specific distribution.
8609209eecSAndrew Geissler
8709209eecSAndrew Geissler   -  Yocto Project releases are tested against the stable Linux
8809209eecSAndrew Geissler      distributions in the above list. The Yocto Project should work
8909209eecSAndrew Geissler      on other distributions but validation is not performed against
9009209eecSAndrew Geissler      them.
9109209eecSAndrew Geissler
9209209eecSAndrew Geissler   -  In particular, the Yocto Project does not support and currently
9309209eecSAndrew Geissler      has no plans to support rolling-releases or development
9409209eecSAndrew Geissler      distributions due to their constantly changing nature. We welcome
9509209eecSAndrew Geissler      patches and bug reports, but keep in mind that our priority is on
96517393d9SAndrew Geissler      the supported platforms listed above.
97517393d9SAndrew Geissler
98517393d9SAndrew Geissler   -  If your Linux distribution is not in the above list, we recommend to
99517393d9SAndrew Geissler      get the :term:`buildtools` or :term:`buildtools-extended` tarballs
100517393d9SAndrew Geissler      containing the host tools required by your Yocto Project release,
101517393d9SAndrew Geissler      typically by running ``scripts/install-buildtools`` as explained in
102517393d9SAndrew Geissler      the ":ref:`system-requirements-buildtools`" section.
10309209eecSAndrew Geissler
10409209eecSAndrew Geissler   -  You may use Windows Subsystem For Linux v2 to set up a build host
1052390b1b6SPatrick Williams      using Windows 10 or later, or Windows Server 2019 or later, but validation
1062390b1b6SPatrick Williams      is not performed against build hosts using WSL 2.
10709209eecSAndrew Geissler
1082390b1b6SPatrick Williams      See the
1092390b1b6SPatrick Williams      :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)`
1102390b1b6SPatrick Williams      section in the Yocto Project Development Tasks Manual for more information.
11109209eecSAndrew Geissler
11209209eecSAndrew Geissler   -  If you encounter problems, please go to :yocto_bugs:`Yocto Project
11309209eecSAndrew Geissler      Bugzilla <>` and submit a bug. We are
11409209eecSAndrew Geissler      interested in hearing about your experience. For information on
11509209eecSAndrew Geissler      how to submit a bug, see the Yocto Project
11609209eecSAndrew Geissler      :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
117517393d9SAndrew Geissler      and the ":ref:`dev-manual/changes:submitting a defect against the yocto project`"
11809209eecSAndrew Geissler      section in the Yocto Project Development Tasks Manual.
11909209eecSAndrew Geissler
12009209eecSAndrew Geissler
12109209eecSAndrew GeisslerRequired Packages for the Build Host
12209209eecSAndrew Geissler====================================
12309209eecSAndrew Geissler
12409209eecSAndrew GeisslerThe list of packages you need on the host development system can be
12509209eecSAndrew Geisslerlarge when covering all build scenarios using the Yocto Project. This
12609209eecSAndrew Geisslersection describes required packages according to Linux distribution and
12709209eecSAndrew Geisslerfunction.
12809209eecSAndrew Geissler
12909209eecSAndrew Geissler.. _ubuntu-packages:
13009209eecSAndrew Geissler
13109209eecSAndrew GeisslerUbuntu and Debian
13209209eecSAndrew Geissler-----------------
13309209eecSAndrew Geissler
134fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
135fc113eadSAndrew Geisslerwith a supported Ubuntu or Debian Linux distribution::
136fc113eadSAndrew Geissler
137fc113eadSAndrew Geissler   $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
13809209eecSAndrew Geissler
13909209eecSAndrew Geissler.. note::
14009209eecSAndrew Geissler
14109209eecSAndrew Geissler   -  If your build system has the ``oss4-dev`` package installed, you
14209209eecSAndrew Geissler      might experience QEMU build failures due to the package installing
14309209eecSAndrew Geissler      its own custom ``/usr/include/linux/soundcard.h`` on the Debian
144ac69b488SWilliam A. Kennington III      system. If you run into this situation, try either of these solutions::
14509209eecSAndrew Geissler
146eff27476SAndrew Geissler         $ sudo apt build-dep qemu
147eff27476SAndrew Geissler         $ sudo apt remove oss4-dev
14809209eecSAndrew Geissler
149fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals::
15009209eecSAndrew Geissler
15192b42cb3SPatrick Williams   $ sudo apt install make python3-pip inkscape texlive-latex-extra
15209209eecSAndrew Geissler   &PIP3_HOST_PACKAGES_DOC;
15309209eecSAndrew Geissler
15409209eecSAndrew GeisslerFedora Packages
15509209eecSAndrew Geissler---------------
15609209eecSAndrew Geissler
157fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
158fc113eadSAndrew Geisslerwith a supported Fedora Linux distribution::
15909209eecSAndrew Geissler
16009209eecSAndrew Geissler   $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
16109209eecSAndrew Geissler
162fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals::
16309209eecSAndrew Geissler
16492b42cb3SPatrick Williams   $ sudo dnf install make python3-pip which inkscape texlive-fncychap
16509209eecSAndrew Geissler   &PIP3_HOST_PACKAGES_DOC;
16609209eecSAndrew Geissler
16709209eecSAndrew GeissleropenSUSE Packages
16809209eecSAndrew Geissler-----------------
16909209eecSAndrew Geissler
170fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
171fc113eadSAndrew Geisslerwith a supported openSUSE distribution::
17209209eecSAndrew Geissler
17309209eecSAndrew Geissler   $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
17409209eecSAndrew Geissler
175fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals::
17609209eecSAndrew Geissler
17792b42cb3SPatrick Williams   $ sudo zypper install make python3-pip which inkscape texlive-fncychap
17809209eecSAndrew Geissler   &PIP3_HOST_PACKAGES_DOC;
17909209eecSAndrew Geissler
18009209eecSAndrew Geissler
181fc113eadSAndrew GeisslerAlmaLinux Packages
182fc113eadSAndrew Geissler------------------
18309209eecSAndrew Geissler
184fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system
185fc113eadSAndrew Geisslerwith a supported AlmaLinux distribution::
18609209eecSAndrew Geissler
187028142bdSAndrew Geissler   $ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL;
18809209eecSAndrew Geissler
18909209eecSAndrew Geissler.. note::
19009209eecSAndrew Geissler
19109209eecSAndrew Geissler   -  Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
19209209eecSAndrew Geissler      a collection of packages from Fedora built on RHEL/CentOS for
19309209eecSAndrew Geissler      easy installation of packages not included in enterprise Linux
19409209eecSAndrew Geissler      by default. You need to install these packages separately.
19509209eecSAndrew Geissler
196fc113eadSAndrew Geissler   -  The ``PowerTools/CRB`` repo provides additional packages such as
19709209eecSAndrew Geissler      ``rpcgen`` and ``texinfo``.
19809209eecSAndrew Geissler
19909209eecSAndrew Geissler   -  The ``makecache`` command consumes additional Metadata from
20009209eecSAndrew Geissler      ``epel-release``.
20109209eecSAndrew Geissler
202fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals::
20309209eecSAndrew Geissler
20492b42cb3SPatrick Williams   $ sudo dnf install make python3-pip which inkscape texlive-fncychap
20509209eecSAndrew Geissler   &PIP3_HOST_PACKAGES_DOC;
20609209eecSAndrew Geissler
207517393d9SAndrew Geissler.. _system-requirements-buildtools:
208517393d9SAndrew Geissler
209615f2f11SAndrew GeisslerRequired Git, tar, Python, make and gcc Versions
210615f2f11SAndrew Geissler================================================
21109209eecSAndrew Geissler
21209209eecSAndrew GeisslerIn order to use the build system, your host development system must meet
21309209eecSAndrew Geisslerthe following version requirements for Git, tar, and Python:
21409209eecSAndrew Geissler
2153b8a17c1SAndrew Geissler-  Git &MIN_GIT_VERSION; or greater
21609209eecSAndrew Geissler
2173b8a17c1SAndrew Geissler-  tar &MIN_TAR_VERSION; or greater
21809209eecSAndrew Geissler
2193b8a17c1SAndrew Geissler-  Python &MIN_PYTHON_VERSION; or greater
22009209eecSAndrew Geissler
221615f2f11SAndrew Geissler-  GNU make &MIN_MAKE_VERSION; or greater
222615f2f11SAndrew Geissler
22309209eecSAndrew GeisslerIf your host development system does not meet all these requirements,
224517393d9SAndrew Geissleryou can resolve this by installing a :term:`buildtools` tarball that
225517393d9SAndrew Geisslercontains these tools. You can either download a pre-built tarball or
226517393d9SAndrew Geissleruse BitBake to build one.
22709209eecSAndrew Geissler
22809209eecSAndrew GeisslerIn addition, your host development system must meet the following
22909209eecSAndrew Geisslerversion requirement for gcc:
23009209eecSAndrew Geissler
2313b8a17c1SAndrew Geissler-  gcc &MIN_GCC_VERSION; or greater
23209209eecSAndrew Geissler
23309209eecSAndrew GeisslerIf your host development system does not meet this requirement, you can
234517393d9SAndrew Geisslerresolve this by installing a :term:`buildtools-extended` tarball that
2353b8a17c1SAndrew Geisslercontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
2363b8a17c1SAndrew Geisslerpackage.
2373b8a17c1SAndrew Geissler
2382390b1b6SPatrick WilliamsFor systems with a broken make version (e.g. make 4.2.1 without patches) but
239517393d9SAndrew Geisslerwhere the rest of the host tools are usable, you can use the :term:`buildtools-make`
2402390b1b6SPatrick Williamstarball instead.
2412390b1b6SPatrick Williams
2423b8a17c1SAndrew GeisslerIn the sections that follow, three different methods will be described for
243517393d9SAndrew Geisslerinstalling the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`
2442390b1b6SPatrick Williamstoolset.
24509209eecSAndrew Geissler
24609209eecSAndrew GeisslerInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
24709209eecSAndrew Geissler--------------------------------------------------------------------------------
24809209eecSAndrew Geissler
24909209eecSAndrew GeisslerThe ``install-buildtools`` script is the easiest of the three methods by
250517393d9SAndrew Geisslerwhich you can get these tools. It downloads a pre-built :term:`buildtools`
25109209eecSAndrew Geisslerinstaller and automatically installs the tools for you:
25209209eecSAndrew Geissler
253517393d9SAndrew Geissler#. Execute the ``install-buildtools`` script. Here is an example::
25409209eecSAndrew Geissler
25509209eecSAndrew Geissler      $ cd poky
2565199d831SAndrew Geissler      $ scripts/install-buildtools \
2575199d831SAndrew Geissler        --without-extended-buildtools \
25809209eecSAndrew Geissler        --base-url &YOCTO_DL_URL;/releases/yocto \
25909209eecSAndrew Geissler        --release yocto-&DISTRO; \
26009209eecSAndrew Geissler        --installer-version &DISTRO;
26109209eecSAndrew Geissler
262517393d9SAndrew Geissler   During execution, the :term:`buildtools` tarball will be downloaded, the
26309209eecSAndrew Geissler   checksum of the download will be verified, the installer will be run
2643b8a17c1SAndrew Geissler   for you, and some basic checks will be run to make sure the
26509209eecSAndrew Geissler   installation is functional.
26609209eecSAndrew Geissler
26709209eecSAndrew Geissler   To avoid the need of ``sudo`` privileges, the ``install-buildtools``
268c926e17cSAndrew Geissler   script will by default tell the installer to install in::
26909209eecSAndrew Geissler
27009209eecSAndrew Geissler      /path/to/poky/buildtools
27109209eecSAndrew Geissler
27209209eecSAndrew Geissler   If your host development system needs the additional tools provided
273517393d9SAndrew Geissler   in the :term:`buildtools-extended` tarball, you can instead execute the
274c926e17cSAndrew Geissler   ``install-buildtools`` script with the default parameters::
27509209eecSAndrew Geissler
27609209eecSAndrew Geissler      $ cd poky
27709209eecSAndrew Geissler      $ scripts/install-buildtools
27809209eecSAndrew Geissler
2792390b1b6SPatrick Williams   Alternatively if your host development system has a broken ``make``
2802390b1b6SPatrick Williams   version such that you only need a known good version of ``make``,
281517393d9SAndrew Geissler   you can use the ``--make-only`` option::
2822390b1b6SPatrick Williams
2832390b1b6SPatrick Williams      $ cd poky
2842390b1b6SPatrick Williams      $ scripts/install-buildtools --make-only
2852390b1b6SPatrick Williams
286517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the
287c926e17cSAndrew Geissler   following::
28809209eecSAndrew Geissler
28909209eecSAndrew Geissler      $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
29009209eecSAndrew Geissler
29109209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
29209209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
29309209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
29409209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
295517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
29609209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
29709209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
29809209eecSAndrew Geissler
29909209eecSAndrew GeisslerDownloading a Pre-Built ``buildtools`` Tarball
30009209eecSAndrew Geissler----------------------------------------------
30109209eecSAndrew Geissler
3023b8a17c1SAndrew GeisslerIf you would prefer not to use the ``install-buildtools`` script, you can instead
303517393d9SAndrew Geisslerdownload and run a pre-built :term:`buildtools` installer yourself with the following
3043b8a17c1SAndrew Geisslersteps:
30509209eecSAndrew Geissler
306517393d9SAndrew Geissler#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and
307517393d9SAndrew Geissler   download the ``.sh`` file corresponding to your host architecture
308517393d9SAndrew Geissler   and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`.
30909209eecSAndrew Geissler
310517393d9SAndrew Geissler#. Execute the installation script. Here is an example for the
311c926e17cSAndrew Geissler   traditional installer::
31209209eecSAndrew Geissler
313d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
31409209eecSAndrew Geissler
315c926e17cSAndrew Geissler   Here is an example for the extended installer::
31609209eecSAndrew Geissler
317d1e89497SAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
31809209eecSAndrew Geissler
3192390b1b6SPatrick Williams   An example for the make-only installer::
3202390b1b6SPatrick Williams
3212390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
3222390b1b6SPatrick Williams
32309209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
32409209eecSAndrew Geissler   installation directory. For example, you could choose the following:
32509209eecSAndrew Geissler   ``/home/your-username/buildtools``
32609209eecSAndrew Geissler
327517393d9SAndrew Geissler#. As instructed by the installer script, you will have to source the tools
328517393d9SAndrew Geissler   environment setup script::
32909209eecSAndrew Geissler
330517393d9SAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux
33109209eecSAndrew Geissler
33209209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
33309209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
33409209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
33509209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
336517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
33709209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
33809209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
33909209eecSAndrew Geissler
34009209eecSAndrew GeisslerBuilding Your Own ``buildtools`` Tarball
34109209eecSAndrew Geissler----------------------------------------
34209209eecSAndrew Geissler
343517393d9SAndrew GeisslerBuilding and running your own :term:`buildtools` installer applies only when you
34409209eecSAndrew Geisslerhave a build host that can already run BitBake. In this case, you use
34509209eecSAndrew Geisslerthat machine to build the ``.sh`` file and then take steps to transfer
34609209eecSAndrew Geisslerand run it on a machine that does not meet the minimal Git, tar, and
34709209eecSAndrew GeisslerPython (or gcc) requirements.
34809209eecSAndrew Geissler
349517393d9SAndrew GeisslerHere are the steps to take to build and run your own :term:`buildtools`
35009209eecSAndrew Geisslerinstaller:
35109209eecSAndrew Geissler
352517393d9SAndrew Geissler#. On the machine that is able to run BitBake, be sure you have set up
35309209eecSAndrew Geissler   your build environment with the setup script
35409209eecSAndrew Geissler   (:ref:`structure-core-script`).
35509209eecSAndrew Geissler
356517393d9SAndrew Geissler#. Run the BitBake command to build the tarball::
35709209eecSAndrew Geissler
35809209eecSAndrew Geissler      $ bitbake buildtools-tarball
35909209eecSAndrew Geissler
360517393d9SAndrew Geissler   or to build the extended tarball::
36109209eecSAndrew Geissler
36209209eecSAndrew Geissler      $ bitbake buildtools-extended-tarball
36309209eecSAndrew Geissler
3642390b1b6SPatrick Williams   or to build the make-only tarball::
3652390b1b6SPatrick Williams
3662390b1b6SPatrick Williams      $ bitbake buildtools-make-tarball
3672390b1b6SPatrick Williams
36809209eecSAndrew Geissler   .. note::
36909209eecSAndrew Geissler
37009209eecSAndrew Geissler      The :term:`SDKMACHINE` variable in your ``local.conf`` file determines
37109209eecSAndrew Geissler      whether you build tools for a 32-bit or 64-bit system.
37209209eecSAndrew Geissler
37309209eecSAndrew Geissler   Once the build completes, you can find the ``.sh`` file that installs
37409209eecSAndrew Geissler   the tools in the ``tmp/deploy/sdk`` subdirectory of the
37509209eecSAndrew Geissler   :term:`Build Directory`. The installer file has the string
376517393d9SAndrew Geissler   "buildtools" or "buildtools-extended" in the name.
37709209eecSAndrew Geissler
378517393d9SAndrew Geissler#. Transfer the ``.sh`` file from the build host to the machine that
37909209eecSAndrew Geissler   does not meet the Git, tar, or Python (or gcc) requirements.
38009209eecSAndrew Geissler
381517393d9SAndrew Geissler#. On this machine, run the ``.sh`` file to install the tools. Here is an
382517393d9SAndrew Geissler   example for the traditional installer::
38309209eecSAndrew Geissler
38409209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
38509209eecSAndrew Geissler
386517393d9SAndrew Geissler   For the extended installer::
38709209eecSAndrew Geissler
38809209eecSAndrew Geissler      $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
38909209eecSAndrew Geissler
390517393d9SAndrew Geissler   And for the make-only installer::
3912390b1b6SPatrick Williams
3922390b1b6SPatrick Williams      $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
3932390b1b6SPatrick Williams
39409209eecSAndrew Geissler   During execution, a prompt appears that allows you to choose the
39509209eecSAndrew Geissler   installation directory. For example, you could choose the following:
39609209eecSAndrew Geissler   ``/home/your_username/buildtools``
39709209eecSAndrew Geissler
398517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the
399c926e17cSAndrew Geissler   following::
40009209eecSAndrew Geissler
40109209eecSAndrew Geissler      $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
40209209eecSAndrew Geissler
40309209eecSAndrew Geissler   After you have sourced the setup script, the tools are added to
40409209eecSAndrew Geissler   ``PATH`` and any other environment variables required to run the
40509209eecSAndrew Geissler   tools are initialized. The results are working versions versions of
40609209eecSAndrew Geissler   Git, tar, Python and ``chrpath``. And in the case of the
407517393d9SAndrew Geissler   :term:`buildtools-extended` tarball, additional working versions of tools
40809209eecSAndrew Geissler   including ``gcc``, ``make`` and the other tools included in
40909209eecSAndrew Geissler   ``packagegroup-core-buildessential``.
410