summaryrefslogtreecommitdiffstats
path: root/documentation/overview-manual/concepts.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/overview-manual/concepts.rst')
-rw-r--r--documentation/overview-manual/concepts.rst74
1 files changed, 33 insertions, 41 deletions
diff --git a/documentation/overview-manual/concepts.rst b/documentation/overview-manual/concepts.rst
index 931bec79e8..b323a6fdf4 100644
--- a/documentation/overview-manual/concepts.rst
+++ b/documentation/overview-manual/concepts.rst
@@ -233,13 +233,12 @@ for creating actual configuration files when you source
233:ref:`structure-core-script`, which is the 233:ref:`structure-core-script`, which is the
234build environment script. 234build environment script.
235 235
236Sourcing the build environment script creates a 236Sourcing the build environment script creates a :term:`Build Directory`
237:term:`Build Directory` if one does not 237if one does not already exist. BitBake uses the :term:`Build Directory`
238already exist. BitBake uses the Build Directory for all its work during 238for all its work during builds. The Build Directory has a ``conf`` directory
239builds. The Build Directory has a ``conf`` directory that contains 239that contains default versions of your ``local.conf`` and ``bblayers.conf``
240default versions of your ``local.conf`` and ``bblayers.conf``
241configuration files. These default configuration files are created only 240configuration files. These default configuration files are created only
242if versions do not already exist in the Build Directory at the time you 241if versions do not already exist in the :term:`Build Directory` at the time you
243source the build environment setup script. 242source the build environment setup script.
244 243
245Because the Poky repository is fundamentally an aggregation of existing 244Because the Poky repository is fundamentally an aggregation of existing
@@ -251,9 +250,9 @@ assumes the script is executed from within a cloned or unpacked version
251of Poky. 250of Poky.
252 251
253Depending on where the script is sourced, different sub-scripts are 252Depending on where the script is sourced, different sub-scripts are
254called to set up the Build Directory (Yocto or OpenEmbedded). 253called to set up the :term:`Build Directory` (Yocto or OpenEmbedded).
255Specifically, the script ``scripts/oe-setup-builddir`` inside the poky 254Specifically, the script ``scripts/oe-setup-builddir`` inside the poky
256directory sets up the Build Directory and seeds the directory (if 255directory sets up the :term:`Build Directory` and seeds the directory (if
257necessary) with configuration files appropriate for the Yocto Project 256necessary) with configuration files appropriate for the Yocto Project
258development environment. 257development environment.
259 258
@@ -428,7 +427,7 @@ The distribution layer provides policy configurations for your
428distribution. Best practices dictate that you isolate these types of 427distribution. Best practices dictate that you isolate these types of
429configurations into their own layer. Settings you provide in 428configurations into their own layer. Settings you provide in
430``conf/distro/distro.conf`` override similar settings that BitBake finds 429``conf/distro/distro.conf`` override similar settings that BitBake finds
431in your ``conf/local.conf`` file in the Build Directory. 430in your ``conf/local.conf`` file in the :term:`Build Directory`.
432 431
433The following list provides some explanation and references for what you 432The following list provides some explanation and references for what you
434typically find in the distribution layer: 433typically find in the distribution layer:
@@ -531,10 +530,11 @@ repositories, which is not the default behavior, and store them in the
531variable. 530variable.
532 531
533Judicious use of a :term:`DL_DIR` directory can save the build system a trip 532Judicious use of a :term:`DL_DIR` directory can save the build system a trip
534across the Internet when looking for files. A good method for using a 533across the Internet when looking for files. A good method for using a download
535download directory is to have :term:`DL_DIR` point to an area outside of 534directory is to have :term:`DL_DIR` point to an area outside of your
536your Build Directory. Doing so allows you to safely delete the Build 535:term:`Build Directory`. Doing so allows you to safely delete the
537Directory if needed without fear of removing any downloaded source file. 536:term:`Build Directory` if needed without fear of removing any downloaded
537source file.
538 538
539The remainder of this section provides a deeper look into the source 539The remainder of this section provides a deeper look into the source
540files and the mirrors. Here is a more detailed look at the source file 540files and the mirrors. Here is a more detailed look at the source file
@@ -632,15 +632,14 @@ process validates them with generated output quality assurance checks
632through the :ref:`insane <ref-classes-insane>` 632through the :ref:`insane <ref-classes-insane>`
633class. 633class.
634 634
635The package feed area resides in the Build Directory. The directory the 635The package feed area resides in the :term:`Build Directory`. The directory the
636build system uses to temporarily store packages is determined by a 636build system uses to temporarily store packages is determined by a
637combination of variables and the particular package manager in use. See 637combination of variables and the particular package manager in use. See
638the "Package Feeds" box in the illustration and note the information to 638the "Package Feeds" box in the illustration and note the information to
639the right of that area. In particular, the following defines where 639the right of that area. In particular, the following defines where
640package files are kept: 640package files are kept:
641 641
642- :term:`DEPLOY_DIR`: Defined as 642- :term:`DEPLOY_DIR`: Defined as ``tmp/deploy`` in the :term:`Build Directory`.
643 ``tmp/deploy`` in the Build Directory.
644 643
645- ``DEPLOY_DIR_*``: Depending on the package manager used, the package 644- ``DEPLOY_DIR_*``: Depending on the package manager used, the package
646 type sub-folder. Given RPM, IPK, or DEB packaging and tarball 645 type sub-folder. Given RPM, IPK, or DEB packaging and tarball
@@ -696,10 +695,8 @@ code:
696.. image:: figures/source-fetching.png 695.. image:: figures/source-fetching.png
697 :width: 100% 696 :width: 100%
698 697
699The :ref:`ref-tasks-fetch` and 698The :ref:`ref-tasks-fetch` and :ref:`ref-tasks-unpack` tasks fetch
700:ref:`ref-tasks-unpack` tasks fetch 699the source files and unpack them into the :term:`Build Directory`.
701the source files and unpack them into the
702:term:`Build Directory`.
703 700
704.. note:: 701.. note::
705 702
@@ -710,17 +707,16 @@ the source files and unpack them into the
710 file has been modified, the :ref:`ref-tasks-fetch` task and all 707 file has been modified, the :ref:`ref-tasks-fetch` task and all
711 tasks that depend on it are re-executed. 708 tasks that depend on it are re-executed.
712 709
713By default, everything is accomplished in the Build Directory, which has 710By default, everything is accomplished in the :term:`Build Directory`, which has
714a defined structure. For additional general information on the Build 711a defined structure. For additional general information on the
715Directory, see the ":ref:`structure-core-build`" section in 712:term:`Build Directory`, see the ":ref:`structure-core-build`" section in
716the Yocto Project Reference Manual. 713the Yocto Project Reference Manual.
717 714
718Each recipe has an area in the Build Directory where the unpacked source 715Each recipe has an area in the :term:`Build Directory` where the unpacked
719code resides. The :term:`S` variable points 716source code resides. The :term:`S` variable points to this area for a recipe's
720to this area for a recipe's unpacked source code. The name of that 717unpacked source code. The name of that directory for any given recipe is
721directory for any given recipe is defined from several different 718defined from several different variables. The preceding figure and the
722variables. The preceding figure and the following list describe the 719following list describe the :term:`Build Directory`'s hierarchy:
723Build Directory's hierarchy:
724 720
725- :term:`TMPDIR`: The base directory 721- :term:`TMPDIR`: The base directory
726 where the OpenEmbedded build system performs all its work during the 722 where the OpenEmbedded build system performs all its work during the
@@ -1258,15 +1254,12 @@ this output:
1258 ":doc:`/ref-manual/images`" chapter in the Yocto Project Reference 1254 ":doc:`/ref-manual/images`" chapter in the Yocto Project Reference
1259 Manual. 1255 Manual.
1260 1256
1261The build process writes images out to the :term:`Build Directory` 1257The build process writes images out to the :term:`Build Directory` inside
1262inside the 1258the ``tmp/deploy/images/machine/`` folder as shown in the figure. This
1263``tmp/deploy/images/machine/`` folder as shown in the figure. This
1264folder contains any files expected to be loaded on the target device. 1259folder contains any files expected to be loaded on the target device.
1265The :term:`DEPLOY_DIR` variable 1260The :term:`DEPLOY_DIR` variable points to the ``deploy`` directory, while the
1266points to the ``deploy`` directory, while the 1261:term:`DEPLOY_DIR_IMAGE` variable points to the appropriate directory
1267:term:`DEPLOY_DIR_IMAGE` 1262containing images for the current configuration.
1268variable points to the appropriate directory containing images for the
1269current configuration.
1270 1263
1271- kernel-image: A kernel binary file. The 1264- kernel-image: A kernel binary file. The
1272 :term:`KERNEL_IMAGETYPE` 1265 :term:`KERNEL_IMAGETYPE`
@@ -1340,10 +1333,9 @@ can initialize the environment before using the tools.
1340 the :doc:`/sdk-manual/index` manual. 1333 the :doc:`/sdk-manual/index` manual.
1341 1334
1342All the output files for an SDK are written to the ``deploy/sdk`` folder 1335All the output files for an SDK are written to the ``deploy/sdk`` folder
1343inside the :term:`Build Directory` as 1336inside the :term:`Build Directory` as shown in the previous figure. Depending
1344shown in the previous figure. Depending on the type of SDK, there are 1337on the type of SDK, there are several variables to configure these files.
1345several variables to configure these files. Here are the variables 1338Here are the variables associated with an extensible SDK:
1346associated with an extensible SDK:
1347 1339
1348- :term:`DEPLOY_DIR`: Points to 1340- :term:`DEPLOY_DIR`: Points to
1349 the ``deploy`` directory. 1341 the ``deploy`` directory.