diff options
Diffstat (limited to 'documentation/ref-manual/system-requirements.rst')
-rw-r--r-- | documentation/ref-manual/system-requirements.rst | 383 |
1 files changed, 183 insertions, 200 deletions
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index c8c1381cb9..0fc92550a5 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst | |||
@@ -4,7 +4,7 @@ | |||
4 | System Requirements | 4 | System Requirements |
5 | ******************* | 5 | ******************* |
6 | 6 | ||
7 | Welcome to the Yocto Project Reference Manual! This manual provides | 7 | Welcome to the Yocto Project Reference Manual. This manual provides |
8 | reference information for the current release of the Yocto Project, and | 8 | reference information for the current release of the Yocto Project, and |
9 | is most effectively used after you have an understanding of the basics | 9 | is most effectively used after you have an understanding of the basics |
10 | of the Yocto Project. The manual is neither meant to be read as a | 10 | of the Yocto Project. The manual is neither meant to be read as a |
@@ -29,46 +29,77 @@ and conceptual information in the :doc:`/overview-manual/index`. | |||
29 | For more information about the Yocto Project Documentation set, see | 29 | For more information about the Yocto Project Documentation set, see |
30 | the :ref:`ref-manual/resources:links and related documentation` section. | 30 | the :ref:`ref-manual/resources:links and related documentation` section. |
31 | 31 | ||
32 | .. _detailed-supported-distros: | 32 | Minimum Free Disk Space |
33 | ======================= | ||
34 | |||
35 | To build an image such as ``core-image-sato`` for the ``qemux86-64`` machine, | ||
36 | you need a system with at least &MIN_DISK_SPACE; Gbytes of free disk space. | ||
37 | However, much more disk space will be necessary to build more complex images, | ||
38 | to run multiple builds and to cache build artifacts, improving build efficiency. | ||
39 | |||
40 | If you have a shortage of disk space, see the ":doc:`/dev-manual/disk-space`" | ||
41 | section of the Development Tasks Manual. | ||
42 | |||
43 | .. _system-requirements-minimum-ram: | ||
44 | |||
45 | Minimum System RAM | ||
46 | ================== | ||
47 | |||
48 | You will manage to build an image such as ``core-image-sato`` for the | ||
49 | ``qemux86-64`` machine with as little as &MIN_RAM; Gbytes of RAM on an old | ||
50 | system with 4 CPU cores, but your builds will be much faster on a system with | ||
51 | as much RAM and as many CPU cores as possible. | ||
52 | |||
53 | .. _system-requirements-supported-distros: | ||
33 | 54 | ||
34 | Supported Linux Distributions | 55 | Supported Linux Distributions |
35 | ============================= | 56 | ============================= |
36 | 57 | ||
37 | Currently, the Yocto Project is supported on the following | 58 | Currently, the &DISTRO; release ("&DISTRO_NAME;") of the Yocto Project is |
38 | distributions: | 59 | supported on the following distributions: |
39 | 60 | ||
40 | - Ubuntu 16.04 (LTS) | 61 | - Ubuntu 20.04 (LTS) |
41 | 62 | ||
42 | - Ubuntu 18.04 (LTS) | 63 | - Ubuntu 22.04 (LTS) |
43 | 64 | ||
44 | - Ubuntu 20.04 | 65 | - Fedora 38 |
45 | 66 | ||
46 | - Fedora 30 | 67 | - CentOS Stream 8 |
47 | 68 | ||
48 | - Fedora 31 | 69 | - Debian GNU/Linux 11 (Bullseye) |
49 | 70 | ||
50 | - Fedora 32 | 71 | - Debian GNU/Linux 12 (Bookworm) |
51 | 72 | ||
52 | - CentOS 7.x | 73 | - OpenSUSE Leap 15.4 |
53 | 74 | ||
54 | - CentOS 8.x | 75 | - AlmaLinux 8 |
55 | 76 | ||
56 | - Debian GNU/Linux 8.x (Jessie) | 77 | - AlmaLinux 9 |
57 | 78 | ||
58 | - Debian GNU/Linux 9.x (Stretch) | 79 | - Rocky 9 |
59 | 80 | ||
60 | - Debian GNU/Linux 10.x (Buster) | 81 | The following distribution versions are still tested, even though the |
82 | organizations publishing them no longer make updates publicly available: | ||
61 | 83 | ||
62 | - OpenSUSE Leap 15.1 | 84 | - Ubuntu 18.04 (LTS) |
85 | |||
86 | - Ubuntu 23.04 | ||
87 | |||
88 | Note that the Yocto Project doesn't have access to private updates | ||
89 | that some of these versions may have. Therefore, our testing has | ||
90 | limited value if you have access to such updates. | ||
63 | 91 | ||
92 | Finally, here are the distribution versions which were previously | ||
93 | tested on former revisions of "&DISTRO_NAME;", but no longer are: | ||
94 | |||
95 | *This list is currently empty* | ||
64 | 96 | ||
65 | .. note:: | 97 | .. note:: |
66 | 98 | ||
67 | - While the Yocto Project Team attempts to ensure all Yocto Project | 99 | - While the Yocto Project Team attempts to ensure all Yocto Project |
68 | releases are one hundred percent compatible with each officially | 100 | releases are one hundred percent compatible with each officially |
69 | supported Linux distribution, instances might exist where you | 101 | supported Linux distribution, you may still encounter problems |
70 | encounter a problem while using the Yocto Project on a specific | 102 | that happen only with a specific distribution. |
71 | distribution. | ||
72 | 103 | ||
73 | - Yocto Project releases are tested against the stable Linux | 104 | - Yocto Project releases are tested against the stable Linux |
74 | distributions in the above list. The Yocto Project should work | 105 | distributions in the above list. The Yocto Project should work |
@@ -79,24 +110,29 @@ distributions: | |||
79 | has no plans to support rolling-releases or development | 110 | has no plans to support rolling-releases or development |
80 | distributions due to their constantly changing nature. We welcome | 111 | distributions due to their constantly changing nature. We welcome |
81 | patches and bug reports, but keep in mind that our priority is on | 112 | patches and bug reports, but keep in mind that our priority is on |
82 | the supported platforms listed below. | 113 | the supported platforms listed above. |
114 | |||
115 | - If your Linux distribution is not in the above list, we recommend to | ||
116 | get the :term:`buildtools` or :term:`buildtools-extended` tarballs | ||
117 | containing the host tools required by your Yocto Project release, | ||
118 | typically by running ``scripts/install-buildtools`` as explained in | ||
119 | the ":ref:`system-requirements-buildtools`" section. | ||
83 | 120 | ||
84 | - You may use Windows Subsystem For Linux v2 to set up a build host | 121 | - You may use Windows Subsystem For Linux v2 to set up a build host |
85 | using Windows 10, but validation is not performed against build | 122 | using Windows 10 or later, or Windows Server 2019 or later, but validation |
86 | hosts using WSLv2. | 123 | is not performed against build hosts using WSL 2. |
87 | 124 | ||
88 | - The Yocto Project is not compatible with WSLv1, it is | 125 | See the |
89 | compatible but not officially supported nor validated with | 126 | :ref:`dev-manual/start:setting up to use windows subsystem for linux (wsl 2)` |
90 | WSLv2, if you still decide to use WSL please upgrade to WSLv2. | 127 | section in the Yocto Project Development Tasks Manual for more information. |
91 | 128 | ||
92 | - If you encounter problems, please go to :yocto_bugs:`Yocto Project | 129 | - If you encounter problems, please go to :yocto_bugs:`Yocto Project |
93 | Bugzilla <>` and submit a bug. We are | 130 | Bugzilla <>` and submit a bug. We are |
94 | interested in hearing about your experience. For information on | 131 | interested in hearing about your experience. For information on |
95 | how to submit a bug, see the Yocto Project | 132 | how to submit a bug, see the Yocto Project |
96 | :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` | 133 | :yocto_wiki:`Bugzilla wiki page </Bugzilla_Configuration_and_Bug_Tracking>` |
97 | and the ":ref:`dev-manual/common-tasks:submitting a defect against the yocto project`" | 134 | and the ":doc:`../contributor-guide/report-defect`" |
98 | section in the Yocto Project Development Tasks Manual. | 135 | section in the Yocto Project and OpenEmbedded Contributor Guide. |
99 | |||
100 | 136 | ||
101 | Required Packages for the Build Host | 137 | Required Packages for the Build Host |
102 | ==================================== | 138 | ==================================== |
@@ -111,290 +147,240 @@ function. | |||
111 | Ubuntu and Debian | 147 | Ubuntu and Debian |
112 | ----------------- | 148 | ----------------- |
113 | 149 | ||
114 | The following list shows the required packages by function given a | 150 | Here are the packages needed to build an image on a headless system |
115 | supported Ubuntu or Debian Linux distribution: | 151 | with a supported Ubuntu or Debian Linux distribution:: |
152 | |||
153 | $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL; | ||
116 | 154 | ||
117 | .. note:: | 155 | .. note:: |
118 | 156 | ||
119 | - If your build system has the ``oss4-dev`` package installed, you | 157 | - If your build system has the ``oss4-dev`` package installed, you |
120 | might experience QEMU build failures due to the package installing | 158 | might experience QEMU build failures due to the package installing |
121 | its own custom ``/usr/include/linux/soundcard.h`` on the Debian | 159 | its own custom ``/usr/include/linux/soundcard.h`` on the Debian |
122 | system. If you run into this situation, either of the following | 160 | system. If you run into this situation, try either of these solutions:: |
123 | solutions exist: | ||
124 | :: | ||
125 | |||
126 | $ sudo apt-get build-dep qemu | ||
127 | $ sudo apt-get remove oss4-dev | ||
128 | |||
129 | - For Debian-8, ``python3-git`` and ``pylint3`` are no longer | ||
130 | available via ``apt-get``. | ||
131 | :: | ||
132 | |||
133 | $ sudo pip3 install GitPython pylint==1.9.5 | ||
134 | 161 | ||
135 | - *Essentials:* Packages needed to build an image on a headless system: | 162 | $ sudo apt build-dep qemu |
136 | :: | 163 | $ sudo apt remove oss4-dev |
137 | 164 | ||
138 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; | 165 | Here are the packages needed to build Project documentation manuals:: |
139 | 166 | ||
140 | - *Documentation:* Packages needed if you are going to build out the | 167 | $ sudo apt install git make inkscape texlive-latex-extra |
141 | Yocto Project documentation manuals: | 168 | $ sudo apt install sphinx python3-saneyaml python3-sphinx-rtd-theme |
142 | :: | ||
143 | |||
144 | $ sudo apt-get install make python3-pip | ||
145 | &PIP3_HOST_PACKAGES_DOC; | ||
146 | |||
147 | .. note:: | ||
148 | |||
149 | It is currently not possible to build out documentation from Debian 8 | ||
150 | (Jessie) because of outdated ``pip3`` and ``python3``. ``python3-sphinx`` | ||
151 | is too outdated. | ||
152 | 169 | ||
153 | Fedora Packages | 170 | Fedora Packages |
154 | --------------- | 171 | --------------- |
155 | 172 | ||
156 | The following list shows the required packages by function given a | 173 | Here are the packages needed to build an image on a headless system |
157 | supported Fedora Linux distribution: | 174 | with a supported Fedora Linux distribution:: |
158 | |||
159 | - *Essentials:* Packages needed to build an image for a headless | ||
160 | system: | ||
161 | :: | ||
162 | 175 | ||
163 | $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; | 176 | $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; |
164 | 177 | ||
165 | - *Documentation:* Packages needed if you are going to build out the | 178 | Here are the packages needed to build Project documentation manuals:: |
166 | Yocto Project documentation manuals: | ||
167 | :: | ||
168 | 179 | ||
169 | $ sudo dnf install make python3-pip which | 180 | $ sudo dnf install git make python3-pip which inkscape texlive-fncychap |
170 | &PIP3_HOST_PACKAGES_DOC; | 181 | &PIP3_HOST_PACKAGES_DOC; |
171 | 182 | ||
172 | openSUSE Packages | 183 | openSUSE Packages |
173 | ----------------- | 184 | ----------------- |
174 | 185 | ||
175 | The following list shows the required packages by function given a | 186 | Here are the packages needed to build an image on a headless system |
176 | supported openSUSE Linux distribution: | 187 | with a supported openSUSE distribution:: |
177 | |||
178 | - *Essentials:* Packages needed to build an image for a headless | ||
179 | system: | ||
180 | :: | ||
181 | |||
182 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; | ||
183 | |||
184 | - *Documentation:* Packages needed if you are going to build out the | ||
185 | Yocto Project documentation manuals: | ||
186 | :: | ||
187 | |||
188 | $ sudo zypper install make python3-pip which | ||
189 | &PIP3_HOST_PACKAGES_DOC; | ||
190 | |||
191 | |||
192 | CentOS-7 Packages | ||
193 | ----------------- | ||
194 | |||
195 | The following list shows the required packages by function given a | ||
196 | supported CentOS-7 Linux distribution: | ||
197 | 188 | ||
198 | - *Essentials:* Packages needed to build an image for a headless | 189 | $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; |
199 | system: | ||
200 | :: | ||
201 | 190 | ||
202 | $ sudo yum install &CENTOS7_HOST_PACKAGES_ESSENTIAL; | 191 | Here are the packages needed to build Project documentation manuals:: |
203 | 192 | ||
204 | .. note:: | 193 | $ sudo zypper install git make python3-pip which inkscape texlive-fncychap |
205 | 194 | &PIP3_HOST_PACKAGES_DOC; | |
206 | - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is | ||
207 | a collection of packages from Fedora built on RHEL/CentOS for | ||
208 | easy installation of packages not included in enterprise Linux | ||
209 | by default. You need to install these packages separately. | ||
210 | 195 | ||
211 | - The ``makecache`` command consumes additional Metadata from | ||
212 | ``epel-release``. | ||
213 | 196 | ||
214 | - *Documentation:* Packages needed if you are going to build out the | 197 | AlmaLinux Packages |
215 | Yocto Project documentation manuals: | 198 | ------------------ |
216 | :: | ||
217 | 199 | ||
218 | $ sudo yum install make python3-pip which | 200 | Here are the packages needed to build an image on a headless system |
219 | &PIP3_HOST_PACKAGES_DOC; | 201 | with a supported AlmaLinux distribution:: |
220 | 202 | ||
221 | CentOS-8 Packages | 203 | $ sudo dnf install &ALMALINUX_HOST_PACKAGES_ESSENTIAL; |
222 | ----------------- | ||
223 | 204 | ||
224 | The following list shows the required packages by function given a | 205 | .. note:: |
225 | supported CentOS-8 Linux distribution: | ||
226 | |||
227 | - *Essentials:* Packages needed to build an image for a headless | ||
228 | system: | ||
229 | :: | ||
230 | |||
231 | $ sudo dnf install &CENTOS8_HOST_PACKAGES_ESSENTIAL; | ||
232 | 206 | ||
233 | .. note:: | 207 | - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is |
208 | a collection of packages from Fedora built on RHEL/CentOS for | ||
209 | easy installation of packages not included in enterprise Linux | ||
210 | by default. You need to install these packages separately. | ||
234 | 211 | ||
235 | - Extra Packages for Enterprise Linux (i.e. ``epel-release``) is | 212 | - The ``PowerTools/CRB`` repo provides additional packages such as |
236 | a collection of packages from Fedora built on RHEL/CentOS for | 213 | ``rpcgen`` and ``texinfo``. |
237 | easy installation of packages not included in enterprise Linux | ||
238 | by default. You need to install these packages separately. | ||
239 | 214 | ||
240 | - The ``PowerTools`` repo provides additional packages such as | 215 | - The ``makecache`` command consumes additional Metadata from |
241 | ``rpcgen`` and ``texinfo``. | 216 | ``epel-release``. |
242 | 217 | ||
243 | - The ``makecache`` command consumes additional Metadata from | 218 | Here are the packages needed to build Project documentation manuals:: |
244 | ``epel-release``. | ||
245 | 219 | ||
246 | - *Documentation:* Packages needed if you are going to build out the | 220 | $ sudo dnf install git make python3-pip which inkscape texlive-fncychap |
247 | Yocto Project documentation manuals: | 221 | &PIP3_HOST_PACKAGES_DOC; |
248 | :: | ||
249 | 222 | ||
250 | $ sudo dnf install make python3-pip which | 223 | .. _system-requirements-buildtools: |
251 | &PIP3_HOST_PACKAGES_DOC; | ||
252 | 224 | ||
253 | Required Git, tar, Python and gcc Versions | 225 | Required Git, tar, Python, make and gcc Versions |
254 | ========================================== | 226 | ================================================ |
255 | 227 | ||
256 | In order to use the build system, your host development system must meet | 228 | In order to use the build system, your host development system must meet |
257 | the following version requirements for Git, tar, and Python: | 229 | the following version requirements for Git, tar, and Python: |
258 | 230 | ||
259 | - Git 1.8.3.1 or greater | 231 | - Git &MIN_GIT_VERSION; or greater |
232 | |||
233 | - tar &MIN_TAR_VERSION; or greater | ||
260 | 234 | ||
261 | - tar 1.28 or greater | 235 | - Python &MIN_PYTHON_VERSION; or greater |
262 | 236 | ||
263 | - Python 3.5.0 or greater | 237 | - GNU make &MIN_MAKE_VERSION; or greater |
264 | 238 | ||
265 | If your host development system does not meet all these requirements, | 239 | If your host development system does not meet all these requirements, |
266 | you can resolve this by installing a ``buildtools`` tarball that | 240 | you can resolve this by installing a :term:`buildtools` tarball that |
267 | contains these tools. You can get the tarball one of two ways: download | 241 | contains these tools. You can either download a pre-built tarball or |
268 | a pre-built tarball or use BitBake to build the tarball. | 242 | use BitBake to build one. |
269 | 243 | ||
270 | In addition, your host development system must meet the following | 244 | In addition, your host development system must meet the following |
271 | version requirement for gcc: | 245 | version requirement for gcc: |
272 | 246 | ||
273 | - gcc 5.0 or greater | 247 | - gcc &MIN_GCC_VERSION; or greater |
274 | 248 | ||
275 | If your host development system does not meet this requirement, you can | 249 | If your host development system does not meet this requirement, you can |
276 | resolve this by installing a ``buildtools-extended`` tarball that | 250 | resolve this by installing a :term:`buildtools-extended` tarball that |
277 | contains additional tools, the equivalent of ``buildtools-essential``. | 251 | contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` |
252 | package. | ||
253 | |||
254 | For systems with a broken make version (e.g. make 4.2.1 without patches) but | ||
255 | where the rest of the host tools are usable, you can use the :term:`buildtools-make` | ||
256 | tarball instead. | ||
257 | |||
258 | In the sections that follow, three different methods will be described for | ||
259 | installing the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make` | ||
260 | toolset. | ||
278 | 261 | ||
279 | Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script | 262 | Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script |
280 | -------------------------------------------------------------------------------- | 263 | -------------------------------------------------------------------------------- |
281 | 264 | ||
282 | The ``install-buildtools`` script is the easiest of the three methods by | 265 | The ``install-buildtools`` script is the easiest of the three methods by |
283 | which you can get these tools. It downloads a pre-built buildtools | 266 | which you can get these tools. It downloads a pre-built :term:`buildtools` |
284 | installer and automatically installs the tools for you: | 267 | installer and automatically installs the tools for you: |
285 | 268 | ||
286 | 1. Execute the ``install-buildtools`` script. Here is an example: | 269 | #. Execute the ``install-buildtools`` script. Here is an example:: |
287 | :: | ||
288 | 270 | ||
289 | $ cd poky | 271 | $ cd poky |
290 | $ scripts/install-buildtools --without-extended-buildtools \ | 272 | $ scripts/install-buildtools \ |
273 | --without-extended-buildtools \ | ||
291 | --base-url &YOCTO_DL_URL;/releases/yocto \ | 274 | --base-url &YOCTO_DL_URL;/releases/yocto \ |
292 | --release yocto-&DISTRO; \ | 275 | --release yocto-&DISTRO; \ |
293 | --installer-version &DISTRO; | 276 | --installer-version &DISTRO; |
294 | 277 | ||
295 | During execution, the buildtools tarball will be downloaded, the | 278 | During execution, the :term:`buildtools` tarball will be downloaded, the |
296 | checksum of the download will be verified, the installer will be run | 279 | checksum of the download will be verified, the installer will be run |
297 | for you, and some basic checks will be run to to make sure the | 280 | for you, and some basic checks will be run to make sure the |
298 | installation is functional. | 281 | installation is functional. |
299 | 282 | ||
300 | To avoid the need of ``sudo`` privileges, the ``install-buildtools`` | 283 | To avoid the need of ``sudo`` privileges, the ``install-buildtools`` |
301 | script will by default tell the installer to install in: | 284 | script will by default tell the installer to install in:: |
302 | :: | ||
303 | 285 | ||
304 | /path/to/poky/buildtools | 286 | /path/to/poky/buildtools |
305 | 287 | ||
306 | If your host development system needs the additional tools provided | 288 | If your host development system needs the additional tools provided |
307 | in the ``buildtools-extended`` tarball, you can instead execute the | 289 | in the :term:`buildtools-extended` tarball, you can instead execute the |
308 | ``install-buildtools`` script with the default parameters: | 290 | ``install-buildtools`` script with the default parameters:: |
309 | :: | ||
310 | 291 | ||
311 | $ cd poky | 292 | $ cd poky |
312 | $ scripts/install-buildtools | 293 | $ scripts/install-buildtools |
313 | 294 | ||
314 | 2. Source the tools environment setup script by using a command like the | 295 | Alternatively if your host development system has a broken ``make`` |
315 | following: | 296 | version such that you only need a known good version of ``make``, |
316 | :: | 297 | you can use the ``--make-only`` option:: |
317 | 298 | ||
318 | $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux | 299 | $ cd poky |
300 | $ scripts/install-buildtools --make-only | ||
319 | 301 | ||
320 | Of course, you need to supply your installation directory and be sure to | 302 | #. Source the tools environment setup script by using a command like the |
321 | use the right file (i.e. i586 or x86_64). | 303 | following:: |
304 | |||
305 | $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux | ||
322 | 306 | ||
323 | After you have sourced the setup script, the tools are added to | 307 | After you have sourced the setup script, the tools are added to |
324 | ``PATH`` and any other environment variables required to run the | 308 | ``PATH`` and any other environment variables required to run the |
325 | tools are initialized. The results are working versions versions of | 309 | tools are initialized. The results are working versions versions of |
326 | Git, tar, Python and ``chrpath``. And in the case of the | 310 | Git, tar, Python and ``chrpath``. And in the case of the |
327 | ``buildtools-extended`` tarball, additional working versions of tools | 311 | :term:`buildtools-extended` tarball, additional working versions of tools |
328 | including ``gcc``, ``make`` and the other tools included in | 312 | including ``gcc``, ``make`` and the other tools included in |
329 | ``packagegroup-core-buildessential``. | 313 | ``packagegroup-core-buildessential``. |
330 | 314 | ||
331 | Downloading a Pre-Built ``buildtools`` Tarball | 315 | Downloading a Pre-Built ``buildtools`` Tarball |
332 | ---------------------------------------------- | 316 | ---------------------------------------------- |
333 | 317 | ||
334 | Downloading and running a pre-built buildtools installer is the easiest | 318 | If you would prefer not to use the ``install-buildtools`` script, you can instead |
335 | of the two methods by which you can get these tools: | 319 | download and run a pre-built :term:`buildtools` installer yourself with the following |
320 | steps: | ||
336 | 321 | ||
337 | 1. Locate and download the ``*.sh`` at &YOCTO_RELEASE_DL_URL;/buildtools/ | 322 | #. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and |
323 | download the ``.sh`` file corresponding to your host architecture | ||
324 | and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`. | ||
338 | 325 | ||
339 | 2. Execute the installation script. Here is an example for the | 326 | #. Execute the installation script. Here is an example for the |
340 | traditional installer: | 327 | traditional installer:: |
341 | :: | ||
342 | 328 | ||
343 | $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh | 329 | $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh |
344 | 330 | ||
345 | Here is an example for the extended installer: | 331 | Here is an example for the extended installer:: |
346 | :: | ||
347 | 332 | ||
348 | $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh | 333 | $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh |
349 | 334 | ||
335 | An example for the make-only installer:: | ||
336 | |||
337 | $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh | ||
338 | |||
350 | During execution, a prompt appears that allows you to choose the | 339 | During execution, a prompt appears that allows you to choose the |
351 | installation directory. For example, you could choose the following: | 340 | installation directory. For example, you could choose the following: |
352 | ``/home/your-username/buildtools`` | 341 | ``/home/your-username/buildtools`` |
353 | 342 | ||
354 | 3. Source the tools environment setup script by using a command like the | 343 | #. As instructed by the installer script, you will have to source the tools |
355 | following: | 344 | environment setup script:: |
356 | :: | ||
357 | 345 | ||
358 | $ source /home/your_username/buildtools/environment-setup-i586-poky-linux | 346 | $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux |
359 | |||
360 | Of | ||
361 | course, you need to supply your installation directory and be sure to | ||
362 | use the right file (i.e. i585 or x86-64). | ||
363 | 347 | ||
364 | After you have sourced the setup script, the tools are added to | 348 | After you have sourced the setup script, the tools are added to |
365 | ``PATH`` and any other environment variables required to run the | 349 | ``PATH`` and any other environment variables required to run the |
366 | tools are initialized. The results are working versions versions of | 350 | tools are initialized. The results are working versions versions of |
367 | Git, tar, Python and ``chrpath``. And in the case of the | 351 | Git, tar, Python and ``chrpath``. And in the case of the |
368 | ``buildtools-extended`` tarball, additional working versions of tools | 352 | :term:`buildtools-extended` tarball, additional working versions of tools |
369 | including ``gcc``, ``make`` and the other tools included in | 353 | including ``gcc``, ``make`` and the other tools included in |
370 | ``packagegroup-core-buildessential``. | 354 | ``packagegroup-core-buildessential``. |
371 | 355 | ||
372 | Building Your Own ``buildtools`` Tarball | 356 | Building Your Own ``buildtools`` Tarball |
373 | ---------------------------------------- | 357 | ---------------------------------------- |
374 | 358 | ||
375 | Building and running your own buildtools installer applies only when you | 359 | Building and running your own :term:`buildtools` installer applies only when you |
376 | have a build host that can already run BitBake. In this case, you use | 360 | have a build host that can already run BitBake. In this case, you use |
377 | that machine to build the ``.sh`` file and then take steps to transfer | 361 | that machine to build the ``.sh`` file and then take steps to transfer |
378 | and run it on a machine that does not meet the minimal Git, tar, and | 362 | and run it on a machine that does not meet the minimal Git, tar, and |
379 | Python (or gcc) requirements. | 363 | Python (or gcc) requirements. |
380 | 364 | ||
381 | Here are the steps to take to build and run your own buildtools | 365 | Here are the steps to take to build and run your own :term:`buildtools` |
382 | installer: | 366 | installer: |
383 | 367 | ||
384 | 1. On the machine that is able to run BitBake, be sure you have set up | 368 | #. On the machine that is able to run BitBake, be sure you have set up |
385 | your build environment with the setup script | 369 | your build environment with the setup script |
386 | (:ref:`structure-core-script`). | 370 | (:ref:`structure-core-script`). |
387 | 371 | ||
388 | 2. Run the BitBake command to build the tarball: | 372 | #. Run the BitBake command to build the tarball:: |
389 | :: | ||
390 | 373 | ||
391 | $ bitbake buildtools-tarball | 374 | $ bitbake buildtools-tarball |
392 | 375 | ||
393 | or run the BitBake command to build the extended tarball: | 376 | or to build the extended tarball:: |
394 | :: | ||
395 | 377 | ||
396 | $ bitbake buildtools-extended-tarball | 378 | $ bitbake buildtools-extended-tarball |
397 | 379 | ||
380 | or to build the make-only tarball:: | ||
381 | |||
382 | $ bitbake buildtools-make-tarball | ||
383 | |||
398 | .. note:: | 384 | .. note:: |
399 | 385 | ||
400 | The :term:`SDKMACHINE` variable in your ``local.conf`` file determines | 386 | The :term:`SDKMACHINE` variable in your ``local.conf`` file determines |
@@ -403,40 +389,37 @@ installer: | |||
403 | Once the build completes, you can find the ``.sh`` file that installs | 389 | Once the build completes, you can find the ``.sh`` file that installs |
404 | the tools in the ``tmp/deploy/sdk`` subdirectory of the | 390 | the tools in the ``tmp/deploy/sdk`` subdirectory of the |
405 | :term:`Build Directory`. The installer file has the string | 391 | :term:`Build Directory`. The installer file has the string |
406 | "buildtools" (or "buildtools-extended") in the name. | 392 | "buildtools" or "buildtools-extended" in the name. |
407 | 393 | ||
408 | 3. Transfer the ``.sh`` file from the build host to the machine that | 394 | #. Transfer the ``.sh`` file from the build host to the machine that |
409 | does not meet the Git, tar, or Python (or gcc) requirements. | 395 | does not meet the Git, tar, or Python (or gcc) requirements. |
410 | 396 | ||
411 | 4. On the machine that does not meet the requirements, run the ``.sh`` | 397 | #. On this machine, run the ``.sh`` file to install the tools. Here is an |
412 | file to install the tools. Here is an example for the traditional | 398 | example for the traditional installer:: |
413 | installer: | ||
414 | :: | ||
415 | 399 | ||
416 | $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh | 400 | $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh |
417 | 401 | ||
418 | Here is an example for the extended installer: | 402 | For the extended installer:: |
419 | :: | ||
420 | 403 | ||
421 | $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh | 404 | $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh |
422 | 405 | ||
406 | And for the make-only installer:: | ||
407 | |||
408 | $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh | ||
409 | |||
423 | During execution, a prompt appears that allows you to choose the | 410 | During execution, a prompt appears that allows you to choose the |
424 | installation directory. For example, you could choose the following: | 411 | installation directory. For example, you could choose the following: |
425 | ``/home/your_username/buildtools`` | 412 | ``/home/your_username/buildtools`` |
426 | 413 | ||
427 | 5. Source the tools environment setup script by using a command like the | 414 | #. Source the tools environment setup script by using a command like the |
428 | following: | 415 | following:: |
429 | :: | ||
430 | 416 | ||
431 | $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux | 417 | $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux |
432 | 418 | ||
433 | Of course, you need to supply your installation directory and be sure to | ||
434 | use the right file (i.e. i586 or x86_64). | ||
435 | |||
436 | After you have sourced the setup script, the tools are added to | 419 | After you have sourced the setup script, the tools are added to |
437 | ``PATH`` and any other environment variables required to run the | 420 | ``PATH`` and any other environment variables required to run the |
438 | tools are initialized. The results are working versions versions of | 421 | tools are initialized. The results are working versions versions of |
439 | Git, tar, Python and ``chrpath``. And in the case of the | 422 | Git, tar, Python and ``chrpath``. And in the case of the |
440 | ``buildtools-extended`` tarball, additional working versions of tools | 423 | :term:`buildtools-extended` tarball, additional working versions of tools |
441 | including ``gcc``, ``make`` and the other tools included in | 424 | including ``gcc``, ``make`` and the other tools included in |
442 | ``packagegroup-core-buildessential``. | 425 | ``packagegroup-core-buildessential``. |