1*4882a593Smuzhiyun.. SPDX-License-Identifier: CC-BY-SA-2.0-UK 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun******************* 4*4882a593SmuzhiyunSystem Requirements 5*4882a593Smuzhiyun******************* 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunWelcome to the Yocto Project Reference Manual. This manual provides 8*4882a593Smuzhiyunreference information for the current release of the Yocto Project, and 9*4882a593Smuzhiyunis most effectively used after you have an understanding of the basics 10*4882a593Smuzhiyunof the Yocto Project. The manual is neither meant to be read as a 11*4882a593Smuzhiyunstarting point to the Yocto Project, nor read from start to finish. 12*4882a593SmuzhiyunRather, use this manual to find variable definitions, class 13*4882a593Smuzhiyundescriptions, and so forth as needed during the course of using the 14*4882a593SmuzhiyunYocto Project. 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunFor introductory information on the Yocto Project, see the 17*4882a593Smuzhiyun:yocto_home:`Yocto Project Website <>` and the 18*4882a593Smuzhiyun":ref:`overview-manual/development-environment:the yocto project development environment`" 19*4882a593Smuzhiyunchapter in the Yocto Project Overview and Concepts Manual. 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunIf you want to use the Yocto Project to quickly build an image without 22*4882a593Smuzhiyunhaving to understand concepts, work through the 23*4882a593Smuzhiyun:doc:`/brief-yoctoprojectqs/index` document. You can find "how-to" 24*4882a593Smuzhiyuninformation in the :doc:`/dev-manual/index`. You can find Yocto Project overview 25*4882a593Smuzhiyunand conceptual information in the :doc:`/overview-manual/index`. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun.. note:: 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun For more information about the Yocto Project Documentation set, see 30*4882a593Smuzhiyun the :ref:`ref-manual/resources:links and related documentation` section. 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun.. _detailed-supported-distros: 33*4882a593Smuzhiyun 34*4882a593SmuzhiyunSupported Linux Distributions 35*4882a593Smuzhiyun============================= 36*4882a593Smuzhiyun 37*4882a593SmuzhiyunCurrently, the Yocto Project is supported on the following 38*4882a593Smuzhiyundistributions: 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun- Ubuntu 18.04 (LTS) 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun- Ubuntu 20.04 (LTS) 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun- Ubuntu 22.04 (LTS) 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun- Fedora 34 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun- Fedora 35 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun- Fedora 36 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun- CentOS 7.x 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun- CentOS 8.x 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun- AlmaLinux 8.5 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun- AlmaLinux 8.7 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun- Debian GNU/Linux 9.x (Stretch) 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun- Debian GNU/Linux 10.x (Buster) 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun- Debian GNU/Linux 11.x (Bullseye) 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun- OpenSUSE Leap 15.3 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun.. note:: 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun - While the Yocto Project Team attempts to ensure all Yocto Project 71*4882a593Smuzhiyun releases are one hundred percent compatible with each officially 72*4882a593Smuzhiyun supported Linux distribution, you may still encounter problems 73*4882a593Smuzhiyun that happen only with a specific distribution. 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun - Yocto Project releases are tested against the stable Linux 76*4882a593Smuzhiyun distributions in the above list. The Yocto Project should work 77*4882a593Smuzhiyun on other distributions but validation is not performed against 78*4882a593Smuzhiyun them. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun - In particular, the Yocto Project does not support and currently 81*4882a593Smuzhiyun has no plans to support rolling-releases or development 82*4882a593Smuzhiyun distributions due to their constantly changing nature. We welcome 83*4882a593Smuzhiyun patches and bug reports, but keep in mind that our priority is on 84*4882a593Smuzhiyun the supported platforms listed below. 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun - You may use Windows Subsystem For Linux v2 to set up a build host 87*4882a593Smuzhiyun using Windows 10, but validation is not performed against build 88*4882a593Smuzhiyun hosts using WSLv2. 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun - The Yocto Project is not compatible with WSLv1, it is 91*4882a593Smuzhiyun compatible but not officially supported nor validated with 92*4882a593Smuzhiyun WSLv2, if you still decide to use WSL please upgrade to WSLv2. 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun - If you encounter problems, please go to :yocto_bugs:`Yocto Project 95*4882a593Smuzhiyun Bugzilla <>` and submit a bug. We are 96*4882a593Smuzhiyun interested in hearing about your experience. For information on 97*4882a593Smuzhiyun how to submit a bug, see the Yocto Project 98*4882a593Smuzhiyun :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` 99*4882a593Smuzhiyun and the ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`" 100*4882a593Smuzhiyun section in the Yocto Project Development Tasks Manual. 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun 103*4882a593SmuzhiyunRequired Packages for the Build Host 104*4882a593Smuzhiyun==================================== 105*4882a593Smuzhiyun 106*4882a593SmuzhiyunThe list of packages you need on the host development system can be 107*4882a593Smuzhiyunlarge when covering all build scenarios using the Yocto Project. This 108*4882a593Smuzhiyunsection describes required packages according to Linux distribution and 109*4882a593Smuzhiyunfunction. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun.. _ubuntu-packages: 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunUbuntu and Debian 114*4882a593Smuzhiyun----------------- 115*4882a593Smuzhiyun 116*4882a593SmuzhiyunHere are the required packages by function given a 117*4882a593Smuzhiyunsupported Ubuntu or Debian Linux distribution: 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun.. note:: 120*4882a593Smuzhiyun 121*4882a593Smuzhiyun - If your build system has the ``oss4-dev`` package installed, you 122*4882a593Smuzhiyun might experience QEMU build failures due to the package installing 123*4882a593Smuzhiyun its own custom ``/usr/include/linux/soundcard.h`` on the Debian 124*4882a593Smuzhiyun system. If you run into this situation, try either of these solutions:: 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun $ sudo apt build-dep qemu 127*4882a593Smuzhiyun $ sudo apt remove oss4-dev 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun - For Debian-8, ``python3-git`` and ``pylint3`` are no longer 130*4882a593Smuzhiyun available via ``apt``. 131*4882a593Smuzhiyun :: 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun $ sudo pip3 install GitPython pylint==1.9.5 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun- *Essentials:* Packages needed to build an image on a headless system:: 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun- *Documentation:* Packages needed if you are going to build out the 140*4882a593Smuzhiyun Yocto Project documentation manuals:: 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun $ sudo apt install make python3-pip 143*4882a593Smuzhiyun &PIP3_HOST_PACKAGES_DOC; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun .. note:: 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun It is currently not possible to build out documentation from Debian 8 148*4882a593Smuzhiyun (Jessie) because of outdated ``pip3`` and ``python3``. ``python3-sphinx`` 149*4882a593Smuzhiyun is too outdated. 150*4882a593Smuzhiyun 151*4882a593SmuzhiyunFedora Packages 152*4882a593Smuzhiyun--------------- 153*4882a593Smuzhiyun 154*4882a593SmuzhiyunHere are the required packages by function given a 155*4882a593Smuzhiyunsupported Fedora Linux distribution: 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun- *Essentials:* Packages needed to build an image for a headless 158*4882a593Smuzhiyun system:: 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun- *Documentation:* Packages needed if you are going to build out the 163*4882a593Smuzhiyun Yocto Project documentation manuals:: 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun $ sudo dnf install make python3-pip which 166*4882a593Smuzhiyun &PIP3_HOST_PACKAGES_DOC; 167*4882a593Smuzhiyun 168*4882a593SmuzhiyunopenSUSE Packages 169*4882a593Smuzhiyun----------------- 170*4882a593Smuzhiyun 171*4882a593SmuzhiyunHere are the required packages by function given a 172*4882a593Smuzhiyunsupported openSUSE Linux distribution: 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun- *Essentials:* Packages needed to build an image for a headless 175*4882a593Smuzhiyun system:: 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun- *Documentation:* Packages needed if you are going to build out the 180*4882a593Smuzhiyun Yocto Project documentation manuals:: 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun $ sudo zypper install make python3-pip which 183*4882a593Smuzhiyun &PIP3_HOST_PACKAGES_DOC; 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun 186*4882a593SmuzhiyunCentOS-7 Packages 187*4882a593Smuzhiyun----------------- 188*4882a593Smuzhiyun 189*4882a593SmuzhiyunHere are the required packages by function given a 190*4882a593Smuzhiyunsupported CentOS-7 Linux distribution: 191*4882a593Smuzhiyun 192*4882a593Smuzhiyun- *Essentials:* Packages needed to build an image for a headless 193*4882a593Smuzhiyun system:: 194*4882a593Smuzhiyun 195*4882a593Smuzhiyun $ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL; 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun .. note:: 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is 200*4882a593Smuzhiyun a collection of packages from Fedora built on RHEL/CentOS for 201*4882a593Smuzhiyun easy installation of packages not included in enterprise Linux 202*4882a593Smuzhiyun by default. You need to install these packages separately. 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun - The ``makecache`` command consumes additional Metadata from 205*4882a593Smuzhiyun ``epel-release``. 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun- *Documentation:* Packages needed if you are going to build out the 208*4882a593Smuzhiyun Yocto Project documentation manuals:: 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun $ sudo yum install make python3-pip which 211*4882a593Smuzhiyun &PIP3_HOST_PACKAGES_DOC; 212*4882a593Smuzhiyun 213*4882a593SmuzhiyunCentOS-8 Packages 214*4882a593Smuzhiyun----------------- 215*4882a593Smuzhiyun 216*4882a593SmuzhiyunHere are the required packages by function given a 217*4882a593Smuzhiyunsupported CentOS-8 Linux distribution: 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun- *Essentials:* Packages needed to build an image for a headless 220*4882a593Smuzhiyun system:: 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL; 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun .. note:: 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is 227*4882a593Smuzhiyun a collection of packages from Fedora built on RHEL/CentOS for 228*4882a593Smuzhiyun easy installation of packages not included in enterprise Linux 229*4882a593Smuzhiyun by default. You need to install these packages separately. 230*4882a593Smuzhiyun 231*4882a593Smuzhiyun - The ``PowerTools`` repo provides additional packages such as 232*4882a593Smuzhiyun ``rpcgen`` and ``texinfo``. 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun - The ``makecache`` command consumes additional Metadata from 235*4882a593Smuzhiyun ``epel-release``. 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun- *Documentation:* Packages needed if you are going to build out the 238*4882a593Smuzhiyun Yocto Project documentation manuals:: 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun $ sudo dnf install make python3-pip which 241*4882a593Smuzhiyun &PIP3_HOST_PACKAGES_DOC; 242*4882a593Smuzhiyun 243*4882a593SmuzhiyunRequired Git, tar, Python and gcc Versions 244*4882a593Smuzhiyun========================================== 245*4882a593Smuzhiyun 246*4882a593SmuzhiyunIn order to use the build system, your host development system must meet 247*4882a593Smuzhiyunthe following version requirements for Git, tar, and Python: 248*4882a593Smuzhiyun 249*4882a593Smuzhiyun- Git &MIN_GIT_VERSION; or greater 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun- tar &MIN_TAR_VERSION; or greater 252*4882a593Smuzhiyun 253*4882a593Smuzhiyun- Python &MIN_PYTHON_VERSION; or greater 254*4882a593Smuzhiyun 255*4882a593SmuzhiyunIf your host development system does not meet all these requirements, 256*4882a593Smuzhiyunyou can resolve this by installing a ``buildtools`` tarball that 257*4882a593Smuzhiyuncontains these tools. You can get the tarball one of two ways: download 258*4882a593Smuzhiyuna pre-built tarball or use BitBake to build the tarball. 259*4882a593Smuzhiyun 260*4882a593SmuzhiyunIn addition, your host development system must meet the following 261*4882a593Smuzhiyunversion requirement for gcc: 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun- gcc &MIN_GCC_VERSION; or greater 264*4882a593Smuzhiyun 265*4882a593SmuzhiyunIf your host development system does not meet this requirement, you can 266*4882a593Smuzhiyunresolve this by installing a ``buildtools-extended`` tarball that 267*4882a593Smuzhiyuncontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` 268*4882a593Smuzhiyunpackage. 269*4882a593Smuzhiyun 270*4882a593SmuzhiyunIn the sections that follow, three different methods will be described for 271*4882a593Smuzhiyuninstalling the ``buildtools`` or ``buildtools-extended`` toolset. 272*4882a593Smuzhiyun 273*4882a593SmuzhiyunInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script 274*4882a593Smuzhiyun-------------------------------------------------------------------------------- 275*4882a593Smuzhiyun 276*4882a593SmuzhiyunThe ``install-buildtools`` script is the easiest of the three methods by 277*4882a593Smuzhiyunwhich you can get these tools. It downloads a pre-built buildtools 278*4882a593Smuzhiyuninstaller and automatically installs the tools for you: 279*4882a593Smuzhiyun 280*4882a593Smuzhiyun1. Execute the ``install-buildtools`` script. Here is an example:: 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun $ cd poky 283*4882a593Smuzhiyun $ scripts/install-buildtools \ 284*4882a593Smuzhiyun --without-extended-buildtools \ 285*4882a593Smuzhiyun --base-url &YOCTO_DL_URL;/releases/yocto \ 286*4882a593Smuzhiyun --release yocto-&DISTRO; \ 287*4882a593Smuzhiyun --installer-version &DISTRO; 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun During execution, the buildtools tarball will be downloaded, the 290*4882a593Smuzhiyun checksum of the download will be verified, the installer will be run 291*4882a593Smuzhiyun for you, and some basic checks will be run to make sure the 292*4882a593Smuzhiyun installation is functional. 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun To avoid the need of ``sudo`` privileges, the ``install-buildtools`` 295*4882a593Smuzhiyun script will by default tell the installer to install in:: 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun /path/to/poky/buildtools 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun If your host development system needs the additional tools provided 300*4882a593Smuzhiyun in the ``buildtools-extended`` tarball, you can instead execute the 301*4882a593Smuzhiyun ``install-buildtools`` script with the default parameters:: 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun $ cd poky 304*4882a593Smuzhiyun $ scripts/install-buildtools 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun2. Source the tools environment setup script by using a command like the 307*4882a593Smuzhiyun following:: 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux 310*4882a593Smuzhiyun 311*4882a593Smuzhiyun Of course, you need to supply your installation directory and be sure to 312*4882a593Smuzhiyun use the right file (i.e. i586 or x86_64). 313*4882a593Smuzhiyun 314*4882a593Smuzhiyun After you have sourced the setup script, the tools are added to 315*4882a593Smuzhiyun ``PATH`` and any other environment variables required to run the 316*4882a593Smuzhiyun tools are initialized. The results are working versions versions of 317*4882a593Smuzhiyun Git, tar, Python and ``chrpath``. And in the case of the 318*4882a593Smuzhiyun ``buildtools-extended`` tarball, additional working versions of tools 319*4882a593Smuzhiyun including ``gcc``, ``make`` and the other tools included in 320*4882a593Smuzhiyun ``packagegroup-core-buildessential``. 321*4882a593Smuzhiyun 322*4882a593SmuzhiyunDownloading a Pre-Built ``buildtools`` Tarball 323*4882a593Smuzhiyun---------------------------------------------- 324*4882a593Smuzhiyun 325*4882a593SmuzhiyunIf you would prefer not to use the ``install-buildtools`` script, you can instead 326*4882a593Smuzhiyundownload and run a pre-built buildtools installer yourself with the following 327*4882a593Smuzhiyunsteps: 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun1. Locate and download the ``*.sh`` at :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/` 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun2. Execute the installation script. Here is an example for the 332*4882a593Smuzhiyun traditional installer:: 333*4882a593Smuzhiyun 334*4882a593Smuzhiyun $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 335*4882a593Smuzhiyun 336*4882a593Smuzhiyun Here is an example for the extended installer:: 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun During execution, a prompt appears that allows you to choose the 341*4882a593Smuzhiyun installation directory. For example, you could choose the following: 342*4882a593Smuzhiyun ``/home/your-username/buildtools`` 343*4882a593Smuzhiyun 344*4882a593Smuzhiyun3. Source the tools environment setup script by using a command like the 345*4882a593Smuzhiyun following:: 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun $ source /home/your_username/buildtools/environment-setup-i586-poky-linux 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun Of 350*4882a593Smuzhiyun course, you need to supply your installation directory and be sure to 351*4882a593Smuzhiyun use the right file (i.e. i585 or x86-64). 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun After you have sourced the setup script, the tools are added to 354*4882a593Smuzhiyun ``PATH`` and any other environment variables required to run the 355*4882a593Smuzhiyun tools are initialized. The results are working versions versions of 356*4882a593Smuzhiyun Git, tar, Python and ``chrpath``. And in the case of the 357*4882a593Smuzhiyun ``buildtools-extended`` tarball, additional working versions of tools 358*4882a593Smuzhiyun including ``gcc``, ``make`` and the other tools included in 359*4882a593Smuzhiyun ``packagegroup-core-buildessential``. 360*4882a593Smuzhiyun 361*4882a593SmuzhiyunBuilding Your Own ``buildtools`` Tarball 362*4882a593Smuzhiyun---------------------------------------- 363*4882a593Smuzhiyun 364*4882a593SmuzhiyunBuilding and running your own buildtools installer applies only when you 365*4882a593Smuzhiyunhave a build host that can already run BitBake. In this case, you use 366*4882a593Smuzhiyunthat machine to build the ``.sh`` file and then take steps to transfer 367*4882a593Smuzhiyunand run it on a machine that does not meet the minimal Git, tar, and 368*4882a593SmuzhiyunPython (or gcc) requirements. 369*4882a593Smuzhiyun 370*4882a593SmuzhiyunHere are the steps to take to build and run your own buildtools 371*4882a593Smuzhiyuninstaller: 372*4882a593Smuzhiyun 373*4882a593Smuzhiyun1. On the machine that is able to run BitBake, be sure you have set up 374*4882a593Smuzhiyun your build environment with the setup script 375*4882a593Smuzhiyun (:ref:`structure-core-script`). 376*4882a593Smuzhiyun 377*4882a593Smuzhiyun2. Run the BitBake command to build the tarball:: 378*4882a593Smuzhiyun 379*4882a593Smuzhiyun $ bitbake buildtools-tarball 380*4882a593Smuzhiyun 381*4882a593Smuzhiyun or run the BitBake command to build the extended tarball:: 382*4882a593Smuzhiyun 383*4882a593Smuzhiyun $ bitbake buildtools-extended-tarball 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun .. note:: 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun The :term:`SDKMACHINE` variable in your ``local.conf`` file determines 388*4882a593Smuzhiyun whether you build tools for a 32-bit or 64-bit system. 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun Once the build completes, you can find the ``.sh`` file that installs 391*4882a593Smuzhiyun the tools in the ``tmp/deploy/sdk`` subdirectory of the 392*4882a593Smuzhiyun :term:`Build Directory`. The installer file has the string 393*4882a593Smuzhiyun "buildtools" (or "buildtools-extended") in the name. 394*4882a593Smuzhiyun 395*4882a593Smuzhiyun3. Transfer the ``.sh`` file from the build host to the machine that 396*4882a593Smuzhiyun does not meet the Git, tar, or Python (or gcc) requirements. 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun4. On the machine that does not meet the requirements, run the ``.sh`` 399*4882a593Smuzhiyun file to install the tools. Here is an example for the traditional 400*4882a593Smuzhiyun installer:: 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 403*4882a593Smuzhiyun 404*4882a593Smuzhiyun Here is an example for the extended installer:: 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun During execution, a prompt appears that allows you to choose the 409*4882a593Smuzhiyun installation directory. For example, you could choose the following: 410*4882a593Smuzhiyun ``/home/your_username/buildtools`` 411*4882a593Smuzhiyun 412*4882a593Smuzhiyun5. Source the tools environment setup script by using a command like the 413*4882a593Smuzhiyun following:: 414*4882a593Smuzhiyun 415*4882a593Smuzhiyun $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun Of course, you need to supply your installation directory and be sure to 418*4882a593Smuzhiyun use the right file (i.e. i586 or x86_64). 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun After you have sourced the setup script, the tools are added to 421*4882a593Smuzhiyun ``PATH`` and any other environment variables required to run the 422*4882a593Smuzhiyun tools are initialized. The results are working versions versions of 423*4882a593Smuzhiyun Git, tar, Python and ``chrpath``. And in the case of the 424*4882a593Smuzhiyun ``buildtools-extended`` tarball, additional working versions of tools 425*4882a593Smuzhiyun including ``gcc``, ``make`` and the other tools included in 426*4882a593Smuzhiyun ``packagegroup-core-buildessential``. 427