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 438e7b46e2SPatrick WilliamsMinimum System RAM 448e7b46e2SPatrick Williams================== 458e7b46e2SPatrick Williams 468e7b46e2SPatrick WilliamsYou will manage to build an image such as ``core-image-sato`` for the 478e7b46e2SPatrick Williams``qemux86-64`` machine with as little as &MIN_RAM; Gbytes of RAM on an old 488e7b46e2SPatrick Williamssystem with 4 CPU cores, but your builds will be much faster on a system with 498e7b46e2SPatrick Williamsas much RAM and as many CPU cores as possible. 508e7b46e2SPatrick Williams 518e7b46e2SPatrick Williams.. _system-requirements-supported-distros: 5209209eecSAndrew Geissler 5309209eecSAndrew GeisslerSupported Linux Distributions 5409209eecSAndrew Geissler============================= 5509209eecSAndrew Geissler 56517393d9SAndrew GeisslerCurrently, the Yocto Project is supported on the following distributions: 5709209eecSAndrew Geissler 5809209eecSAndrew Geissler- Ubuntu 18.04 (LTS) 5909209eecSAndrew Geissler 60ac69b488SWilliam A. Kennington III- Ubuntu 20.04 (LTS) 6109209eecSAndrew Geissler 622194f503SPatrick Williams- Ubuntu 22.04 (LTS) 632194f503SPatrick Williams 646aa7eec5SAndrew Geissler- Fedora 36 6509209eecSAndrew Geissler 666aa7eec5SAndrew Geissler- Fedora 37 679aee5003SAndrew Geissler 686aa7eec5SAndrew Geissler- AlmaLinux 8.7 6909209eecSAndrew Geissler 706aa7eec5SAndrew Geissler- AlmaLinux 9.1 7109209eecSAndrew Geissler 72595f6308SAndrew Geissler- Debian GNU/Linux 11.x (Bullseye) 7309209eecSAndrew Geissler 749aee5003SAndrew Geissler- OpenSUSE Leap 15.3 7509209eecSAndrew Geissler 766aa7eec5SAndrew Geissler- OpenSUSE Leap 15.4 776aa7eec5SAndrew Geissler 7809209eecSAndrew Geissler.. note:: 7909209eecSAndrew Geissler 8009209eecSAndrew Geissler - While the Yocto Project Team attempts to ensure all Yocto Project 8109209eecSAndrew Geissler releases are one hundred percent compatible with each officially 82ac69b488SWilliam A. Kennington III supported Linux distribution, you may still encounter problems 83ac69b488SWilliam A. Kennington III that happen only with a specific distribution. 8409209eecSAndrew Geissler 8509209eecSAndrew Geissler - Yocto Project releases are tested against the stable Linux 8609209eecSAndrew Geissler distributions in the above list. The Yocto Project should work 8709209eecSAndrew Geissler on other distributions but validation is not performed against 8809209eecSAndrew Geissler them. 8909209eecSAndrew Geissler 9009209eecSAndrew Geissler - In particular, the Yocto Project does not support and currently 9109209eecSAndrew Geissler has no plans to support rolling-releases or development 9209209eecSAndrew Geissler distributions due to their constantly changing nature. We welcome 9309209eecSAndrew Geissler patches and bug reports, but keep in mind that our priority is on 94517393d9SAndrew Geissler the supported platforms listed above. 95517393d9SAndrew Geissler 96517393d9SAndrew Geissler - If your Linux distribution is not in the above list, we recommend to 97517393d9SAndrew Geissler get the :term:`buildtools` or :term:`buildtools-extended` tarballs 98517393d9SAndrew Geissler containing the host tools required by your Yocto Project release, 99517393d9SAndrew Geissler typically by running ``scripts/install-buildtools`` as explained in 100517393d9SAndrew Geissler the ":ref:`system-requirements-buildtools`" section. 10109209eecSAndrew Geissler 10209209eecSAndrew Geissler - You may use Windows Subsystem For Linux v2 to set up a build host 1032390b1b6SPatrick Williams using Windows 10 or later, or Windows Server 2019 or later, but validation 1042390b1b6SPatrick Williams is not performed against build hosts using WSL 2. 10509209eecSAndrew Geissler 1062390b1b6SPatrick Williams See the 1072390b1b6SPatrick Williams :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)` 1082390b1b6SPatrick Williams section in the Yocto Project Development Tasks Manual for more information. 10909209eecSAndrew Geissler 11009209eecSAndrew Geissler - If you encounter problems, please go to :yocto_bugs:`Yocto Project 11109209eecSAndrew Geissler Bugzilla <>` and submit a bug. We are 11209209eecSAndrew Geissler interested in hearing about your experience. For information on 11309209eecSAndrew Geissler how to submit a bug, see the Yocto Project 11409209eecSAndrew Geissler :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` 115517393d9SAndrew Geissler and the ":ref:`dev-manual/changes:submitting a defect against the yocto project`" 11609209eecSAndrew Geissler section in the Yocto Project Development Tasks Manual. 11709209eecSAndrew Geissler 11809209eecSAndrew Geissler 11909209eecSAndrew GeisslerRequired Packages for the Build Host 12009209eecSAndrew Geissler==================================== 12109209eecSAndrew Geissler 12209209eecSAndrew GeisslerThe list of packages you need on the host development system can be 12309209eecSAndrew Geisslerlarge when covering all build scenarios using the Yocto Project. This 12409209eecSAndrew Geisslersection describes required packages according to Linux distribution and 12509209eecSAndrew Geisslerfunction. 12609209eecSAndrew Geissler 12709209eecSAndrew Geissler.. _ubuntu-packages: 12809209eecSAndrew Geissler 12909209eecSAndrew GeisslerUbuntu and Debian 13009209eecSAndrew Geissler----------------- 13109209eecSAndrew Geissler 132fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system 133fc113eadSAndrew Geisslerwith a supported Ubuntu or Debian Linux distribution:: 134fc113eadSAndrew Geissler 135fc113eadSAndrew Geissler $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; 13609209eecSAndrew Geissler 13709209eecSAndrew Geissler.. note:: 13809209eecSAndrew Geissler 13909209eecSAndrew Geissler - If your build system has the ``oss4-dev`` package installed, you 14009209eecSAndrew Geissler might experience QEMU build failures due to the package installing 14109209eecSAndrew Geissler its own custom ``/usr/include/linux/soundcard.h`` on the Debian 142ac69b488SWilliam A. Kennington III system. If you run into this situation, try either of these solutions:: 14309209eecSAndrew Geissler 144eff27476SAndrew Geissler $ sudo apt build-dep qemu 145eff27476SAndrew Geissler $ sudo apt remove oss4-dev 14609209eecSAndrew Geissler 147fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals:: 14809209eecSAndrew Geissler 14992b42cb3SPatrick Williams $ sudo apt install make python3-pip inkscape texlive-latex-extra 15009209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 15109209eecSAndrew Geissler 15209209eecSAndrew GeisslerFedora Packages 15309209eecSAndrew Geissler--------------- 15409209eecSAndrew Geissler 155fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system 156fc113eadSAndrew Geisslerwith a supported Fedora Linux distribution:: 15709209eecSAndrew Geissler 15809209eecSAndrew Geissler $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; 15909209eecSAndrew Geissler 160fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals:: 16109209eecSAndrew Geissler 16292b42cb3SPatrick Williams $ sudo dnf install make python3-pip which inkscape texlive-fncychap 16309209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 16409209eecSAndrew Geissler 16509209eecSAndrew GeissleropenSUSE Packages 16609209eecSAndrew Geissler----------------- 16709209eecSAndrew Geissler 168fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system 169fc113eadSAndrew Geisslerwith a supported openSUSE distribution:: 17009209eecSAndrew Geissler 17109209eecSAndrew Geissler $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; 17209209eecSAndrew Geissler 173fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals:: 17409209eecSAndrew Geissler 17592b42cb3SPatrick Williams $ sudo zypper install make python3-pip which inkscape texlive-fncychap 17609209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 17709209eecSAndrew Geissler 17809209eecSAndrew Geissler 179fc113eadSAndrew GeisslerAlmaLinux Packages 180fc113eadSAndrew Geissler------------------ 18109209eecSAndrew Geissler 182fc113eadSAndrew GeisslerHere are the packages needed to build an image on a headless system 183fc113eadSAndrew Geisslerwith a supported AlmaLinux distribution:: 18409209eecSAndrew Geissler 185*028142bdSAndrew Geissler $ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL; 18609209eecSAndrew Geissler 18709209eecSAndrew Geissler.. note:: 18809209eecSAndrew Geissler 18909209eecSAndrew Geissler - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is 19009209eecSAndrew Geissler a collection of packages from Fedora built on RHEL/CentOS for 19109209eecSAndrew Geissler easy installation of packages not included in enterprise Linux 19209209eecSAndrew Geissler by default. You need to install these packages separately. 19309209eecSAndrew Geissler 194fc113eadSAndrew Geissler - The ``PowerTools/CRB`` repo provides additional packages such as 19509209eecSAndrew Geissler ``rpcgen`` and ``texinfo``. 19609209eecSAndrew Geissler 19709209eecSAndrew Geissler - The ``makecache`` command consumes additional Metadata from 19809209eecSAndrew Geissler ``epel-release``. 19909209eecSAndrew Geissler 200fc113eadSAndrew GeisslerHere are the packages needed to build Project documentation manuals:: 20109209eecSAndrew Geissler 20292b42cb3SPatrick Williams $ sudo dnf install make python3-pip which inkscape texlive-fncychap 20309209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 20409209eecSAndrew Geissler 205517393d9SAndrew Geissler.. _system-requirements-buildtools: 206517393d9SAndrew Geissler 207615f2f11SAndrew GeisslerRequired Git, tar, Python, make and gcc Versions 208615f2f11SAndrew Geissler================================================ 20909209eecSAndrew Geissler 21009209eecSAndrew GeisslerIn order to use the build system, your host development system must meet 21109209eecSAndrew Geisslerthe following version requirements for Git, tar, and Python: 21209209eecSAndrew Geissler 2133b8a17c1SAndrew Geissler- Git &MIN_GIT_VERSION; or greater 21409209eecSAndrew Geissler 2153b8a17c1SAndrew Geissler- tar &MIN_TAR_VERSION; or greater 21609209eecSAndrew Geissler 2173b8a17c1SAndrew Geissler- Python &MIN_PYTHON_VERSION; or greater 21809209eecSAndrew Geissler 219615f2f11SAndrew Geissler- GNU make &MIN_MAKE_VERSION; or greater 220615f2f11SAndrew Geissler 22109209eecSAndrew GeisslerIf your host development system does not meet all these requirements, 222517393d9SAndrew Geissleryou can resolve this by installing a :term:`buildtools` tarball that 223517393d9SAndrew Geisslercontains these tools. You can either download a pre-built tarball or 224517393d9SAndrew Geissleruse BitBake to build one. 22509209eecSAndrew Geissler 22609209eecSAndrew GeisslerIn addition, your host development system must meet the following 22709209eecSAndrew Geisslerversion requirement for gcc: 22809209eecSAndrew Geissler 2293b8a17c1SAndrew Geissler- gcc &MIN_GCC_VERSION; or greater 23009209eecSAndrew Geissler 23109209eecSAndrew GeisslerIf your host development system does not meet this requirement, you can 232517393d9SAndrew Geisslerresolve this by installing a :term:`buildtools-extended` tarball that 2333b8a17c1SAndrew Geisslercontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` 2343b8a17c1SAndrew Geisslerpackage. 2353b8a17c1SAndrew Geissler 2362390b1b6SPatrick WilliamsFor systems with a broken make version (e.g. make 4.2.1 without patches) but 237517393d9SAndrew Geisslerwhere the rest of the host tools are usable, you can use the :term:`buildtools-make` 2382390b1b6SPatrick Williamstarball instead. 2392390b1b6SPatrick Williams 2403b8a17c1SAndrew GeisslerIn the sections that follow, three different methods will be described for 241517393d9SAndrew Geisslerinstalling the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make` 2422390b1b6SPatrick Williamstoolset. 24309209eecSAndrew Geissler 24409209eecSAndrew GeisslerInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script 24509209eecSAndrew Geissler-------------------------------------------------------------------------------- 24609209eecSAndrew Geissler 24709209eecSAndrew GeisslerThe ``install-buildtools`` script is the easiest of the three methods by 248517393d9SAndrew Geisslerwhich you can get these tools. It downloads a pre-built :term:`buildtools` 24909209eecSAndrew Geisslerinstaller and automatically installs the tools for you: 25009209eecSAndrew Geissler 251517393d9SAndrew Geissler#. Execute the ``install-buildtools`` script. Here is an example:: 25209209eecSAndrew Geissler 25309209eecSAndrew Geissler $ cd poky 2545199d831SAndrew Geissler $ scripts/install-buildtools \ 2555199d831SAndrew Geissler --without-extended-buildtools \ 25609209eecSAndrew Geissler --base-url &YOCTO_DL_URL;/releases/yocto \ 25709209eecSAndrew Geissler --release yocto-&DISTRO; \ 25809209eecSAndrew Geissler --installer-version &DISTRO; 25909209eecSAndrew Geissler 260517393d9SAndrew Geissler During execution, the :term:`buildtools` tarball will be downloaded, the 26109209eecSAndrew Geissler checksum of the download will be verified, the installer will be run 2623b8a17c1SAndrew Geissler for you, and some basic checks will be run to make sure the 26309209eecSAndrew Geissler installation is functional. 26409209eecSAndrew Geissler 26509209eecSAndrew Geissler To avoid the need of ``sudo`` privileges, the ``install-buildtools`` 266c926e17cSAndrew Geissler script will by default tell the installer to install in:: 26709209eecSAndrew Geissler 26809209eecSAndrew Geissler /path/to/poky/buildtools 26909209eecSAndrew Geissler 27009209eecSAndrew Geissler If your host development system needs the additional tools provided 271517393d9SAndrew Geissler in the :term:`buildtools-extended` tarball, you can instead execute the 272c926e17cSAndrew Geissler ``install-buildtools`` script with the default parameters:: 27309209eecSAndrew Geissler 27409209eecSAndrew Geissler $ cd poky 27509209eecSAndrew Geissler $ scripts/install-buildtools 27609209eecSAndrew Geissler 2772390b1b6SPatrick Williams Alternatively if your host development system has a broken ``make`` 2782390b1b6SPatrick Williams version such that you only need a known good version of ``make``, 279517393d9SAndrew Geissler you can use the ``--make-only`` option:: 2802390b1b6SPatrick Williams 2812390b1b6SPatrick Williams $ cd poky 2822390b1b6SPatrick Williams $ scripts/install-buildtools --make-only 2832390b1b6SPatrick Williams 284517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the 285c926e17cSAndrew Geissler following:: 28609209eecSAndrew Geissler 28709209eecSAndrew Geissler $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux 28809209eecSAndrew Geissler 28909209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 29009209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 29109209eecSAndrew Geissler tools are initialized. The results are working versions versions of 29209209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 293517393d9SAndrew Geissler :term:`buildtools-extended` tarball, additional working versions of tools 29409209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 29509209eecSAndrew Geissler ``packagegroup-core-buildessential``. 29609209eecSAndrew Geissler 29709209eecSAndrew GeisslerDownloading a Pre-Built ``buildtools`` Tarball 29809209eecSAndrew Geissler---------------------------------------------- 29909209eecSAndrew Geissler 3003b8a17c1SAndrew GeisslerIf you would prefer not to use the ``install-buildtools`` script, you can instead 301517393d9SAndrew Geisslerdownload and run a pre-built :term:`buildtools` installer yourself with the following 3023b8a17c1SAndrew Geisslersteps: 30309209eecSAndrew Geissler 304517393d9SAndrew Geissler#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and 305517393d9SAndrew Geissler download the ``.sh`` file corresponding to your host architecture 306517393d9SAndrew Geissler and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`. 30709209eecSAndrew Geissler 308517393d9SAndrew Geissler#. Execute the installation script. Here is an example for the 309c926e17cSAndrew Geissler traditional installer:: 31009209eecSAndrew Geissler 311d1e89497SAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 31209209eecSAndrew Geissler 313c926e17cSAndrew Geissler Here is an example for the extended installer:: 31409209eecSAndrew Geissler 315d1e89497SAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 31609209eecSAndrew Geissler 3172390b1b6SPatrick Williams An example for the make-only installer:: 3182390b1b6SPatrick Williams 3192390b1b6SPatrick Williams $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh 3202390b1b6SPatrick Williams 32109209eecSAndrew Geissler During execution, a prompt appears that allows you to choose the 32209209eecSAndrew Geissler installation directory. For example, you could choose the following: 32309209eecSAndrew Geissler ``/home/your-username/buildtools`` 32409209eecSAndrew Geissler 325517393d9SAndrew Geissler#. As instructed by the installer script, you will have to source the tools 326517393d9SAndrew Geissler environment setup script:: 32709209eecSAndrew Geissler 328517393d9SAndrew Geissler $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux 32909209eecSAndrew Geissler 33009209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 33109209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 33209209eecSAndrew Geissler tools are initialized. The results are working versions versions of 33309209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 334517393d9SAndrew Geissler :term:`buildtools-extended` tarball, additional working versions of tools 33509209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 33609209eecSAndrew Geissler ``packagegroup-core-buildessential``. 33709209eecSAndrew Geissler 33809209eecSAndrew GeisslerBuilding Your Own ``buildtools`` Tarball 33909209eecSAndrew Geissler---------------------------------------- 34009209eecSAndrew Geissler 341517393d9SAndrew GeisslerBuilding and running your own :term:`buildtools` installer applies only when you 34209209eecSAndrew Geisslerhave a build host that can already run BitBake. In this case, you use 34309209eecSAndrew Geisslerthat machine to build the ``.sh`` file and then take steps to transfer 34409209eecSAndrew Geisslerand run it on a machine that does not meet the minimal Git, tar, and 34509209eecSAndrew GeisslerPython (or gcc) requirements. 34609209eecSAndrew Geissler 347517393d9SAndrew GeisslerHere are the steps to take to build and run your own :term:`buildtools` 34809209eecSAndrew Geisslerinstaller: 34909209eecSAndrew Geissler 350517393d9SAndrew Geissler#. On the machine that is able to run BitBake, be sure you have set up 35109209eecSAndrew Geissler your build environment with the setup script 35209209eecSAndrew Geissler (:ref:`structure-core-script`). 35309209eecSAndrew Geissler 354517393d9SAndrew Geissler#. Run the BitBake command to build the tarball:: 35509209eecSAndrew Geissler 35609209eecSAndrew Geissler $ bitbake buildtools-tarball 35709209eecSAndrew Geissler 358517393d9SAndrew Geissler or to build the extended tarball:: 35909209eecSAndrew Geissler 36009209eecSAndrew Geissler $ bitbake buildtools-extended-tarball 36109209eecSAndrew Geissler 3622390b1b6SPatrick Williams or to build the make-only tarball:: 3632390b1b6SPatrick Williams 3642390b1b6SPatrick Williams $ bitbake buildtools-make-tarball 3652390b1b6SPatrick Williams 36609209eecSAndrew Geissler .. note:: 36709209eecSAndrew Geissler 36809209eecSAndrew Geissler The :term:`SDKMACHINE` variable in your ``local.conf`` file determines 36909209eecSAndrew Geissler whether you build tools for a 32-bit or 64-bit system. 37009209eecSAndrew Geissler 37109209eecSAndrew Geissler Once the build completes, you can find the ``.sh`` file that installs 37209209eecSAndrew Geissler the tools in the ``tmp/deploy/sdk`` subdirectory of the 37309209eecSAndrew Geissler :term:`Build Directory`. The installer file has the string 374517393d9SAndrew Geissler "buildtools" or "buildtools-extended" in the name. 37509209eecSAndrew Geissler 376517393d9SAndrew Geissler#. Transfer the ``.sh`` file from the build host to the machine that 37709209eecSAndrew Geissler does not meet the Git, tar, or Python (or gcc) requirements. 37809209eecSAndrew Geissler 379517393d9SAndrew Geissler#. On this machine, run the ``.sh`` file to install the tools. Here is an 380517393d9SAndrew Geissler example for the traditional installer:: 38109209eecSAndrew Geissler 38209209eecSAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 38309209eecSAndrew Geissler 384517393d9SAndrew Geissler For the extended installer:: 38509209eecSAndrew Geissler 38609209eecSAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 38709209eecSAndrew Geissler 388517393d9SAndrew Geissler And for the make-only installer:: 3892390b1b6SPatrick Williams 3902390b1b6SPatrick Williams $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh 3912390b1b6SPatrick Williams 39209209eecSAndrew Geissler During execution, a prompt appears that allows you to choose the 39309209eecSAndrew Geissler installation directory. For example, you could choose the following: 39409209eecSAndrew Geissler ``/home/your_username/buildtools`` 39509209eecSAndrew Geissler 396517393d9SAndrew Geissler#. Source the tools environment setup script by using a command like the 397c926e17cSAndrew Geissler following:: 39809209eecSAndrew Geissler 39909209eecSAndrew Geissler $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux 40009209eecSAndrew Geissler 40109209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 40209209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 40309209eecSAndrew Geissler tools are initialized. The results are working versions versions of 40409209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 405517393d9SAndrew Geissler :term:`buildtools-extended` tarball, additional working versions of tools 40609209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 40709209eecSAndrew Geissler ``packagegroup-core-buildessential``. 408