blob: 38d4aaf5a7ac25ceea13e4dd2bbcd22477cf8587 [file] [log] [blame]
Andrew Geisslerf0343792020-11-18 10:42:21 -06001.. SPDX-License-Identifier: CC-BY-SA-2.0-UK
Andrew Geisslerc9f78652020-09-18 14:11:35 -05002
3*******************
4System Requirements
5*******************
6
Andrew Geissler5199d832021-09-24 16:47:35 -05007Welcome to the Yocto Project Reference Manual. This manual provides
Andrew Geisslerc9f78652020-09-18 14:11:35 -05008reference information for the current release of the Yocto Project, and
9is most effectively used after you have an understanding of the basics
10of the Yocto Project. The manual is neither meant to be read as a
11starting point to the Yocto Project, nor read from start to finish.
12Rather, use this manual to find variable definitions, class
13descriptions, and so forth as needed during the course of using the
14Yocto Project.
15
16For introductory information on the Yocto Project, see the
17:yocto_home:`Yocto Project Website <>` and the
Andrew Geissler09209ee2020-12-13 08:44:15 -060018":ref:`overview-manual/development-environment:the yocto project development environment`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050019chapter in the Yocto Project Overview and Concepts Manual.
20
21If you want to use the Yocto Project to quickly build an image without
22having to understand concepts, work through the
Andrew Geissler09209ee2020-12-13 08:44:15 -060023:doc:`/brief-yoctoprojectqs/index` document. You can find "how-to"
24information in the :doc:`/dev-manual/index`. You can find Yocto Project overview
25and conceptual information in the :doc:`/overview-manual/index`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050026
27.. note::
28
29 For more information about the Yocto Project Documentation set, see
Andrew Geissler4c19ea12020-10-27 13:52:24 -050030 the :ref:`ref-manual/resources:links and related documentation` section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050031
32.. _detailed-supported-distros:
33
34Supported Linux Distributions
35=============================
36
Andrew Geissler517393d2023-01-13 08:55:19 -060037Currently, the Yocto Project is supported on the following distributions:
Andrew Geisslerc9f78652020-09-18 14:11:35 -050038
Andrew Geisslerc9f78652020-09-18 14:11:35 -050039- Ubuntu 18.04 (LTS)
40
William A. Kennington IIIac69b482021-06-02 12:28:27 -070041- Ubuntu 20.04 (LTS)
Andrew Geisslerc9f78652020-09-18 14:11:35 -050042
Patrick Williams2194f502022-10-16 14:26:09 -050043- Ubuntu 22.04 (LTS)
44
Andrew Geissler6aa7eec2023-03-03 12:41:14 -060045- Fedora 36
Andrew Geisslerc9f78652020-09-18 14:11:35 -050046
Andrew Geissler6aa7eec2023-03-03 12:41:14 -060047- Fedora 37
Andrew Geissler9aee5002022-03-30 16:27:02 +000048
Andrew Geissler6aa7eec2023-03-03 12:41:14 -060049- AlmaLinux 8.7
Andrew Geisslerc9f78652020-09-18 14:11:35 -050050
Andrew Geissler6aa7eec2023-03-03 12:41:14 -060051- AlmaLinux 9.1
Andrew Geisslerc9f78652020-09-18 14:11:35 -050052
Andrew Geissler595f6302022-01-24 19:11:47 +000053- Debian GNU/Linux 11.x (Bullseye)
Andrew Geisslerc9f78652020-09-18 14:11:35 -050054
Andrew Geissler9aee5002022-03-30 16:27:02 +000055- OpenSUSE Leap 15.3
Andrew Geisslerc9f78652020-09-18 14:11:35 -050056
Andrew Geissler6aa7eec2023-03-03 12:41:14 -060057- OpenSUSE Leap 15.4
58
Andrew Geisslerc9f78652020-09-18 14:11:35 -050059.. note::
60
61 - While the Yocto Project Team attempts to ensure all Yocto Project
62 releases are one hundred percent compatible with each officially
William A. Kennington IIIac69b482021-06-02 12:28:27 -070063 supported Linux distribution, you may still encounter problems
64 that happen only with a specific distribution.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050065
66 - Yocto Project releases are tested against the stable Linux
67 distributions in the above list. The Yocto Project should work
68 on other distributions but validation is not performed against
69 them.
70
71 - In particular, the Yocto Project does not support and currently
72 has no plans to support rolling-releases or development
73 distributions due to their constantly changing nature. We welcome
74 patches and bug reports, but keep in mind that our priority is on
Andrew Geissler517393d2023-01-13 08:55:19 -060075 the supported platforms listed above.
76
77 - If your Linux distribution is not in the above list, we recommend to
78 get the :term:`buildtools` or :term:`buildtools-extended` tarballs
79 containing the host tools required by your Yocto Project release,
80 typically by running ``scripts/install-buildtools`` as explained in
81 the ":ref:`system-requirements-buildtools`" section.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050082
83 - You may use Windows Subsystem For Linux v2 to set up a build host
Patrick Williams2390b1b2022-11-03 13:47:49 -050084 using Windows 10 or later, or Windows Server 2019 or later, but validation
85 is not performed against build hosts using WSL 2.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050086
Patrick Williams2390b1b2022-11-03 13:47:49 -050087 See the
88 :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)`
89 section in the Yocto Project Development Tasks Manual for more information.
Andrew Geisslerc9f78652020-09-18 14:11:35 -050090
Andrew Geissler4c19ea12020-10-27 13:52:24 -050091 - If you encounter problems, please go to :yocto_bugs:`Yocto Project
92 Bugzilla <>` and submit a bug. We are
Andrew Geisslerc9f78652020-09-18 14:11:35 -050093 interested in hearing about your experience. For information on
94 how to submit a bug, see the Yocto Project
Andrew Geissler09209ee2020-12-13 08:44:15 -060095 :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>`
Andrew Geissler517393d2023-01-13 08:55:19 -060096 and the ":ref:`dev-manual/changes:submitting a defect against the yocto project`"
Andrew Geisslerc9f78652020-09-18 14:11:35 -050097 section in the Yocto Project Development Tasks Manual.
98
99
100Required Packages for the Build Host
101====================================
102
103The list of packages you need on the host development system can be
104large when covering all build scenarios using the Yocto Project. This
105section describes required packages according to Linux distribution and
106function.
107
108.. _ubuntu-packages:
109
110Ubuntu and Debian
111-----------------
112
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700113Here are the required packages by function given a
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500114supported Ubuntu or Debian Linux distribution:
115
116.. note::
117
118 - If your build system has the ``oss4-dev`` package installed, you
119 might experience QEMU build failures due to the package installing
120 its own custom ``/usr/include/linux/soundcard.h`` on the Debian
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700121 system. If you run into this situation, try either of these solutions::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500122
Andrew Geisslereff27472021-10-29 15:35:00 -0500123 $ sudo apt build-dep qemu
124 $ sudo apt remove oss4-dev
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500125
Andrew Geisslerc926e172021-05-07 16:11:35 -0500126- *Essentials:* Packages needed to build an image on a headless system::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500127
Andrew Geisslereff27472021-10-29 15:35:00 -0500128 $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500129
130- *Documentation:* Packages needed if you are going to build out the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500131 Yocto Project documentation manuals::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500132
Patrick Williams92b42cb2022-09-03 06:53:57 -0500133 $ sudo apt install make python3-pip inkscape texlive-latex-extra
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500134 &PIP3_HOST_PACKAGES_DOC;
135
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500136Fedora Packages
137---------------
138
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700139Here are the required packages by function given a
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500140supported Fedora Linux distribution:
141
142- *Essentials:* Packages needed to build an image for a headless
Andrew Geisslerc926e172021-05-07 16:11:35 -0500143 system::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500144
145 $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL;
146
147- *Documentation:* Packages needed if you are going to build out the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500148 Yocto Project documentation manuals::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500149
Patrick Williams92b42cb2022-09-03 06:53:57 -0500150 $ sudo dnf install make python3-pip which inkscape texlive-fncychap
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500151 &PIP3_HOST_PACKAGES_DOC;
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500152
153openSUSE Packages
154-----------------
155
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700156Here are the required packages by function given a
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500157supported openSUSE Linux distribution:
158
159- *Essentials:* Packages needed to build an image for a headless
Andrew Geisslerc926e172021-05-07 16:11:35 -0500160 system::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500161
162 $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
163
164- *Documentation:* Packages needed if you are going to build out the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500165 Yocto Project documentation manuals::
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500166
Patrick Williams92b42cb2022-09-03 06:53:57 -0500167 $ sudo zypper install make python3-pip which inkscape texlive-fncychap
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500168 &PIP3_HOST_PACKAGES_DOC;
169
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500170
Patrick Williams92b42cb2022-09-03 06:53:57 -0500171AlmaLinux-8 Packages
172--------------------
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500173
William A. Kennington IIIac69b482021-06-02 12:28:27 -0700174Here are the required packages by function given a
Patrick Williams92b42cb2022-09-03 06:53:57 -0500175supported AlmaLinux-8 Linux distribution:
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500176
177- *Essentials:* Packages needed to build an image for a headless
Andrew Geisslerc926e172021-05-07 16:11:35 -0500178 system::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500179
180 $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL;
181
182 .. note::
183
184 - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is
185 a collection of packages from Fedora built on RHEL/CentOS for
186 easy installation of packages not included in enterprise Linux
187 by default. You need to install these packages separately.
188
189 - The ``PowerTools`` repo provides additional packages such as
190 ``rpcgen`` and ``texinfo``.
191
192 - The ``makecache`` command consumes additional Metadata from
193 ``epel-release``.
194
195- *Documentation:* Packages needed if you are going to build out the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500196 Yocto Project documentation manuals::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500197
Patrick Williams92b42cb2022-09-03 06:53:57 -0500198 $ sudo dnf install make python3-pip which inkscape texlive-fncychap
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500199 &PIP3_HOST_PACKAGES_DOC;
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500200
Andrew Geissler517393d2023-01-13 08:55:19 -0600201.. _system-requirements-buildtools:
202
Andrew Geissler615f2f12022-07-15 14:00:58 -0500203Required Git, tar, Python, make and gcc Versions
204================================================
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500205
206In order to use the build system, your host development system must meet
207the following version requirements for Git, tar, and Python:
208
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500209- Git &MIN_GIT_VERSION; or greater
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500210
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500211- tar &MIN_TAR_VERSION; or greater
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500212
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500213- Python &MIN_PYTHON_VERSION; or greater
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500214
Andrew Geissler615f2f12022-07-15 14:00:58 -0500215- GNU make &MIN_MAKE_VERSION; or greater
216
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500217If your host development system does not meet all these requirements,
Andrew Geissler517393d2023-01-13 08:55:19 -0600218you can resolve this by installing a :term:`buildtools` tarball that
219contains these tools. You can either download a pre-built tarball or
220use BitBake to build one.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500221
222In addition, your host development system must meet the following
223version requirement for gcc:
224
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500225- gcc &MIN_GCC_VERSION; or greater
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500226
227If your host development system does not meet this requirement, you can
Andrew Geissler517393d2023-01-13 08:55:19 -0600228resolve this by installing a :term:`buildtools-extended` tarball that
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500229contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
230package.
231
Patrick Williams2390b1b2022-11-03 13:47:49 -0500232For systems with a broken make version (e.g. make 4.2.1 without patches) but
Andrew Geissler517393d2023-01-13 08:55:19 -0600233where the rest of the host tools are usable, you can use the :term:`buildtools-make`
Patrick Williams2390b1b2022-11-03 13:47:49 -0500234tarball instead.
235
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500236In the sections that follow, three different methods will be described for
Andrew Geissler517393d2023-01-13 08:55:19 -0600237installing the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`
Patrick Williams2390b1b2022-11-03 13:47:49 -0500238toolset.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500239
240Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
241--------------------------------------------------------------------------------
242
243The ``install-buildtools`` script is the easiest of the three methods by
Andrew Geissler517393d2023-01-13 08:55:19 -0600244which you can get these tools. It downloads a pre-built :term:`buildtools`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500245installer and automatically installs the tools for you:
246
Andrew Geissler517393d2023-01-13 08:55:19 -0600247#. Execute the ``install-buildtools`` script. Here is an example::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500248
249 $ cd poky
Andrew Geissler5199d832021-09-24 16:47:35 -0500250 $ scripts/install-buildtools \
251 --without-extended-buildtools \
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500252 --base-url &YOCTO_DL_URL;/releases/yocto \
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500253 --release yocto-&DISTRO; \
254 --installer-version &DISTRO;
255
Andrew Geissler517393d2023-01-13 08:55:19 -0600256 During execution, the :term:`buildtools` tarball will be downloaded, the
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500257 checksum of the download will be verified, the installer will be run
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500258 for you, and some basic checks will be run to make sure the
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500259 installation is functional.
260
261 To avoid the need of ``sudo`` privileges, the ``install-buildtools``
Andrew Geisslerc926e172021-05-07 16:11:35 -0500262 script will by default tell the installer to install in::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500263
264 /path/to/poky/buildtools
265
266 If your host development system needs the additional tools provided
Andrew Geissler517393d2023-01-13 08:55:19 -0600267 in the :term:`buildtools-extended` tarball, you can instead execute the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500268 ``install-buildtools`` script with the default parameters::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500269
270 $ cd poky
271 $ scripts/install-buildtools
272
Patrick Williams2390b1b2022-11-03 13:47:49 -0500273 Alternatively if your host development system has a broken ``make``
274 version such that you only need a known good version of ``make``,
Andrew Geissler517393d2023-01-13 08:55:19 -0600275 you can use the ``--make-only`` option::
Patrick Williams2390b1b2022-11-03 13:47:49 -0500276
277 $ cd poky
278 $ scripts/install-buildtools --make-only
279
Andrew Geissler517393d2023-01-13 08:55:19 -0600280#. Source the tools environment setup script by using a command like the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500281 following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500282
283 $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
284
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500285 After you have sourced the setup script, the tools are added to
286 ``PATH`` and any other environment variables required to run the
287 tools are initialized. The results are working versions versions of
288 Git, tar, Python and ``chrpath``. And in the case of the
Andrew Geissler517393d2023-01-13 08:55:19 -0600289 :term:`buildtools-extended` tarball, additional working versions of tools
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500290 including ``gcc``, ``make`` and the other tools included in
291 ``packagegroup-core-buildessential``.
292
293Downloading a Pre-Built ``buildtools`` Tarball
294----------------------------------------------
295
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500296If you would prefer not to use the ``install-buildtools`` script, you can instead
Andrew Geissler517393d2023-01-13 08:55:19 -0600297download and run a pre-built :term:`buildtools` installer yourself with the following
Andrew Geissler3b8a17c2021-04-15 15:55:55 -0500298steps:
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500299
Andrew Geissler517393d2023-01-13 08:55:19 -0600300#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and
301 download the ``.sh`` file corresponding to your host architecture
302 and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500303
Andrew Geissler517393d2023-01-13 08:55:19 -0600304#. Execute the installation script. Here is an example for the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500305 traditional installer::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500306
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600307 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500308
Andrew Geisslerc926e172021-05-07 16:11:35 -0500309 Here is an example for the extended installer::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500310
Andrew Geisslerd1e89492021-02-12 15:35:20 -0600311 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500312
Patrick Williams2390b1b2022-11-03 13:47:49 -0500313 An example for the make-only installer::
314
315 $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
316
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500317 During execution, a prompt appears that allows you to choose the
318 installation directory. For example, you could choose the following:
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500319 ``/home/your-username/buildtools``
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500320
Andrew Geissler517393d2023-01-13 08:55:19 -0600321#. As instructed by the installer script, you will have to source the tools
322 environment setup script::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500323
Andrew Geissler517393d2023-01-13 08:55:19 -0600324 $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500325
326 After you have sourced the setup script, the tools are added to
327 ``PATH`` and any other environment variables required to run the
328 tools are initialized. The results are working versions versions of
329 Git, tar, Python and ``chrpath``. And in the case of the
Andrew Geissler517393d2023-01-13 08:55:19 -0600330 :term:`buildtools-extended` tarball, additional working versions of tools
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500331 including ``gcc``, ``make`` and the other tools included in
332 ``packagegroup-core-buildessential``.
333
334Building Your Own ``buildtools`` Tarball
335----------------------------------------
336
Andrew Geissler517393d2023-01-13 08:55:19 -0600337Building and running your own :term:`buildtools` installer applies only when you
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500338have a build host that can already run BitBake. In this case, you use
339that machine to build the ``.sh`` file and then take steps to transfer
340and run it on a machine that does not meet the minimal Git, tar, and
341Python (or gcc) requirements.
342
Andrew Geissler517393d2023-01-13 08:55:19 -0600343Here are the steps to take to build and run your own :term:`buildtools`
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500344installer:
345
Andrew Geissler517393d2023-01-13 08:55:19 -0600346#. On the machine that is able to run BitBake, be sure you have set up
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500347 your build environment with the setup script
348 (:ref:`structure-core-script`).
349
Andrew Geissler517393d2023-01-13 08:55:19 -0600350#. Run the BitBake command to build the tarball::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500351
352 $ bitbake buildtools-tarball
353
Andrew Geissler517393d2023-01-13 08:55:19 -0600354 or to build the extended tarball::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500355
356 $ bitbake buildtools-extended-tarball
357
Patrick Williams2390b1b2022-11-03 13:47:49 -0500358 or to build the make-only tarball::
359
360 $ bitbake buildtools-make-tarball
361
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500362 .. note::
363
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500364 The :term:`SDKMACHINE` variable in your ``local.conf`` file determines
365 whether you build tools for a 32-bit or 64-bit system.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500366
367 Once the build completes, you can find the ``.sh`` file that installs
368 the tools in the ``tmp/deploy/sdk`` subdirectory of the
369 :term:`Build Directory`. The installer file has the string
Andrew Geissler517393d2023-01-13 08:55:19 -0600370 "buildtools" or "buildtools-extended" in the name.
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500371
Andrew Geissler517393d2023-01-13 08:55:19 -0600372#. Transfer the ``.sh`` file from the build host to the machine that
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500373 does not meet the Git, tar, or Python (or gcc) requirements.
374
Andrew Geissler517393d2023-01-13 08:55:19 -0600375#. On this machine, run the ``.sh`` file to install the tools. Here is an
376 example for the traditional installer::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500377
378 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
379
Andrew Geissler517393d2023-01-13 08:55:19 -0600380 For the extended installer::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500381
382 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
383
Andrew Geissler517393d2023-01-13 08:55:19 -0600384 And for the make-only installer::
Patrick Williams2390b1b2022-11-03 13:47:49 -0500385
386 $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
387
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500388 During execution, a prompt appears that allows you to choose the
389 installation directory. For example, you could choose the following:
Andrew Geissler4c19ea12020-10-27 13:52:24 -0500390 ``/home/your_username/buildtools``
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500391
Andrew Geissler517393d2023-01-13 08:55:19 -0600392#. Source the tools environment setup script by using a command like the
Andrew Geisslerc926e172021-05-07 16:11:35 -0500393 following::
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500394
395 $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
396
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500397 After you have sourced the setup script, the tools are added to
398 ``PATH`` and any other environment variables required to run the
399 tools are initialized. The results are working versions versions of
400 Git, tar, Python and ``chrpath``. And in the case of the
Andrew Geissler517393d2023-01-13 08:55:19 -0600401 :term:`buildtools-extended` tarball, additional working versions of tools
Andrew Geisslerc9f78652020-09-18 14:11:35 -0500402 including ``gcc``, ``make`` and the other tools included in
403 ``packagegroup-core-buildessential``.