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 45*6aa7eec5SAndrew Geissler- Fedora 36 4609209eecSAndrew Geissler 47*6aa7eec5SAndrew Geissler- Fedora 37 489aee5003SAndrew Geissler 49*6aa7eec5SAndrew Geissler- AlmaLinux 8.7 5009209eecSAndrew Geissler 51*6aa7eec5SAndrew Geissler- AlmaLinux 9.1 5209209eecSAndrew Geissler 53595f6308SAndrew Geissler- Debian GNU/Linux 11.x (Bullseye) 5409209eecSAndrew Geissler 559aee5003SAndrew Geissler- OpenSUSE Leap 15.3 5609209eecSAndrew Geissler 57*6aa7eec5SAndrew Geissler- OpenSUSE Leap 15.4 58*6aa7eec5SAndrew 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 113ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a 11409209eecSAndrew Geisslersupported Ubuntu or Debian Linux distribution: 11509209eecSAndrew Geissler 11609209eecSAndrew Geissler.. note:: 11709209eecSAndrew Geissler 11809209eecSAndrew Geissler - If your build system has the ``oss4-dev`` package installed, you 11909209eecSAndrew Geissler might experience QEMU build failures due to the package installing 12009209eecSAndrew Geissler its own custom ``/usr/include/linux/soundcard.h`` on the Debian 121ac69b488SWilliam A. Kennington III system. If you run into this situation, try either of these solutions:: 12209209eecSAndrew Geissler 123eff27476SAndrew Geissler $ sudo apt build-dep qemu 124eff27476SAndrew Geissler $ sudo apt remove oss4-dev 12509209eecSAndrew Geissler 126c926e17cSAndrew Geissler- *Essentials:* Packages needed to build an image on a headless system:: 12709209eecSAndrew Geissler 128eff27476SAndrew Geissler $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; 12909209eecSAndrew Geissler 13009209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 131c926e17cSAndrew Geissler Yocto Project documentation manuals:: 13209209eecSAndrew Geissler 13392b42cb3SPatrick Williams $ sudo apt install make python3-pip inkscape texlive-latex-extra 13409209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 13509209eecSAndrew Geissler 13609209eecSAndrew GeisslerFedora Packages 13709209eecSAndrew Geissler--------------- 13809209eecSAndrew Geissler 139ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a 14009209eecSAndrew Geisslersupported Fedora Linux distribution: 14109209eecSAndrew Geissler 14209209eecSAndrew Geissler- *Essentials:* Packages needed to build an image for a headless 143c926e17cSAndrew Geissler system:: 14409209eecSAndrew Geissler 14509209eecSAndrew Geissler $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; 14609209eecSAndrew Geissler 14709209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 148c926e17cSAndrew Geissler Yocto Project documentation manuals:: 14909209eecSAndrew Geissler 15092b42cb3SPatrick Williams $ sudo dnf install make python3-pip which inkscape texlive-fncychap 15109209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 15209209eecSAndrew Geissler 15309209eecSAndrew GeissleropenSUSE Packages 15409209eecSAndrew Geissler----------------- 15509209eecSAndrew Geissler 156ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a 15709209eecSAndrew Geisslersupported openSUSE Linux distribution: 15809209eecSAndrew Geissler 15909209eecSAndrew Geissler- *Essentials:* Packages needed to build an image for a headless 160c926e17cSAndrew Geissler system:: 16109209eecSAndrew Geissler 16209209eecSAndrew Geissler $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; 16309209eecSAndrew Geissler 16409209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 165c926e17cSAndrew Geissler Yocto Project documentation manuals:: 16609209eecSAndrew Geissler 16792b42cb3SPatrick Williams $ sudo zypper install make python3-pip which inkscape texlive-fncychap 16809209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 16909209eecSAndrew Geissler 17009209eecSAndrew Geissler 17192b42cb3SPatrick WilliamsAlmaLinux-8 Packages 17292b42cb3SPatrick Williams-------------------- 17309209eecSAndrew Geissler 174ac69b488SWilliam A. Kennington IIIHere are the required packages by function given a 17592b42cb3SPatrick Williamssupported AlmaLinux-8 Linux distribution: 17609209eecSAndrew Geissler 17709209eecSAndrew Geissler- *Essentials:* Packages needed to build an image for a headless 178c926e17cSAndrew Geissler system:: 17909209eecSAndrew Geissler 18009209eecSAndrew Geissler $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL; 18109209eecSAndrew Geissler 18209209eecSAndrew Geissler .. note:: 18309209eecSAndrew Geissler 18409209eecSAndrew Geissler - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is 18509209eecSAndrew Geissler a collection of packages from Fedora built on RHEL/CentOS for 18609209eecSAndrew Geissler easy installation of packages not included in enterprise Linux 18709209eecSAndrew Geissler by default. You need to install these packages separately. 18809209eecSAndrew Geissler 18909209eecSAndrew Geissler - The ``PowerTools`` repo provides additional packages such as 19009209eecSAndrew Geissler ``rpcgen`` and ``texinfo``. 19109209eecSAndrew Geissler 19209209eecSAndrew Geissler - The ``makecache`` command consumes additional Metadata from 19309209eecSAndrew Geissler ``epel-release``. 19409209eecSAndrew Geissler 19509209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 196c926e17cSAndrew Geissler Yocto Project documentation manuals:: 19709209eecSAndrew Geissler 19892b42cb3SPatrick Williams $ sudo dnf install make python3-pip which inkscape texlive-fncychap 19909209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 20009209eecSAndrew Geissler 201517393d9SAndrew Geissler.. _system-requirements-buildtools: 202517393d9SAndrew Geissler 203615f2f11SAndrew GeisslerRequired Git, tar, Python, make and gcc Versions 204615f2f11SAndrew Geissler================================================ 20509209eecSAndrew Geissler 20609209eecSAndrew GeisslerIn order to use the build system, your host development system must meet 20709209eecSAndrew Geisslerthe following version requirements for Git, tar, and Python: 20809209eecSAndrew Geissler 2093b8a17c1SAndrew Geissler- Git &MIN_GIT_VERSION; or greater 21009209eecSAndrew Geissler 2113b8a17c1SAndrew Geissler- tar &MIN_TAR_VERSION; or greater 21209209eecSAndrew Geissler 2133b8a17c1SAndrew Geissler- Python &MIN_PYTHON_VERSION; or greater 21409209eecSAndrew Geissler 215615f2f11SAndrew Geissler- GNU make &MIN_MAKE_VERSION; or greater 216615f2f11SAndrew Geissler 21709209eecSAndrew GeisslerIf your host development system does not meet all these requirements, 218517393d9SAndrew Geissleryou can resolve this by installing a :term:`buildtools` tarball that 219517393d9SAndrew Geisslercontains these tools. You can either download a pre-built tarball or 220517393d9SAndrew Geissleruse BitBake to build one. 22109209eecSAndrew Geissler 22209209eecSAndrew GeisslerIn addition, your host development system must meet the following 22309209eecSAndrew Geisslerversion requirement for gcc: 22409209eecSAndrew Geissler 2253b8a17c1SAndrew Geissler- gcc &MIN_GCC_VERSION; or greater 22609209eecSAndrew Geissler 22709209eecSAndrew GeisslerIf your host development system does not meet this requirement, you can 228517393d9SAndrew Geisslerresolve this by installing a :term:`buildtools-extended` tarball that 2293b8a17c1SAndrew Geisslercontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` 2303b8a17c1SAndrew Geisslerpackage. 2313b8a17c1SAndrew Geissler 2322390b1b6SPatrick WilliamsFor systems with a broken make version (e.g. make 4.2.1 without patches) but 233517393d9SAndrew Geisslerwhere the rest of the host tools are usable, you can use the :term:`buildtools-make` 2342390b1b6SPatrick Williamstarball instead. 2352390b1b6SPatrick Williams 2363b8a17c1SAndrew GeisslerIn the sections that follow, three different methods will be described for 237517393d9SAndrew Geisslerinstalling the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make` 2382390b1b6SPatrick Williamstoolset. 23909209eecSAndrew Geissler 24009209eecSAndrew GeisslerInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script 24109209eecSAndrew Geissler-------------------------------------------------------------------------------- 24209209eecSAndrew Geissler 24309209eecSAndrew GeisslerThe ``install-buildtools`` script is the easiest of the three methods by 244517393d9SAndrew Geisslerwhich you can get these tools. It downloads a pre-built :term:`buildtools` 24509209eecSAndrew Geisslerinstaller and automatically installs the tools for you: 24609209eecSAndrew Geissler 247517393d9SAndrew Geissler#. Execute the ``install-buildtools`` script. Here is an example:: 24809209eecSAndrew Geissler 24909209eecSAndrew Geissler $ cd poky 2505199d831SAndrew Geissler $ scripts/install-buildtools \ 2515199d831SAndrew Geissler --without-extended-buildtools \ 25209209eecSAndrew Geissler --base-url &YOCTO_DL_URL;/releases/yocto \ 25309209eecSAndrew Geissler --release yocto-&DISTRO; \ 25409209eecSAndrew Geissler --installer-version &DISTRO; 25509209eecSAndrew Geissler 256517393d9SAndrew Geissler During execution, the :term:`buildtools` tarball will be downloaded, the 25709209eecSAndrew Geissler checksum of the download will be verified, the installer will be run 2583b8a17c1SAndrew Geissler for you, and some basic checks will be run to make sure the 25909209eecSAndrew Geissler installation is functional. 26009209eecSAndrew Geissler 26109209eecSAndrew Geissler To avoid the need of ``sudo`` privileges, the ``install-buildtools`` 262c926e17cSAndrew Geissler script will by default tell the installer to install in:: 26309209eecSAndrew Geissler 26409209eecSAndrew Geissler /path/to/poky/buildtools 26509209eecSAndrew Geissler 26609209eecSAndrew Geissler If your host development system needs the additional tools provided 267517393d9SAndrew Geissler in the :term:`buildtools-extended` tarball, you can instead execute the 268c926e17cSAndrew Geissler ``install-buildtools`` script with the default parameters:: 26909209eecSAndrew Geissler 27009209eecSAndrew Geissler $ cd poky 27109209eecSAndrew Geissler $ scripts/install-buildtools 27209209eecSAndrew Geissler 2732390b1b6SPatrick Williams Alternatively if your host development system has a broken ``make`` 2742390b1b6SPatrick Williams version such that you only need a known good version of ``make``, 275517393d9SAndrew Geissler you can use the ``--make-only`` option:: 2762390b1b6SPatrick Williams 2772390b1b6SPatrick Williams $ cd poky 2782390b1b6SPatrick Williams $ scripts/install-buildtools --make-only 2792390b1b6SPatrick Williams 280517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the 281c926e17cSAndrew Geissler following:: 28209209eecSAndrew Geissler 28309209eecSAndrew Geissler $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux 28409209eecSAndrew Geissler 28509209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 28609209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 28709209eecSAndrew Geissler tools are initialized. The results are working versions versions of 28809209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 289517393d9SAndrew Geissler :term:`buildtools-extended` tarball, additional working versions of tools 29009209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 29109209eecSAndrew Geissler ``packagegroup-core-buildessential``. 29209209eecSAndrew Geissler 29309209eecSAndrew GeisslerDownloading a Pre-Built ``buildtools`` Tarball 29409209eecSAndrew Geissler---------------------------------------------- 29509209eecSAndrew Geissler 2963b8a17c1SAndrew GeisslerIf you would prefer not to use the ``install-buildtools`` script, you can instead 297517393d9SAndrew Geisslerdownload and run a pre-built :term:`buildtools` installer yourself with the following 2983b8a17c1SAndrew Geisslersteps: 29909209eecSAndrew Geissler 300517393d9SAndrew Geissler#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and 301517393d9SAndrew Geissler download the ``.sh`` file corresponding to your host architecture 302517393d9SAndrew Geissler and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`. 30309209eecSAndrew Geissler 304517393d9SAndrew Geissler#. Execute the installation script. Here is an example for the 305c926e17cSAndrew Geissler traditional installer:: 30609209eecSAndrew Geissler 307d1e89497SAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 30809209eecSAndrew Geissler 309c926e17cSAndrew Geissler Here is an example for the extended installer:: 31009209eecSAndrew Geissler 311d1e89497SAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 31209209eecSAndrew Geissler 3132390b1b6SPatrick Williams An example for the make-only installer:: 3142390b1b6SPatrick Williams 3152390b1b6SPatrick Williams $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh 3162390b1b6SPatrick Williams 31709209eecSAndrew Geissler During execution, a prompt appears that allows you to choose the 31809209eecSAndrew Geissler installation directory. For example, you could choose the following: 31909209eecSAndrew Geissler ``/home/your-username/buildtools`` 32009209eecSAndrew Geissler 321517393d9SAndrew Geissler#. As instructed by the installer script, you will have to source the tools 322517393d9SAndrew Geissler environment setup script:: 32309209eecSAndrew Geissler 324517393d9SAndrew Geissler $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux 32509209eecSAndrew Geissler 32609209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 32709209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 32809209eecSAndrew Geissler tools are initialized. The results are working versions versions of 32909209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 330517393d9SAndrew Geissler :term:`buildtools-extended` tarball, additional working versions of tools 33109209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 33209209eecSAndrew Geissler ``packagegroup-core-buildessential``. 33309209eecSAndrew Geissler 33409209eecSAndrew GeisslerBuilding Your Own ``buildtools`` Tarball 33509209eecSAndrew Geissler---------------------------------------- 33609209eecSAndrew Geissler 337517393d9SAndrew GeisslerBuilding and running your own :term:`buildtools` installer applies only when you 33809209eecSAndrew Geisslerhave a build host that can already run BitBake. In this case, you use 33909209eecSAndrew Geisslerthat machine to build the ``.sh`` file and then take steps to transfer 34009209eecSAndrew Geisslerand run it on a machine that does not meet the minimal Git, tar, and 34109209eecSAndrew GeisslerPython (or gcc) requirements. 34209209eecSAndrew Geissler 343517393d9SAndrew GeisslerHere are the steps to take to build and run your own :term:`buildtools` 34409209eecSAndrew Geisslerinstaller: 34509209eecSAndrew Geissler 346517393d9SAndrew Geissler#. On the machine that is able to run BitBake, be sure you have set up 34709209eecSAndrew Geissler your build environment with the setup script 34809209eecSAndrew Geissler (:ref:`structure-core-script`). 34909209eecSAndrew Geissler 350517393d9SAndrew Geissler#. Run the BitBake command to build the tarball:: 35109209eecSAndrew Geissler 35209209eecSAndrew Geissler $ bitbake buildtools-tarball 35309209eecSAndrew Geissler 354517393d9SAndrew Geissler or to build the extended tarball:: 35509209eecSAndrew Geissler 35609209eecSAndrew Geissler $ bitbake buildtools-extended-tarball 35709209eecSAndrew Geissler 3582390b1b6SPatrick Williams or to build the make-only tarball:: 3592390b1b6SPatrick Williams 3602390b1b6SPatrick Williams $ bitbake buildtools-make-tarball 3612390b1b6SPatrick Williams 36209209eecSAndrew Geissler .. note:: 36309209eecSAndrew Geissler 36409209eecSAndrew Geissler The :term:`SDKMACHINE` variable in your ``local.conf`` file determines 36509209eecSAndrew Geissler whether you build tools for a 32-bit or 64-bit system. 36609209eecSAndrew Geissler 36709209eecSAndrew Geissler Once the build completes, you can find the ``.sh`` file that installs 36809209eecSAndrew Geissler the tools in the ``tmp/deploy/sdk`` subdirectory of the 36909209eecSAndrew Geissler :term:`Build Directory`. The installer file has the string 370517393d9SAndrew Geissler "buildtools" or "buildtools-extended" in the name. 37109209eecSAndrew Geissler 372517393d9SAndrew Geissler#. Transfer the ``.sh`` file from the build host to the machine that 37309209eecSAndrew Geissler does not meet the Git, tar, or Python (or gcc) requirements. 37409209eecSAndrew Geissler 375517393d9SAndrew Geissler#. On this machine, run the ``.sh`` file to install the tools. Here is an 376517393d9SAndrew Geissler example for the traditional installer:: 37709209eecSAndrew Geissler 37809209eecSAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 37909209eecSAndrew Geissler 380517393d9SAndrew Geissler For the extended installer:: 38109209eecSAndrew Geissler 38209209eecSAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 38309209eecSAndrew Geissler 384517393d9SAndrew Geissler And for the make-only installer:: 3852390b1b6SPatrick Williams 3862390b1b6SPatrick Williams $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh 3872390b1b6SPatrick Williams 38809209eecSAndrew Geissler During execution, a prompt appears that allows you to choose the 38909209eecSAndrew Geissler installation directory. For example, you could choose the following: 39009209eecSAndrew Geissler ``/home/your_username/buildtools`` 39109209eecSAndrew Geissler 392517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the 393c926e17cSAndrew Geissler following:: 39409209eecSAndrew Geissler 39509209eecSAndrew Geissler $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux 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 401517393d9SAndrew Geissler :term:`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