summaryrefslogtreecommitdiffstats
path: root/documentation/ref-manual/system-requirements.rst
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2022-12-14 09:36:00 +0100
committerSteve Sakoman <steve@sakoman.com>2024-03-01 05:19:55 -1000
commite0c348b64473a66bdd13da4facbfd17700899a9d (patch)
tree868d83772a60ad59cc8737d459afbb8624ae871d /documentation/ref-manual/system-requirements.rst
parent9e5a9e6f945dae5c3d2e1932449d9494d903cbff (diff)
downloadpoky-e0c348b64473a66bdd13da4facbfd17700899a9d.tar.gz
manuals: update references to buildtools
Also fix number of corresponding paragraphs (From yocto-docs rev: 28ee2d91fe4dd0549940dc5df1ff1d59363fcc0f) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'documentation/ref-manual/system-requirements.rst')
-rw-r--r--documentation/ref-manual/system-requirements.rst87
1 files changed, 41 insertions, 46 deletions
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index e0b8400178..1a6f7647b6 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -276,8 +276,10 @@ supported CentOS-8 Linux distribution:
276 $ sudo dnf install make python3-pip which 276 $ sudo dnf install make python3-pip which
277 &PIP3_HOST_PACKAGES_DOC; 277 &PIP3_HOST_PACKAGES_DOC;
278 278
279Required Git, tar, Python and gcc Versions 279.. _system-requirements-buildtools:
280========================================== 280
281Required Git, tar, Python, make and gcc Versions
282================================================
281 283
282In order to use the build system, your host development system must meet 284In order to use the build system, your host development system must meet
283the following version requirements for Git, tar, and Python: 285the following version requirements for Git, tar, and Python:
@@ -288,10 +290,12 @@ the following version requirements for Git, tar, and Python:
288 290
289- Python &MIN_PYTHON_VERSION; or greater 291- Python &MIN_PYTHON_VERSION; or greater
290 292
293- GNU make &MIN_MAKE_VERSION; or greater
294
291If your host development system does not meet all these requirements, 295If your host development system does not meet all these requirements,
292you can resolve this by installing a ``buildtools`` tarball that 296you can resolve this by installing a :term:`buildtools` tarball that
293contains these tools. You can get the tarball one of two ways: download 297contains these tools. You can either download a pre-built tarball or
294a pre-built tarball or use BitBake to build the tarball. 298use BitBake to build one.
295 299
296In addition, your host development system must meet the following 300In addition, your host development system must meet the following
297version requirement for gcc: 301version requirement for gcc:
@@ -299,26 +303,26 @@ version requirement for gcc:
299- gcc &MIN_GCC_VERSION; or greater 303- gcc &MIN_GCC_VERSION; or greater
300 304
301If your host development system does not meet this requirement, you can 305If your host development system does not meet this requirement, you can
302resolve this by installing a ``buildtools-extended`` tarball that 306resolve this by installing a :term:`buildtools-extended` tarball that
303contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` 307contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential``
304package. 308package.
305 309
306For systems with a broken make version (e.g. make 4.2.1 without patches) but 310For systems with a broken make version (e.g. make 4.2.1 without patches) but
307where the rest of the host tools are usable, you can use the ``buildtools-make`` 311where the rest of the host tools are usable, you can use the :term:`buildtools-make`
308tarball instead. 312tarball instead.
309 313
310In the sections that follow, three different methods will be described for 314In the sections that follow, three different methods will be described for
311installing the ``buildtools``, ``buildtools-extended`` or ``buildtools-make`` 315installing the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`
312toolset. 316toolset.
313 317
314Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script 318Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script
315-------------------------------------------------------------------------------- 319--------------------------------------------------------------------------------
316 320
317The ``install-buildtools`` script is the easiest of the three methods by 321The ``install-buildtools`` script is the easiest of the three methods by
318which you can get these tools. It downloads a pre-built buildtools 322which you can get these tools. It downloads a pre-built :term:`buildtools`
319installer and automatically installs the tools for you: 323installer and automatically installs the tools for you:
320 324
3211. Execute the ``install-buildtools`` script. Here is an example:: 325#. Execute the ``install-buildtools`` script. Here is an example::
322 326
323 $ cd poky 327 $ cd poky
324 $ scripts/install-buildtools \ 328 $ scripts/install-buildtools \
@@ -327,7 +331,7 @@ installer and automatically installs the tools for you:
327 --release yocto-&DISTRO; \ 331 --release yocto-&DISTRO; \
328 --installer-version &DISTRO; 332 --installer-version &DISTRO;
329 333
330 During execution, the buildtools tarball will be downloaded, the 334 During execution, the :term:`buildtools` tarball will be downloaded, the
331 checksum of the download will be verified, the installer will be run 335 checksum of the download will be verified, the installer will be run
332 for you, and some basic checks will be run to make sure the 336 for you, and some basic checks will be run to make sure the
333 installation is functional. 337 installation is functional.
@@ -338,7 +342,7 @@ installer and automatically installs the tools for you:
338 /path/to/poky/buildtools 342 /path/to/poky/buildtools
339 343
340 If your host development system needs the additional tools provided 344 If your host development system needs the additional tools provided
341 in the ``buildtools-extended`` tarball, you can instead execute the 345 in the :term:`buildtools-extended` tarball, you can instead execute the
342 ``install-buildtools`` script with the default parameters:: 346 ``install-buildtools`` script with the default parameters::
343 347
344 $ cd poky 348 $ cd poky
@@ -346,24 +350,21 @@ installer and automatically installs the tools for you:
346 350
347 Alternatively if your host development system has a broken ``make`` 351 Alternatively if your host development system has a broken ``make``
348 version such that you only need a known good version of ``make``, 352 version such that you only need a known good version of ``make``,
349 you can use the ``--make-only`` option: 353 you can use the ``--make-only`` option::
350 354
351 $ cd poky 355 $ cd poky
352 $ scripts/install-buildtools --make-only 356 $ scripts/install-buildtools --make-only
353 357
3542. Source the tools environment setup script by using a command like the 358#. Source the tools environment setup script by using a command like the
355 following:: 359 following::
356 360
357 $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux 361 $ source /path/to/poky/buildtools/environment-setup-x86_64-pokysdk-linux
358 362
359 Of course, you need to supply your installation directory and be sure to
360 use the right file (i.e. i586 or x86_64).
361
362 After you have sourced the setup script, the tools are added to 363 After you have sourced the setup script, the tools are added to
363 ``PATH`` and any other environment variables required to run the 364 ``PATH`` and any other environment variables required to run the
364 tools are initialized. The results are working versions versions of 365 tools are initialized. The results are working versions versions of
365 Git, tar, Python and ``chrpath``. And in the case of the 366 Git, tar, Python and ``chrpath``. And in the case of the
366 ``buildtools-extended`` tarball, additional working versions of tools 367 :term:`buildtools-extended` tarball, additional working versions of tools
367 including ``gcc``, ``make`` and the other tools included in 368 including ``gcc``, ``make`` and the other tools included in
368 ``packagegroup-core-buildessential``. 369 ``packagegroup-core-buildessential``.
369 370
@@ -371,12 +372,14 @@ Downloading a Pre-Built ``buildtools`` Tarball
371---------------------------------------------- 372----------------------------------------------
372 373
373If you would prefer not to use the ``install-buildtools`` script, you can instead 374If you would prefer not to use the ``install-buildtools`` script, you can instead
374download and run a pre-built buildtools installer yourself with the following 375download and run a pre-built :term:`buildtools` installer yourself with the following
375steps: 376steps:
376 377
3771. Locate and download the ``*.sh`` at :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/` 378#. Go to :yocto_dl:`/releases/yocto/yocto-&DISTRO;/buildtools/`, locate and
379 download the ``.sh`` file corresponding to your host architecture
380 and to :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make`.
378 381
3792. Execute the installation script. Here is an example for the 382#. Execute the installation script. Here is an example for the
380 traditional installer:: 383 traditional installer::
381 384
382 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 385 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
@@ -393,44 +396,40 @@ steps:
393 installation directory. For example, you could choose the following: 396 installation directory. For example, you could choose the following:
394 ``/home/your-username/buildtools`` 397 ``/home/your-username/buildtools``
395 398
3963. Source the tools environment setup script by using a command like the 399#. As instructed by the installer script, you will have to source the tools
397 following:: 400 environment setup script::
398 401
399 $ source /home/your_username/buildtools/environment-setup-i586-poky-linux 402 $ source /home/your_username/buildtools/environment-setup-x86_64-pokysdk-linux
400
401 Of
402 course, you need to supply your installation directory and be sure to
403 use the right file (i.e. i585 or x86-64).
404 403
405 After you have sourced the setup script, the tools are added to 404 After you have sourced the setup script, the tools are added to
406 ``PATH`` and any other environment variables required to run the 405 ``PATH`` and any other environment variables required to run the
407 tools are initialized. The results are working versions versions of 406 tools are initialized. The results are working versions versions of
408 Git, tar, Python and ``chrpath``. And in the case of the 407 Git, tar, Python and ``chrpath``. And in the case of the
409 ``buildtools-extended`` tarball, additional working versions of tools 408 :term:`buildtools-extended` tarball, additional working versions of tools
410 including ``gcc``, ``make`` and the other tools included in 409 including ``gcc``, ``make`` and the other tools included in
411 ``packagegroup-core-buildessential``. 410 ``packagegroup-core-buildessential``.
412 411
413Building Your Own ``buildtools`` Tarball 412Building Your Own ``buildtools`` Tarball
414---------------------------------------- 413----------------------------------------
415 414
416Building and running your own buildtools installer applies only when you 415Building and running your own :term:`buildtools` installer applies only when you
417have a build host that can already run BitBake. In this case, you use 416have a build host that can already run BitBake. In this case, you use
418that machine to build the ``.sh`` file and then take steps to transfer 417that machine to build the ``.sh`` file and then take steps to transfer
419and run it on a machine that does not meet the minimal Git, tar, and 418and run it on a machine that does not meet the minimal Git, tar, and
420Python (or gcc) requirements. 419Python (or gcc) requirements.
421 420
422Here are the steps to take to build and run your own buildtools 421Here are the steps to take to build and run your own :term:`buildtools`
423installer: 422installer:
424 423
4251. On the machine that is able to run BitBake, be sure you have set up 424#. On the machine that is able to run BitBake, be sure you have set up
426 your build environment with the setup script 425 your build environment with the setup script
427 (:ref:`structure-core-script`). 426 (:ref:`structure-core-script`).
428 427
4292. Run the BitBake command to build the tarball:: 428#. Run the BitBake command to build the tarball::
430 429
431 $ bitbake buildtools-tarball 430 $ bitbake buildtools-tarball
432 431
433 or run the BitBake command to build the extended tarball:: 432 or to build the extended tarball::
434 433
435 $ bitbake buildtools-extended-tarball 434 $ bitbake buildtools-extended-tarball
436 435
@@ -446,22 +445,21 @@ installer:
446 Once the build completes, you can find the ``.sh`` file that installs 445 Once the build completes, you can find the ``.sh`` file that installs
447 the tools in the ``tmp/deploy/sdk`` subdirectory of the 446 the tools in the ``tmp/deploy/sdk`` subdirectory of the
448 :term:`Build Directory`. The installer file has the string 447 :term:`Build Directory`. The installer file has the string
449 "buildtools" (or "buildtools-extended") in the name. 448 "buildtools" or "buildtools-extended" in the name.
450 449
4513. Transfer the ``.sh`` file from the build host to the machine that 450#. Transfer the ``.sh`` file from the build host to the machine that
452 does not meet the Git, tar, or Python (or gcc) requirements. 451 does not meet the Git, tar, or Python (or gcc) requirements.
453 452
4544. On the machine that does not meet the requirements, run the ``.sh`` 453#. On this machine, run the ``.sh`` file to install the tools. Here is an
455 file to install the tools. Here is an example for the traditional 454 example for the traditional installer::
456 installer::
457 455
458 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh 456 $ sh ~/Downloads/x86_64-buildtools-nativesdk-standalone-&DISTRO;.sh
459 457
460 Here is an example for the extended installer:: 458 For the extended installer::
461 459
462 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh 460 $ sh ~/Downloads/x86_64-buildtools-extended-nativesdk-standalone-&DISTRO;.sh
463 461
464 or for the make-only installer:: 462 And for the make-only installer::
465 463
466 $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh 464 $ sh ~/Downloads/x86_64-buildtools-make-nativesdk-standalone-&DISTRO;.sh
467 465
@@ -469,18 +467,15 @@ installer:
469 installation directory. For example, you could choose the following: 467 installation directory. For example, you could choose the following:
470 ``/home/your_username/buildtools`` 468 ``/home/your_username/buildtools``
471 469
4725. Source the tools environment setup script by using a command like the 470#. Source the tools environment setup script by using a command like the
473 following:: 471 following::
474 472
475 $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux 473 $ source /home/your_username/buildtools/environment-setup-x86_64-poky-linux
476 474
477 Of course, you need to supply your installation directory and be sure to
478 use the right file (i.e. i586 or x86_64).
479
480 After you have sourced the setup script, the tools are added to 475 After you have sourced the setup script, the tools are added to
481 ``PATH`` and any other environment variables required to run the 476 ``PATH`` and any other environment variables required to run the
482 tools are initialized. The results are working versions versions of 477 tools are initialized. The results are working versions versions of
483 Git, tar, Python and ``chrpath``. And in the case of the 478 Git, tar, Python and ``chrpath``. And in the case of the
484 ``buildtools-extended`` tarball, additional working versions of tools 479 :term:`buildtools-extended` tarball, additional working versions of tools
485 including ``gcc``, ``make`` and the other tools included in 480 including ``gcc``, ``make`` and the other tools included in
486 ``packagegroup-core-buildessential``. 481 ``packagegroup-core-buildessential``.