summaryrefslogtreecommitdiffstats
path: root/documentation/overview-manual/overview-manual-concepts.rst
diff options
context:
space:
mode:
authorNicolas Dechesne <nicolas.dechesne@linaro.org>2020-04-28 23:36:21 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-09-17 10:09:33 +0100
commitafde290655c47bbd20bedcbc971fcf59302ecd83 (patch)
treeab5d87163c601ca6437d8dc0f2227d54cfa557d6 /documentation/overview-manual/overview-manual-concepts.rst
parent0b84b3dd769d5d4dd3261836eee989da5ff0353b (diff)
downloadpoky-afde290655c47bbd20bedcbc971fcf59302ecd83.tar.gz
sphinx: overview-manual: add figures
The automatic conversion with pandoc skipped the figures. Add them manually. (From yocto-docs rev: 1c2d071b7963490e8126a0b81792bda7a7c0bc8c) Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/overview-manual/overview-manual-concepts.rst')
-rw-r--r--documentation/overview-manual/overview-manual-concepts.rst42
1 files changed, 42 insertions, 0 deletions
diff --git a/documentation/overview-manual/overview-manual-concepts.rst b/documentation/overview-manual/overview-manual-concepts.rst
index b37adbbba6..11614d0e6c 100644
--- a/documentation/overview-manual/overview-manual-concepts.rst
+++ b/documentation/overview-manual/overview-manual-concepts.rst
@@ -171,6 +171,9 @@ The following diagram represents the high-level workflow of a build. The
171remainder of this section expands on the fundamental input, output, 171remainder of this section expands on the fundamental input, output,
172process, and metadata logical blocks that make up the workflow. 172process, and metadata logical blocks that make up the workflow.
173 173
174.. image:: figures/YP-flow-diagram.png
175 :align: center
176
174In general, the build's workflow consists of several functional areas: 177In general, the build's workflow consists of several functional areas:
175 178
176- *User Configuration:* metadata you can use to control the build 179- *User Configuration:* metadata you can use to control the build
@@ -211,6 +214,9 @@ The following figure shows an expanded representation of the "User
211Configuration" box of the `general workflow 214Configuration" box of the `general workflow
212figure <#general-workflow-figure>`__: 215figure <#general-workflow-figure>`__:
213 216
217.. image:: figures/user-configuration.png
218 :align: center
219
214BitBake needs some basic configuration files in order to complete a 220BitBake needs some basic configuration files in order to complete a
215build. These files are ``*.conf`` files. The minimally necessary ones 221build. These files are ``*.conf`` files. The minimally necessary ones
216reside as example files in the ``build/conf`` directory of the `Source 222reside as example files in the ``build/conf`` directory of the `Source
@@ -405,6 +411,9 @@ figure <#general-workflow-figure>`__:
405The following figure shows an expanded representation of these three 411The following figure shows an expanded representation of these three
406layers from the `general workflow figure <#general-workflow-figure>`__: 412layers from the `general workflow figure <#general-workflow-figure>`__:
407 413
414.. image:: figures/layer-input.png
415 :align: center
416
408In general, all layers have a similar structure. They all contain a 417In general, all layers have a similar structure. They all contain a
409licensing file (e.g. ``COPYING.MIT``) if the layer is to be distributed, 418licensing file (e.g. ``COPYING.MIT``) if the layer is to be distributed,
410a ``README`` file as good practice and especially if the layer is to be 419a ``README`` file as good practice and especially if the layer is to be
@@ -556,6 +565,9 @@ The remainder of this section provides a deeper look into the source
556files and the mirrors. Here is a more detailed look at the source file 565files and the mirrors. Here is a more detailed look at the source file
557area of the `general workflow figure <#general-workflow-figure>`__: 566area of the `general workflow figure <#general-workflow-figure>`__:
558 567
568.. image:: figures/source-input.png
569 :align: center
570
559Upstream Project Releases 571Upstream Project Releases
560~~~~~~~~~~~~~~~~~~~~~~~~~ 572~~~~~~~~~~~~~~~~~~~~~~~~~
561 573
@@ -637,6 +649,9 @@ area in the upper-right corner.
637This section looks a little closer into the package feeds area used by 649This section looks a little closer into the package feeds area used by
638the build system. Here is a more detailed look at the area: 650the build system. Here is a more detailed look at the area:
639 651
652.. image:: figures/package-feeds.png
653 :align: center
654
640Package feeds are an intermediary step in the build process. The 655Package feeds are an intermediary step in the build process. The
641OpenEmbedded build system provides classes to generate different package 656OpenEmbedded build system provides classes to generate different package
642types, and you specify which classes to enable through the 657types, and you specify which classes to enable through the
@@ -711,6 +726,9 @@ Source Fetching
711The first stages of building a recipe are to fetch and unpack the source 726The first stages of building a recipe are to fetch and unpack the source
712code: 727code:
713 728
729.. image:: figures/source-fetching.png
730 :align: center
731
714The ```do_fetch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-fetch>`__ and 732The ```do_fetch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-fetch>`__ and
715```do_unpack`` <&YOCTO_DOCS_REF_URL;#ref-tasks-unpack>`__ tasks fetch 733```do_unpack`` <&YOCTO_DOCS_REF_URL;#ref-tasks-unpack>`__ tasks fetch
716the source files and unpack them into the `Build 734the source files and unpack them into the `Build
@@ -802,6 +820,9 @@ Patching
802Once source code is fetched and unpacked, BitBake locates patch files 820Once source code is fetched and unpacked, BitBake locates patch files
803and applies them to the source files: 821and applies them to the source files:
804 822
823.. image:: figures/patching.png
824 :align: center
825
805The ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ task uses a 826The ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ task uses a
806recipe's ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ statements 827recipe's ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ statements
807and the ```FILESPATH`` <&YOCTO_DOCS_REF_URL;#var-FILESPATH>`__ variable 828and the ```FILESPATH`` <&YOCTO_DOCS_REF_URL;#var-FILESPATH>`__ variable
@@ -843,6 +864,9 @@ After source code is patched, BitBake executes tasks that configure and
843compile the source code. Once compilation occurs, the files are copied 864compile the source code. Once compilation occurs, the files are copied
844to a holding area (staged) in preparation for packaging: 865to a holding area (staged) in preparation for packaging:
845 866
867.. image:: figures/configuration-compile-autoreconf.png
868 :align: center
869
846This step in the build process consists of the following tasks: 870This step in the build process consists of the following tasks:
847 871
848- ```do_prepare_recipe_sysroot`` <&YOCTO_DOCS_REF_URL;#ref-tasks-prepare_recipe_sysroot>`__: 872- ```do_prepare_recipe_sysroot`` <&YOCTO_DOCS_REF_URL;#ref-tasks-prepare_recipe_sysroot>`__:
@@ -900,6 +924,9 @@ Package Splitting
900After source code is configured, compiled, and staged, the build system 924After source code is configured, compiled, and staged, the build system
901analyzes the results and splits the output into packages: 925analyzes the results and splits the output into packages:
902 926
927.. image:: figures/analysis-for-package-splitting.png
928 :align: center
929
903The ```do_package`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package>`__ and 930The ```do_package`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package>`__ and
904```do_packagedata`` <&YOCTO_DOCS_REF_URL;#ref-tasks-packagedata>`__ 931```do_packagedata`` <&YOCTO_DOCS_REF_URL;#ref-tasks-packagedata>`__
905tasks combine to analyze the files found in the 932tasks combine to analyze the files found in the
@@ -979,6 +1006,9 @@ Image Generation
979Once packages are split and stored in the Package Feeds area, the build 1006Once packages are split and stored in the Package Feeds area, the build
980system uses BitBake to generate the root filesystem image: 1007system uses BitBake to generate the root filesystem image:
981 1008
1009.. image:: figures/image-generation.png
1010 :align: center
1011
982The image generation process consists of several stages and depends on 1012The image generation process consists of several stages and depends on
983several tasks and variables. The 1013several tasks and variables. The
984```do_rootfs`` <&YOCTO_DOCS_REF_URL;#ref-tasks-rootfs>`__ task creates 1014```do_rootfs`` <&YOCTO_DOCS_REF_URL;#ref-tasks-rootfs>`__ task creates
@@ -1093,6 +1123,9 @@ The OpenEmbedded build system uses BitBake to generate the Software
1093Development Kit (SDK) installer scripts for both the standard SDK and 1123Development Kit (SDK) installer scripts for both the standard SDK and
1094the extensible SDK (eSDK): 1124the extensible SDK (eSDK):
1095 1125
1126.. image:: figures/sdk-generation.png
1127 :align: center
1128
1096.. note:: 1129.. note::
1097 1130
1098 For more information on the cross-development toolchain generation, 1131 For more information on the cross-development toolchain generation,
@@ -1272,6 +1305,9 @@ the `general workflow figure <#general-workflow-figure>`__ that BitBake
1272output, in part, consists of images. This section takes a closer look at 1305output, in part, consists of images. This section takes a closer look at
1273this output: 1306this output:
1274 1307
1308.. image:: figures/images.png
1309 :align: center
1310
1275.. note:: 1311.. note::
1276 1312
1277 For a list of example images that the Yocto Project provides, see the 1313 For a list of example images that the Yocto Project provides, see the
@@ -1331,6 +1367,9 @@ SDK (e.g. ``bitbake -c populate_sdk_ext`` imagename) or a standard SDK
1331(e.g. ``bitbake -c populate_sdk`` imagename). This section takes a 1367(e.g. ``bitbake -c populate_sdk`` imagename). This section takes a
1332closer look at this output: 1368closer look at this output:
1333 1369
1370.. image:: figures/sdk.png
1371 :align: center
1372
1334The specific form of this output is a set of files that includes a 1373The specific form of this output is a set of files that includes a
1335self-extracting SDK installer (``*.sh``), host and target manifest 1374self-extracting SDK installer (``*.sh``), host and target manifest
1336files, and files used for SDK testing. When the SDK installer file is 1375files, and files used for SDK testing. When the SDK installer file is
@@ -1450,6 +1489,9 @@ creates these necessary toolchains for you.
1450The following figure shows a high-level build environment regarding 1489The following figure shows a high-level build environment regarding
1451toolchain construction and use. 1490toolchain construction and use.
1452 1491
1492.. image:: figures/cross-development-toolchains.png
1493 :align: center
1494
1453Most of the work occurs on the Build Host. This is the machine used to 1495Most of the work occurs on the Build Host. This is the machine used to
1454build images and generally work within the the Yocto Project 1496build images and generally work within the the Yocto Project
1455environment. When you run 1497environment. When you run