diff options
Diffstat (limited to 'documentation/overview-manual/overview-manual-concepts.rst')
-rw-r--r-- | documentation/overview-manual/overview-manual-concepts.rst | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/documentation/overview-manual/overview-manual-concepts.rst b/documentation/overview-manual/overview-manual-concepts.rst index 59096fbebf..9764b25b6d 100644 --- a/documentation/overview-manual/overview-manual-concepts.rst +++ b/documentation/overview-manual/overview-manual-concepts.rst | |||
@@ -6,8 +6,8 @@ Yocto Project Concepts | |||
6 | 6 | ||
7 | This chapter provides explanations for Yocto Project concepts that go | 7 | This chapter provides explanations for Yocto Project concepts that go |
8 | beyond the surface of "how-to" information and reference (or look-up) | 8 | beyond the surface of "how-to" information and reference (or look-up) |
9 | material. Concepts such as components, the `OpenEmbedded build | 9 | material. Concepts such as components, the :term:`OpenEmbedded Build System` |
10 | system <&YOCTO_DOCS_REF_URL;#build-system-term>`__ workflow, | 10 | workflow, |
11 | cross-development toolchains, shared state cache, and so forth are | 11 | cross-development toolchains, shared state cache, and so forth are |
12 | explained. | 12 | explained. |
13 | 13 | ||
@@ -48,8 +48,8 @@ Concepts <#openembedded-build-system-build-concepts>`__" section. | |||
48 | BitBake | 48 | BitBake |
49 | ------- | 49 | ------- |
50 | 50 | ||
51 | BitBake is the tool at the heart of the `OpenEmbedded build | 51 | BitBake is the tool at the heart of the :term:`OpenEmbedded Build System` |
52 | system <&YOCTO_DOCS_REF_URL;#build-system-term>`__ and is responsible | 52 | and is responsible |
53 | for parsing the :term:`Metadata`, generating | 53 | for parsing the :term:`Metadata`, generating |
54 | a list of tasks from it, and then executing those tasks. | 54 | a list of tasks from it, and then executing those tasks. |
55 | 55 | ||
@@ -109,7 +109,7 @@ Class files (``.bbclass``) contain information that is useful to share | |||
109 | between recipes files. An example is the | 109 | between recipes files. An example is the |
110 | :ref:`autotools <ref-classes-autotools>` class, | 110 | :ref:`autotools <ref-classes-autotools>` class, |
111 | which contains common settings for any application that Autotools uses. | 111 | which contains common settings for any application that Autotools uses. |
112 | The "`Classes <&YOCTO_DOCS_REF_URL;#ref-classes>`__" chapter in the | 112 | The ":ref:`ref-manual/ref-classes:Classes`" chapter in the |
113 | Yocto Project Reference Manual provides details about classes and how to | 113 | Yocto Project Reference Manual provides details about classes and how to |
114 | use them. | 114 | use them. |
115 | 115 | ||
@@ -123,8 +123,8 @@ variables that govern the OpenEmbedded build process. These files fall | |||
123 | into several areas that define machine configuration options, | 123 | into several areas that define machine configuration options, |
124 | distribution configuration options, compiler tuning options, general | 124 | distribution configuration options, compiler tuning options, general |
125 | common configuration options, and user configuration options in | 125 | common configuration options, and user configuration options in |
126 | ``conf/local.conf``, which is found in the `Build | 126 | ``conf/local.conf``, which is found in the :term:`Build Directory`. |
127 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. | 127 | |
128 | 128 | ||
129 | .. _overview-layers: | 129 | .. _overview-layers: |
130 | 130 | ||
@@ -164,8 +164,8 @@ OpenEmbedded Build System Concepts | |||
164 | ================================== | 164 | ================================== |
165 | 165 | ||
166 | This section takes a more detailed look inside the build process used by | 166 | This section takes a more detailed look inside the build process used by |
167 | the `OpenEmbedded build | 167 | the :term:`OpenEmbedded Build System`, |
168 | system <&YOCTO_DOCS_REF_URL;#build-system-term>`__, which is the build | 168 | which is the build |
169 | system specific to the Yocto Project. At the heart of the build system | 169 | system specific to the Yocto Project. At the heart of the build system |
170 | is BitBake, the task executor. | 170 | is BitBake, the task executor. |
171 | 171 | ||
@@ -221,8 +221,8 @@ figure <#general-workflow-figure>`__: | |||
221 | 221 | ||
222 | BitBake needs some basic configuration files in order to complete a | 222 | BitBake needs some basic configuration files in order to complete a |
223 | build. These files are ``*.conf`` files. The minimally necessary ones | 223 | build. These files are ``*.conf`` files. The minimally necessary ones |
224 | reside as example files in the ``build/conf`` directory of the `Source | 224 | reside as example files in the ``build/conf`` directory of the |
225 | Directory <&YOCTO_DOCS_REF_URL;#source-directory>`__. For simplicity, | 225 | :term:`Source Directory`. For simplicity, |
226 | this section refers to the Source Directory as the "Poky Directory." | 226 | this section refers to the Source Directory as the "Poky Directory." |
227 | 227 | ||
228 | When you clone the `Poky <&YOCTO_DOCS_REF_URL;#poky>`__ Git repository | 228 | When you clone the `Poky <&YOCTO_DOCS_REF_URL;#poky>`__ Git repository |
@@ -241,8 +241,8 @@ for creating actual configuration files when you source | |||
241 | ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__, which is the | 241 | ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__, which is the |
242 | build environment script. | 242 | build environment script. |
243 | 243 | ||
244 | Sourcing the build environment script creates a `Build | 244 | Sourcing the build environment script creates a |
245 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ if one does not | 245 | :term:`Build Directory` if one does not |
246 | already exist. BitBake uses the Build Directory for all its work during | 246 | already exist. BitBake uses the Build Directory for all its work during |
247 | builds. The Build Directory has a ``conf`` directory that contains | 247 | builds. The Build Directory has a ``conf`` directory that contains |
248 | default versions of your ``local.conf`` and ``bblayers.conf`` | 248 | default versions of your ``local.conf`` and ``bblayers.conf`` |
@@ -357,8 +357,8 @@ Configuration Edits" box in the figure. | |||
357 | 357 | ||
358 | When you launch your build with the ``bitbake target`` command, BitBake | 358 | When you launch your build with the ``bitbake target`` command, BitBake |
359 | sorts out the configurations to ultimately define your build | 359 | sorts out the configurations to ultimately define your build |
360 | environment. It is important to understand that the `OpenEmbedded build | 360 | environment. It is important to understand that the |
361 | system <&YOCTO_DOCS_REF_URL;#build-system-term>`__ reads the | 361 | :term:`OpenEmbedded Build System` reads the |
362 | configuration files in a specific order: ``site.conf``, ``auto.conf``, | 362 | configuration files in a specific order: ``site.conf``, ``auto.conf``, |
363 | and ``local.conf``. And, the build system applies the normal assignment | 363 | and ``local.conf``. And, the build system applies the normal assignment |
364 | statement rules as described in the "`Syntax and | 364 | statement rules as described in the "`Syntax and |
@@ -460,7 +460,7 @@ typically find in the distribution layer: | |||
460 | can be shared among recipes in the distribution. When your recipes | 460 | can be shared among recipes in the distribution. When your recipes |
461 | inherit a class, they take on the settings and functions for that | 461 | inherit a class, they take on the settings and functions for that |
462 | class. You can read more about class files in the | 462 | class. You can read more about class files in the |
463 | "`Classes <&YOCTO_DOCS_REF_URL;#ref-classes>`__" chapter of the Yocto | 463 | ":ref:`ref-manual/ref-classes:Classes`" chapter of the Yocto |
464 | Reference Manual. | 464 | Reference Manual. |
465 | 465 | ||
466 | - *conf:* This area holds configuration files for the layer | 466 | - *conf:* This area holds configuration files for the layer |
@@ -643,8 +643,8 @@ Package Feeds | |||
643 | ------------- | 643 | ------------- |
644 | 644 | ||
645 | When the OpenEmbedded build system generates an image or an SDK, it gets | 645 | When the OpenEmbedded build system generates an image or an SDK, it gets |
646 | the packages from a package feed area located in the `Build | 646 | the packages from a package feed area located in the |
647 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. The `general | 647 | :term:`Build Directory`. The `general |
648 | workflow figure <#general-workflow-figure>`__ shows this package feeds | 648 | workflow figure <#general-workflow-figure>`__ shows this package feeds |
649 | area in the upper-right corner. | 649 | area in the upper-right corner. |
650 | 650 | ||
@@ -687,7 +687,7 @@ package files are kept: | |||
687 | for the i586 or qemux86 architectures. | 687 | for the i586 or qemux86 architectures. |
688 | 688 | ||
689 | BitBake uses the | 689 | BitBake uses the |
690 | ```do_package_write_*`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package_write_deb>`__ | 690 | :ref:`do_package_write_* <ref-tasks-package_write_deb>` |
691 | tasks to generate packages and place them into the package holding area | 691 | tasks to generate packages and place them into the package holding area |
692 | (e.g. ``do_package_write_ipk`` for IPK packages). See the | 692 | (e.g. ``do_package_write_ipk`` for IPK packages). See the |
693 | ":ref:`ref-tasks-package_write_deb`", | 693 | ":ref:`ref-tasks-package_write_deb`", |
@@ -733,8 +733,8 @@ code: | |||
733 | 733 | ||
734 | The :ref:`ref-tasks-fetch` and | 734 | The :ref:`ref-tasks-fetch` and |
735 | :ref:`ref-tasks-unpack` tasks fetch | 735 | :ref:`ref-tasks-unpack` tasks fetch |
736 | the source files and unpack them into the `Build | 736 | the source files and unpack them into the |
737 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. | 737 | :term:`Build Directory`. |
738 | 738 | ||
739 | .. note:: | 739 | .. note:: |
740 | 740 | ||
@@ -984,7 +984,7 @@ details on how this is accomplished, you can look at | |||
984 | ```package.bbclass`` <&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/classes/package.bbclass>`__. | 984 | ```package.bbclass`` <&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/classes/package.bbclass>`__. |
985 | 985 | ||
986 | Depending on the type of packages being created (RPM, DEB, or IPK), the | 986 | Depending on the type of packages being created (RPM, DEB, or IPK), the |
987 | ```do_package_write_*`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package_write_deb>`__ | 987 | :ref:`do_package_write_* <ref-tasks-package_write_deb>` |
988 | task creates the actual packages and places them in the Package Feed | 988 | task creates the actual packages and places them in the Package Feed |
989 | area, which is ``${TMPDIR}/deploy``. You can see the "`Package | 989 | area, which is ``${TMPDIR}/deploy``. You can see the "`Package |
990 | Feeds <#package-feeds-dev-environment>`__" section for more detail on | 990 | Feeds <#package-feeds-dev-environment>`__" section for more detail on |
@@ -1067,7 +1067,7 @@ processing includes creation of a manifest file and optimizations. | |||
1067 | The manifest file (``.manifest``) resides in the same directory as the | 1067 | The manifest file (``.manifest``) resides in the same directory as the |
1068 | root filesystem image. This file lists out, line-by-line, the installed | 1068 | root filesystem image. This file lists out, line-by-line, the installed |
1069 | packages. The manifest file is useful for the | 1069 | packages. The manifest file is useful for the |
1070 | ```testimage`` <&YOCTO_DOCS_REF_URL;#ref-classes-testimage*>`__ class, | 1070 | :ref:`testimage <ref-classes-testimage*>` class, |
1071 | for example, to determine whether or not to run specific tests. See the | 1071 | for example, to determine whether or not to run specific tests. See the |
1072 | :term:`IMAGE_MANIFEST` | 1072 | :term:`IMAGE_MANIFEST` |
1073 | variable for additional information. | 1073 | variable for additional information. |
@@ -1102,7 +1102,7 @@ as specified by the ``IMAGE_FSTYPES`` were ``ext4``, the dynamically | |||
1102 | generated task would be as follows: do_image_ext4 | 1102 | generated task would be as follows: do_image_ext4 |
1103 | 1103 | ||
1104 | The final task involved in image creation is the | 1104 | The final task involved in image creation is the |
1105 | ```do_image_complete`` <&YOCTO_DOCS_REF_URL;#ref-tasks-image-complete>`__ | 1105 | :ref:`do_image_complete <ref-tasks-image-complete>` |
1106 | task. This task completes the image by applying any image post | 1106 | task. This task completes the image by applying any image post |
1107 | processing as defined through the | 1107 | processing as defined through the |
1108 | :term:`IMAGE_POSTPROCESS_COMMAND` | 1108 | :term:`IMAGE_POSTPROCESS_COMMAND` |
@@ -1242,7 +1242,7 @@ version of the task where instead of building something, BitBake can | |||
1242 | skip to the end result and simply place a set of files into specific | 1242 | skip to the end result and simply place a set of files into specific |
1243 | locations as needed. In some cases, it makes sense to have a setscene | 1243 | locations as needed. In some cases, it makes sense to have a setscene |
1244 | task variant (e.g. generating package files in the | 1244 | task variant (e.g. generating package files in the |
1245 | ```do_package_write_*`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package_write_deb>`__ | 1245 | :ref:`do_package_write_* <ref-tasks-package_write_deb>` |
1246 | task). In other cases, it does not make sense (e.g. a | 1246 | task). In other cases, it does not make sense (e.g. a |
1247 | :ref:`ref-tasks-patch` task or a | 1247 | :ref:`ref-tasks-patch` task or a |
1248 | :ref:`ref-tasks-unpack` task) since | 1248 | :ref:`ref-tasks-unpack` task) since |
@@ -1317,8 +1317,8 @@ this output: | |||
1317 | Images | 1317 | Images |
1318 | " chapter in the Yocto Project Reference Manual. | 1318 | " chapter in the Yocto Project Reference Manual. |
1319 | 1319 | ||
1320 | The build process writes images out to the `Build | 1320 | The build process writes images out to the :term:`Build Directory` |
1321 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__ inside the | 1321 | inside the |
1322 | ``tmp/deploy/images/machine/`` folder as shown in the figure. This | 1322 | ``tmp/deploy/images/machine/`` folder as shown in the figure. This |
1323 | folder contains any files expected to be loaded on the target device. | 1323 | folder contains any files expected to be loaded on the target device. |
1324 | The :term:`DEPLOY_DIR` variable | 1324 | The :term:`DEPLOY_DIR` variable |
@@ -1775,8 +1775,8 @@ need to fix this situation. | |||
1775 | Thus far, this section has limited discussion to the direct inputs into | 1775 | Thus far, this section has limited discussion to the direct inputs into |
1776 | a task. Information based on direct inputs is referred to as the | 1776 | a task. Information based on direct inputs is referred to as the |
1777 | "basehash" in the code. However, the question of a task's indirect | 1777 | "basehash" in the code. However, the question of a task's indirect |
1778 | inputs still exits - items already built and present in the `Build | 1778 | inputs still exits - items already built and present in the |
1779 | Directory <&YOCTO_DOCS_REF_URL;#build-directory>`__. The checksum (or | 1779 | :term:`Build Directory`. The checksum (or |
1780 | signature) for a particular task needs to add the hashes of all the | 1780 | signature) for a particular task needs to add the hashes of all the |
1781 | tasks on which the particular task depends. Choosing which dependencies | 1781 | tasks on which the particular task depends. Choosing which dependencies |
1782 | to add is a policy decision. However, the effect is to generate a master | 1782 | to add is a policy decision. However, the effect is to generate a master |
@@ -2117,9 +2117,9 @@ Fakeroot and Pseudo | |||
2117 | Some tasks are easier to implement when allowed to perform certain | 2117 | Some tasks are easier to implement when allowed to perform certain |
2118 | operations that are normally reserved for the root user (e.g. | 2118 | operations that are normally reserved for the root user (e.g. |
2119 | :ref:`ref-tasks-install`, | 2119 | :ref:`ref-tasks-install`, |
2120 | ```do_package_write*`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package_write_deb>`__, | 2120 | :ref:`do_package_write* <ref-tasks-package_write_deb>`, |
2121 | :ref:`ref-tasks-rootfs`, and | 2121 | :ref:`ref-tasks-rootfs`, and |
2122 | ```do_image*`` <&YOCTO_DOCS_REF_URL;#ref-tasks-image>`__). For example, | 2122 | :ref:`do_image* <ref-tasks-image>`). For example, |
2123 | the ``do_install`` task benefits from being able to set the UID and GID | 2123 | the ``do_install`` task benefits from being able to set the UID and GID |
2124 | of installed files to arbitrary values. | 2124 | of installed files to arbitrary values. |
2125 | 2125 | ||
@@ -2139,8 +2139,8 @@ The capability to run tasks in a fake root environment is known as | |||
2139 | the BitBake keyword/variable flag that requests a fake root environment | 2139 | the BitBake keyword/variable flag that requests a fake root environment |
2140 | for a task. | 2140 | for a task. |
2141 | 2141 | ||
2142 | In the `OpenEmbedded build | 2142 | In the :term:`OpenEmbedded Build System`, |
2143 | system <&YOCTO_DOCS_REF_URL;#build-system-term>`__, the program that | 2143 | the program that |
2144 | implements fakeroot is known as | 2144 | implements fakeroot is known as |
2145 | `Pseudo <https://www.yoctoproject.org/software-item/pseudo/>`__. Pseudo | 2145 | `Pseudo <https://www.yoctoproject.org/software-item/pseudo/>`__. Pseudo |
2146 | overrides system calls by using the environment variable ``LD_PRELOAD``, | 2146 | overrides system calls by using the environment variable ``LD_PRELOAD``, |