diff options
| author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2022-12-14 09:36:00 +0100 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2024-03-01 05:19:55 -1000 |
| commit | e0c348b64473a66bdd13da4facbfd17700899a9d (patch) | |
| tree | 868d83772a60ad59cc8737d459afbb8624ae871d /documentation/ref-manual/system-requirements.rst | |
| parent | 9e5a9e6f945dae5c3d2e1932449d9494d903cbff (diff) | |
| download | poky-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.rst | 87 |
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 | ||
| 279 | Required Git, tar, Python and gcc Versions | 279 | .. _system-requirements-buildtools: |
| 280 | ========================================== | 280 | |
| 281 | Required Git, tar, Python, make and gcc Versions | ||
| 282 | ================================================ | ||
| 281 | 283 | ||
| 282 | In order to use the build system, your host development system must meet | 284 | In order to use the build system, your host development system must meet |
| 283 | the following version requirements for Git, tar, and Python: | 285 | the 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 | |||
| 291 | If your host development system does not meet all these requirements, | 295 | If your host development system does not meet all these requirements, |
| 292 | you can resolve this by installing a ``buildtools`` tarball that | 296 | you can resolve this by installing a :term:`buildtools` tarball that |
| 293 | contains these tools. You can get the tarball one of two ways: download | 297 | contains these tools. You can either download a pre-built tarball or |
| 294 | a pre-built tarball or use BitBake to build the tarball. | 298 | use BitBake to build one. |
| 295 | 299 | ||
| 296 | In addition, your host development system must meet the following | 300 | In addition, your host development system must meet the following |
| 297 | version requirement for gcc: | 301 | version 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 | ||
| 301 | If your host development system does not meet this requirement, you can | 305 | If your host development system does not meet this requirement, you can |
| 302 | resolve this by installing a ``buildtools-extended`` tarball that | 306 | resolve this by installing a :term:`buildtools-extended` tarball that |
| 303 | contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` | 307 | contains additional tools, the equivalent of the Debian/Ubuntu ``build-essential`` |
| 304 | package. | 308 | package. |
| 305 | 309 | ||
| 306 | For systems with a broken make version (e.g. make 4.2.1 without patches) but | 310 | For systems with a broken make version (e.g. make 4.2.1 without patches) but |
| 307 | where the rest of the host tools are usable, you can use the ``buildtools-make`` | 311 | where the rest of the host tools are usable, you can use the :term:`buildtools-make` |
| 308 | tarball instead. | 312 | tarball instead. |
| 309 | 313 | ||
| 310 | In the sections that follow, three different methods will be described for | 314 | In the sections that follow, three different methods will be described for |
| 311 | installing the ``buildtools``, ``buildtools-extended`` or ``buildtools-make`` | 315 | installing the :term:`buildtools`, :term:`buildtools-extended` or :term:`buildtools-make` |
| 312 | toolset. | 316 | toolset. |
| 313 | 317 | ||
| 314 | Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script | 318 | Installing a Pre-Built ``buildtools`` Tarball with ``install-buildtools`` script |
| 315 | -------------------------------------------------------------------------------- | 319 | -------------------------------------------------------------------------------- |
| 316 | 320 | ||
| 317 | The ``install-buildtools`` script is the easiest of the three methods by | 321 | The ``install-buildtools`` script is the easiest of the three methods by |
| 318 | which you can get these tools. It downloads a pre-built buildtools | 322 | which you can get these tools. It downloads a pre-built :term:`buildtools` |
| 319 | installer and automatically installs the tools for you: | 323 | installer and automatically installs the tools for you: |
| 320 | 324 | ||
| 321 | 1. 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 | ||
| 354 | 2. 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 | ||
| 373 | If you would prefer not to use the ``install-buildtools`` script, you can instead | 374 | If you would prefer not to use the ``install-buildtools`` script, you can instead |
| 374 | download and run a pre-built buildtools installer yourself with the following | 375 | download and run a pre-built :term:`buildtools` installer yourself with the following |
| 375 | steps: | 376 | steps: |
| 376 | 377 | ||
| 377 | 1. 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 | ||
| 379 | 2. 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 | ||
| 396 | 3. 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 | ||
| 413 | Building Your Own ``buildtools`` Tarball | 412 | Building Your Own ``buildtools`` Tarball |
| 414 | ---------------------------------------- | 413 | ---------------------------------------- |
| 415 | 414 | ||
| 416 | Building and running your own buildtools installer applies only when you | 415 | Building and running your own :term:`buildtools` installer applies only when you |
| 417 | have a build host that can already run BitBake. In this case, you use | 416 | have a build host that can already run BitBake. In this case, you use |
| 418 | that machine to build the ``.sh`` file and then take steps to transfer | 417 | that machine to build the ``.sh`` file and then take steps to transfer |
| 419 | and run it on a machine that does not meet the minimal Git, tar, and | 418 | and run it on a machine that does not meet the minimal Git, tar, and |
| 420 | Python (or gcc) requirements. | 419 | Python (or gcc) requirements. |
| 421 | 420 | ||
| 422 | Here are the steps to take to build and run your own buildtools | 421 | Here are the steps to take to build and run your own :term:`buildtools` |
| 423 | installer: | 422 | installer: |
| 424 | 423 | ||
| 425 | 1. 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 | ||
| 429 | 2. 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 | ||
| 451 | 3. 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 | ||
| 454 | 4. 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 | ||
| 472 | 5. 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``. |
