109209eecSAndrew Geissler.. SPDX-License-Identifier: CC-BY-SA-2.0-UK 209209eecSAndrew Geissler 309209eecSAndrew Geissler******************* 409209eecSAndrew GeisslerSystem Requirements 509209eecSAndrew Geissler******************* 609209eecSAndrew Geissler 709209eecSAndrew 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 3709209eecSAndrew GeisslerCurrently, the Yocto Project is supported on the following 3809209eecSAndrew Geisslerdistributions: 3909209eecSAndrew Geissler 4009209eecSAndrew Geissler- Ubuntu 16.04 (LTS) 4109209eecSAndrew Geissler 4209209eecSAndrew Geissler- Ubuntu 18.04 (LTS) 4309209eecSAndrew Geissler 4409209eecSAndrew Geissler- Ubuntu 20.04 4509209eecSAndrew Geissler 4609209eecSAndrew Geissler- Fedora 30 4709209eecSAndrew Geissler 4809209eecSAndrew Geissler- Fedora 31 4909209eecSAndrew Geissler 5009209eecSAndrew Geissler- Fedora 32 5109209eecSAndrew Geissler 5209209eecSAndrew Geissler- CentOS 7.x 5309209eecSAndrew Geissler 5409209eecSAndrew Geissler- CentOS 8.x 5509209eecSAndrew Geissler 5609209eecSAndrew Geissler- Debian GNU/Linux 8.x (Jessie) 5709209eecSAndrew Geissler 5809209eecSAndrew Geissler- Debian GNU/Linux 9.x (Stretch) 5909209eecSAndrew Geissler 6009209eecSAndrew Geissler- Debian GNU/Linux 10.x (Buster) 6109209eecSAndrew Geissler 623b8a17c1SAndrew Geissler- openSUSE Leap 15.1 6309209eecSAndrew Geissler 6409209eecSAndrew Geissler 6509209eecSAndrew Geissler.. note:: 6609209eecSAndrew Geissler 6709209eecSAndrew Geissler - While the Yocto Project Team attempts to ensure all Yocto Project 6809209eecSAndrew Geissler releases are one hundred percent compatible with each officially 6909209eecSAndrew Geissler supported Linux distribution, instances might exist where you 7009209eecSAndrew Geissler encounter a problem while using the Yocto Project on a specific 7109209eecSAndrew Geissler distribution. 7209209eecSAndrew Geissler 7309209eecSAndrew Geissler - Yocto Project releases are tested against the stable Linux 7409209eecSAndrew Geissler distributions in the above list. The Yocto Project should work 7509209eecSAndrew Geissler on other distributions but validation is not performed against 7609209eecSAndrew Geissler them. 7709209eecSAndrew Geissler 7809209eecSAndrew Geissler - In particular, the Yocto Project does not support and currently 7909209eecSAndrew Geissler has no plans to support rolling-releases or development 8009209eecSAndrew Geissler distributions due to their constantly changing nature. We welcome 8109209eecSAndrew Geissler patches and bug reports, but keep in mind that our priority is on 8209209eecSAndrew Geissler the supported platforms listed below. 8309209eecSAndrew Geissler 8409209eecSAndrew Geissler - You may use Windows Subsystem For Linux v2 to set up a build host 8509209eecSAndrew Geissler using Windows 10, but validation is not performed against build 8609209eecSAndrew Geissler hosts using WSLv2. 8709209eecSAndrew Geissler 8809209eecSAndrew Geissler - The Yocto Project is not compatible with WSLv1, it is 8909209eecSAndrew Geissler compatible but not officially supported nor validated with 9009209eecSAndrew Geissler WSLv2, if you still decide to use WSL please upgrade to WSLv2. 9109209eecSAndrew Geissler 9209209eecSAndrew Geissler - If you encounter problems, please go to :yocto_bugs:`Yocto Project 9309209eecSAndrew Geissler Bugzilla <>` and submit a bug. We are 9409209eecSAndrew Geissler interested in hearing about your experience. For information on 9509209eecSAndrew Geissler how to submit a bug, see the Yocto Project 9609209eecSAndrew Geissler :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` 9709209eecSAndrew Geissler and the ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`" 9809209eecSAndrew Geissler section in the Yocto Project Development Tasks Manual. 9909209eecSAndrew Geissler 10009209eecSAndrew Geissler 10109209eecSAndrew GeisslerRequired Packages for the Build Host 10209209eecSAndrew Geissler==================================== 10309209eecSAndrew Geissler 10409209eecSAndrew GeisslerThe list of packages you need on the host development system can be 10509209eecSAndrew Geisslerlarge when covering all build scenarios using the Yocto Project. This 10609209eecSAndrew Geisslersection describes required packages according to Linux distribution and 10709209eecSAndrew Geisslerfunction. 10809209eecSAndrew Geissler 10909209eecSAndrew Geissler.. _ubuntu-packages: 11009209eecSAndrew Geissler 11109209eecSAndrew GeisslerUbuntu and Debian 11209209eecSAndrew Geissler----------------- 11309209eecSAndrew Geissler 11409209eecSAndrew GeisslerThe following list shows the required packages by function given a 11509209eecSAndrew Geisslersupported Ubuntu or Debian Linux distribution: 11609209eecSAndrew Geissler 11709209eecSAndrew Geissler.. note:: 11809209eecSAndrew Geissler 11909209eecSAndrew Geissler - If your build system has the ``oss4-dev`` package installed, you 12009209eecSAndrew Geissler might experience QEMU build failures due to the package installing 12109209eecSAndrew Geissler its own custom ``/usr/include/linux/soundcard.h`` on the Debian 12209209eecSAndrew Geissler system. If you run into this situation, either of the following 123*c926e17cSAndrew Geissler solutions exist:: 12409209eecSAndrew Geissler 12509209eecSAndrew Geissler $ sudo apt-get build-dep qemu 12609209eecSAndrew Geissler $ sudo apt-get remove oss4-dev 12709209eecSAndrew Geissler 12809209eecSAndrew Geissler - For Debian-8, ``python3-git`` and ``pylint3`` are no longer 12909209eecSAndrew Geissler available via ``apt-get``. 13009209eecSAndrew Geissler :: 13109209eecSAndrew Geissler 13209209eecSAndrew Geissler $ sudo pip3 install GitPython pylint==1.9.5 13309209eecSAndrew Geissler 134*c926e17cSAndrew Geissler- *Essentials:* Packages needed to build an image on a headless system:: 13509209eecSAndrew Geissler 13609209eecSAndrew Geissler $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; 13709209eecSAndrew Geissler 13809209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 139*c926e17cSAndrew Geissler Yocto Project documentation manuals:: 14009209eecSAndrew Geissler 14109209eecSAndrew Geissler $ sudo apt-get install make python3-pip 14209209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 14309209eecSAndrew Geissler 14409209eecSAndrew Geissler .. note:: 14509209eecSAndrew Geissler 14609209eecSAndrew Geissler It is currently not possible to build out documentation from Debian 8 14709209eecSAndrew Geissler (Jessie) because of outdated ``pip3`` and ``python3``. ``python3-sphinx`` 14809209eecSAndrew Geissler is too outdated. 14909209eecSAndrew Geissler 15009209eecSAndrew GeisslerFedora Packages 15109209eecSAndrew Geissler--------------- 15209209eecSAndrew Geissler 15309209eecSAndrew GeisslerThe following list shows the required packages by function given a 15409209eecSAndrew Geisslersupported Fedora Linux distribution: 15509209eecSAndrew Geissler 15609209eecSAndrew Geissler- *Essentials:* Packages needed to build an image for a headless 157*c926e17cSAndrew Geissler system:: 15809209eecSAndrew Geissler 15909209eecSAndrew Geissler $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; 16009209eecSAndrew Geissler 16109209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 162*c926e17cSAndrew Geissler Yocto Project documentation manuals:: 16309209eecSAndrew Geissler 16409209eecSAndrew Geissler $ sudo dnf install make python3-pip which 16509209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 16609209eecSAndrew Geissler 16709209eecSAndrew GeissleropenSUSE Packages 16809209eecSAndrew Geissler----------------- 16909209eecSAndrew Geissler 17009209eecSAndrew GeisslerThe following list shows the required packages by function given a 17109209eecSAndrew Geisslersupported openSUSE Linux distribution: 17209209eecSAndrew Geissler 17309209eecSAndrew Geissler- *Essentials:* Packages needed to build an image for a headless 174*c926e17cSAndrew Geissler system:: 17509209eecSAndrew Geissler 17609209eecSAndrew Geissler $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; 17709209eecSAndrew Geissler 17809209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 179*c926e17cSAndrew Geissler Yocto Project documentation manuals:: 18009209eecSAndrew Geissler 18109209eecSAndrew Geissler $ sudo zypper install make python3-pip which 18209209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 18309209eecSAndrew Geissler 18409209eecSAndrew Geissler 18509209eecSAndrew GeisslerCentOS-7 Packages 18609209eecSAndrew Geissler----------------- 18709209eecSAndrew Geissler 18809209eecSAndrew GeisslerThe following list shows the required packages by function given a 18909209eecSAndrew Geisslersupported CentOS-7 Linux distribution: 19009209eecSAndrew Geissler 19109209eecSAndrew Geissler- *Essentials:* Packages needed to build an image for a headless 192*c926e17cSAndrew Geissler system:: 19309209eecSAndrew Geissler 19409209eecSAndrew Geissler $ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL; 19509209eecSAndrew Geissler 19609209eecSAndrew Geissler .. note:: 19709209eecSAndrew Geissler 19809209eecSAndrew Geissler - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is 19909209eecSAndrew Geissler a collection of packages from Fedora built on RHEL/CentOS for 20009209eecSAndrew Geissler easy installation of packages not included in enterprise Linux 20109209eecSAndrew Geissler by default. You need to install these packages separately. 20209209eecSAndrew Geissler 20309209eecSAndrew Geissler - The ``makecache`` command consumes additional Metadata from 20409209eecSAndrew Geissler ``epel-release``. 20509209eecSAndrew Geissler 20609209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 207*c926e17cSAndrew Geissler Yocto Project documentation manuals:: 20809209eecSAndrew Geissler 20909209eecSAndrew Geissler $ sudo yum install make python3-pip which 21009209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 21109209eecSAndrew Geissler 21209209eecSAndrew GeisslerCentOS-8 Packages 21309209eecSAndrew Geissler----------------- 21409209eecSAndrew Geissler 21509209eecSAndrew GeisslerThe following list shows the required packages by function given a 21609209eecSAndrew Geisslersupported CentOS-8 Linux distribution: 21709209eecSAndrew Geissler 21809209eecSAndrew Geissler- *Essentials:* Packages needed to build an image for a headless 219*c926e17cSAndrew Geissler system:: 22009209eecSAndrew Geissler 22109209eecSAndrew Geissler $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL; 22209209eecSAndrew Geissler 22309209eecSAndrew Geissler .. note:: 22409209eecSAndrew Geissler 22509209eecSAndrew Geissler - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is 22609209eecSAndrew Geissler a collection of packages from Fedora built on RHEL/CentOS for 22709209eecSAndrew Geissler easy installation of packages not included in enterprise Linux 22809209eecSAndrew Geissler by default. You need to install these packages separately. 22909209eecSAndrew Geissler 23009209eecSAndrew Geissler - The ``PowerTools`` repo provides additional packages such as 23109209eecSAndrew Geissler ``rpcgen`` and ``texinfo``. 23209209eecSAndrew Geissler 23309209eecSAndrew Geissler - The ``makecache`` command consumes additional Metadata from 23409209eecSAndrew Geissler ``epel-release``. 23509209eecSAndrew Geissler 23609209eecSAndrew Geissler- *Documentation:* Packages needed if you are going to build out the 237*c926e17cSAndrew Geissler Yocto Project documentation manuals:: 23809209eecSAndrew Geissler 23909209eecSAndrew Geissler $ sudo dnf install make python3-pip which 24009209eecSAndrew Geissler &PIP3_HOST_PACKAGES_DOC; 24109209eecSAndrew Geissler 24209209eecSAndrew GeisslerRequired Git, tar, Python and gcc Versions 24309209eecSAndrew Geissler========================================== 24409209eecSAndrew Geissler 24509209eecSAndrew GeisslerIn order to use the build system, your host development system must meet 24609209eecSAndrew Geisslerthe following version requirements for Git, tar, and Python: 24709209eecSAndrew Geissler 2483b8a17c1SAndrew Geissler- Git &MIN_GIT_VERSION; or greater 24909209eecSAndrew Geissler 2503b8a17c1SAndrew Geissler- tar &MIN_TAR_VERSION; or greater 25109209eecSAndrew Geissler 2523b8a17c1SAndrew Geissler- Python &MIN_PYTHON_VERSION; or greater 25309209eecSAndrew Geissler 25409209eecSAndrew GeisslerIf your host development system does not meet all these requirements, 25509209eecSAndrew Geissleryou can resolve this by installing a ``buildtools`` tarball that 25609209eecSAndrew Geisslercontains these tools. You can get the tarball one of two ways: download 25709209eecSAndrew Geisslera pre-built tarball or use BitBake to build the tarball. 25809209eecSAndrew Geissler 25909209eecSAndrew GeisslerIn addition, your host development system must meet the following 26009209eecSAndrew Geisslerversion requirement for gcc: 26109209eecSAndrew Geissler 2623b8a17c1SAndrew Geissler- gcc &MIN_GCC_VERSION; or greater 26309209eecSAndrew Geissler 26409209eecSAndrew GeisslerIf your host development system does not meet this requirement, you can 26509209eecSAndrew Geisslerresolve this by installing a ``buildtools-extended`` tarball that 2663b8a17c1SAndrew Geisslercontains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` 2673b8a17c1SAndrew Geisslerpackage. 2683b8a17c1SAndrew Geissler 2693b8a17c1SAndrew GeisslerIn the sections that follow, three different methods will be described for 2703b8a17c1SAndrew Geisslerinstalling the ``buildtools`` or ``buildtools-extended`` toolset. 27109209eecSAndrew Geissler 27209209eecSAndrew GeisslerInstalling a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script 27309209eecSAndrew Geissler-------------------------------------------------------------------------------- 27409209eecSAndrew Geissler 27509209eecSAndrew GeisslerThe ``install-buildtools`` script is the easiest of the three methods by 27609209eecSAndrew Geisslerwhich you can get these tools. It downloads a pre-built buildtools 27709209eecSAndrew Geisslerinstaller and automatically installs the tools for you: 27809209eecSAndrew Geissler 279*c926e17cSAndrew Geissler1. Execute the ``install-buildtools`` script. Here is an example:: 28009209eecSAndrew Geissler 28109209eecSAndrew Geissler $ cd poky 28209209eecSAndrew Geissler $ scripts/install-buildtools --without-extended-buildtools \ 28309209eecSAndrew Geissler --base-url &YOCTO_DL_URL;/releases/yocto \ 28409209eecSAndrew Geissler --release yocto-&DISTRO; \ 28509209eecSAndrew Geissler --installer-version &DISTRO; 28609209eecSAndrew Geissler 28709209eecSAndrew Geissler During execution, the buildtools tarball will be downloaded, the 28809209eecSAndrew Geissler checksum of the download will be verified, the installer will be run 2893b8a17c1SAndrew Geissler for you, and some basic checks will be run to make sure the 29009209eecSAndrew Geissler installation is functional. 29109209eecSAndrew Geissler 29209209eecSAndrew Geissler To avoid the need of ``sudo`` privileges, the ``install-buildtools`` 293*c926e17cSAndrew Geissler script will by default tell the installer to install in:: 29409209eecSAndrew Geissler 29509209eecSAndrew Geissler /path/to/poky/buildtools 29609209eecSAndrew Geissler 29709209eecSAndrew Geissler If your host development system needs the additional tools provided 29809209eecSAndrew Geissler in the ``buildtools-extended`` tarball, you can instead execute the 299*c926e17cSAndrew Geissler ``install-buildtools`` script with the default parameters:: 30009209eecSAndrew Geissler 30109209eecSAndrew Geissler $ cd poky 30209209eecSAndrew Geissler $ scripts/install-buildtools 30309209eecSAndrew Geissler 30409209eecSAndrew Geissler2. Source the tools environment setup script by using a command like the 305*c926e17cSAndrew Geissler following:: 30609209eecSAndrew Geissler 30709209eecSAndrew Geissler $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux 30809209eecSAndrew Geissler 30909209eecSAndrew Geissler Of course, you need to supply your installation directory and be sure to 31009209eecSAndrew Geissler use the right file (i.e. i586 or x86_64). 31109209eecSAndrew Geissler 31209209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 31309209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 31409209eecSAndrew Geissler tools are initialized. The results are working versions versions of 31509209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 31609209eecSAndrew Geissler ``buildtools-extended`` tarball, additional working versions of tools 31709209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 31809209eecSAndrew Geissler ``packagegroup-core-buildessential``. 31909209eecSAndrew Geissler 32009209eecSAndrew GeisslerDownloading a Pre-Built ``buildtools`` Tarball 32109209eecSAndrew Geissler---------------------------------------------- 32209209eecSAndrew Geissler 3233b8a17c1SAndrew GeisslerIf you would prefer not to use the ``install-buildtools`` script, you can instead 3243b8a17c1SAndrew Geisslerdownload and run a pre-built buildtools installer yourself with the following 3253b8a17c1SAndrew Geisslersteps: 32609209eecSAndrew Geissler 32709209eecSAndrew Geissler1. Locate and download the ``*.sh`` at &YOCTO_RELEASE_DL_URL;/buildtools/ 32809209eecSAndrew Geissler 32909209eecSAndrew Geissler2. Execute the installation script. Here is an example for the 330*c926e17cSAndrew Geissler traditional installer:: 33109209eecSAndrew Geissler 332d1e89497SAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 33309209eecSAndrew Geissler 334*c926e17cSAndrew Geissler Here is an example for the extended installer:: 33509209eecSAndrew Geissler 336d1e89497SAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 33709209eecSAndrew Geissler 33809209eecSAndrew Geissler During execution, a prompt appears that allows you to choose the 33909209eecSAndrew Geissler installation directory. For example, you could choose the following: 34009209eecSAndrew Geissler ``/home/your-username/buildtools`` 34109209eecSAndrew Geissler 34209209eecSAndrew Geissler3. Source the tools environment setup script by using a command like the 343*c926e17cSAndrew Geissler following:: 34409209eecSAndrew Geissler 34509209eecSAndrew Geissler $ source /home/your_username/buildtools/environment-setup-i586-poky-linux 34609209eecSAndrew Geissler 34709209eecSAndrew Geissler Of 34809209eecSAndrew Geissler course, you need to supply your installation directory and be sure to 34909209eecSAndrew Geissler use the right file (i.e. i585 or x86-64). 35009209eecSAndrew Geissler 35109209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 35209209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 35309209eecSAndrew Geissler tools are initialized. The results are working versions versions of 35409209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 35509209eecSAndrew Geissler ``buildtools-extended`` tarball, additional working versions of tools 35609209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 35709209eecSAndrew Geissler ``packagegroup-core-buildessential``. 35809209eecSAndrew Geissler 35909209eecSAndrew GeisslerBuilding Your Own ``buildtools`` Tarball 36009209eecSAndrew Geissler---------------------------------------- 36109209eecSAndrew Geissler 36209209eecSAndrew GeisslerBuilding and running your own buildtools installer applies only when you 36309209eecSAndrew Geisslerhave a build host that can already run BitBake. In this case, you use 36409209eecSAndrew Geisslerthat machine to build the ``.sh`` file and then take steps to transfer 36509209eecSAndrew Geisslerand run it on a machine that does not meet the minimal Git, tar, and 36609209eecSAndrew GeisslerPython (or gcc) requirements. 36709209eecSAndrew Geissler 36809209eecSAndrew GeisslerHere are the steps to take to build and run your own buildtools 36909209eecSAndrew Geisslerinstaller: 37009209eecSAndrew Geissler 37109209eecSAndrew Geissler1. On the machine that is able to run BitBake, be sure you have set up 37209209eecSAndrew Geissler your build environment with the setup script 37309209eecSAndrew Geissler (:ref:`structure-core-script`). 37409209eecSAndrew Geissler 375*c926e17cSAndrew Geissler2. Run the BitBake command to build the tarball:: 37609209eecSAndrew Geissler 37709209eecSAndrew Geissler $ bitbake buildtools-tarball 37809209eecSAndrew Geissler 379*c926e17cSAndrew Geissler or run the BitBake command to build the extended tarball:: 38009209eecSAndrew Geissler 38109209eecSAndrew Geissler $ bitbake buildtools-extended-tarball 38209209eecSAndrew Geissler 38309209eecSAndrew Geissler .. note:: 38409209eecSAndrew Geissler 38509209eecSAndrew Geissler The :term:`SDKMACHINE` variable in your ``local.conf`` file determines 38609209eecSAndrew Geissler whether you build tools for a 32-bit or 64-bit system. 38709209eecSAndrew Geissler 38809209eecSAndrew Geissler Once the build completes, you can find the ``.sh`` file that installs 38909209eecSAndrew Geissler the tools in the ``tmp/deploy/sdk`` subdirectory of the 39009209eecSAndrew Geissler :term:`Build Directory`. The installer file has the string 39109209eecSAndrew Geissler "buildtools" (or "buildtools-extended") in the name. 39209209eecSAndrew Geissler 39309209eecSAndrew Geissler3. Transfer the ``.sh`` file from the build host to the machine that 39409209eecSAndrew Geissler does not meet the Git, tar, or Python (or gcc) requirements. 39509209eecSAndrew Geissler 39609209eecSAndrew Geissler4. On the machine that does not meet the requirements, run the ``.sh`` 39709209eecSAndrew Geissler file to install the tools. Here is an example for the traditional 398*c926e17cSAndrew Geissler installer:: 39909209eecSAndrew Geissler 40009209eecSAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 40109209eecSAndrew Geissler 402*c926e17cSAndrew Geissler Here is an example for the extended installer:: 40309209eecSAndrew Geissler 40409209eecSAndrew Geissler $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 40509209eecSAndrew Geissler 40609209eecSAndrew Geissler During execution, a prompt appears that allows you to choose the 40709209eecSAndrew Geissler installation directory. For example, you could choose the following: 40809209eecSAndrew Geissler ``/home/your_username/buildtools`` 40909209eecSAndrew Geissler 41009209eecSAndrew Geissler5. Source the tools environment setup script by using a command like the 411*c926e17cSAndrew Geissler following:: 41209209eecSAndrew Geissler 41309209eecSAndrew Geissler $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux 41409209eecSAndrew Geissler 41509209eecSAndrew Geissler Of course, you need to supply your installation directory and be sure to 41609209eecSAndrew Geissler use the right file (i.e. i586 or x86_64). 41709209eecSAndrew Geissler 41809209eecSAndrew Geissler After you have sourced the setup script, the tools are added to 41909209eecSAndrew Geissler ``PATH`` and any other environment variables required to run the 42009209eecSAndrew Geissler tools are initialized. The results are working versions versions of 42109209eecSAndrew Geissler Git, tar, Python and ``chrpath``. And in the case of the 42209209eecSAndrew Geissler ``buildtools-extended`` tarball, additional working versions of tools 42309209eecSAndrew Geissler including ``gcc``, ``make`` and the other tools included in 42409209eecSAndrew Geissler ``packagegroup-core-buildessential``. 425