1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 00:20:08 +00:00

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>
This commit is contained in:
Nicolas Dechesne
2020-04-28 23:36:21 +02:00
committed by Richard Purdie
parent 0b84b3dd76
commit afde290655
3 changed files with 66 additions and 1 deletions
@@ -171,6 +171,9 @@ The following diagram represents the high-level workflow of a build. The
remainder of this section expands on the fundamental input, output, remainder of this section expands on the fundamental input, output,
process, and metadata logical blocks that make up the workflow. process, and metadata logical blocks that make up the workflow.
.. image:: figures/YP-flow-diagram.png
:align: center
In general, the build's workflow consists of several functional areas: In general, the build's workflow consists of several functional areas:
- *User Configuration:* metadata you can use to control the build - *User Configuration:* metadata you can use to control the build
@@ -211,6 +214,9 @@ The following figure shows an expanded representation of the "User
Configuration" box of the `general workflow Configuration" box of the `general workflow
figure <#general-workflow-figure>`__: figure <#general-workflow-figure>`__:
.. image:: figures/user-configuration.png
:align: center
BitBake needs some basic configuration files in order to complete a BitBake needs some basic configuration files in order to complete a
build. These files are ``*.conf`` files. The minimally necessary ones build. These files are ``*.conf`` files. The minimally necessary ones
reside as example files in the ``build/conf`` directory of the `Source reside as example files in the ``build/conf`` directory of the `Source
@@ -405,6 +411,9 @@ figure <#general-workflow-figure>`__:
The following figure shows an expanded representation of these three The following figure shows an expanded representation of these three
layers from the `general workflow figure <#general-workflow-figure>`__: layers from the `general workflow figure <#general-workflow-figure>`__:
.. image:: figures/layer-input.png
:align: center
In general, all layers have a similar structure. They all contain a In general, all layers have a similar structure. They all contain a
licensing file (e.g. ``COPYING.MIT``) if the layer is to be distributed, licensing file (e.g. ``COPYING.MIT``) if the layer is to be distributed,
a ``README`` file as good practice and especially if the layer is to be a ``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
files and the mirrors. Here is a more detailed look at the source file files and the mirrors. Here is a more detailed look at the source file
area of the `general workflow figure <#general-workflow-figure>`__: area of the `general workflow figure <#general-workflow-figure>`__:
.. image:: figures/source-input.png
:align: center
Upstream Project Releases Upstream Project Releases
~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -637,6 +649,9 @@ area in the upper-right corner.
This section looks a little closer into the package feeds area used by This section looks a little closer into the package feeds area used by
the build system. Here is a more detailed look at the area: the build system. Here is a more detailed look at the area:
.. image:: figures/package-feeds.png
:align: center
Package feeds are an intermediary step in the build process. The Package feeds are an intermediary step in the build process. The
OpenEmbedded build system provides classes to generate different package OpenEmbedded build system provides classes to generate different package
types, and you specify which classes to enable through the types, and you specify which classes to enable through the
@@ -711,6 +726,9 @@ Source Fetching
The first stages of building a recipe are to fetch and unpack the source The first stages of building a recipe are to fetch and unpack the source
code: code:
.. image:: figures/source-fetching.png
:align: center
The ```do_fetch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-fetch>`__ and The ```do_fetch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-fetch>`__ and
```do_unpack`` <&YOCTO_DOCS_REF_URL;#ref-tasks-unpack>`__ tasks fetch ```do_unpack`` <&YOCTO_DOCS_REF_URL;#ref-tasks-unpack>`__ tasks fetch
the source files and unpack them into the `Build the source files and unpack them into the `Build
@@ -802,6 +820,9 @@ Patching
Once source code is fetched and unpacked, BitBake locates patch files Once source code is fetched and unpacked, BitBake locates patch files
and applies them to the source files: and applies them to the source files:
.. image:: figures/patching.png
:align: center
The ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ task uses a The ```do_patch`` <&YOCTO_DOCS_REF_URL;#ref-tasks-patch>`__ task uses a
recipe's ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ statements recipe's ```SRC_URI`` <&YOCTO_DOCS_REF_URL;#var-SRC_URI>`__ statements
and the ```FILESPATH`` <&YOCTO_DOCS_REF_URL;#var-FILESPATH>`__ variable and the ```FILESPATH`` <&YOCTO_DOCS_REF_URL;#var-FILESPATH>`__ variable
@@ -843,6 +864,9 @@ After source code is patched, BitBake executes tasks that configure and
compile the source code. Once compilation occurs, the files are copied compile the source code. Once compilation occurs, the files are copied
to a holding area (staged) in preparation for packaging: to a holding area (staged) in preparation for packaging:
.. image:: figures/configuration-compile-autoreconf.png
:align: center
This step in the build process consists of the following tasks: This step in the build process consists of the following tasks:
- ```do_prepare_recipe_sysroot`` <&YOCTO_DOCS_REF_URL;#ref-tasks-prepare_recipe_sysroot>`__: - ```do_prepare_recipe_sysroot`` <&YOCTO_DOCS_REF_URL;#ref-tasks-prepare_recipe_sysroot>`__:
@@ -900,6 +924,9 @@ Package Splitting
After source code is configured, compiled, and staged, the build system After source code is configured, compiled, and staged, the build system
analyzes the results and splits the output into packages: analyzes the results and splits the output into packages:
.. image:: figures/analysis-for-package-splitting.png
:align: center
The ```do_package`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package>`__ and The ```do_package`` <&YOCTO_DOCS_REF_URL;#ref-tasks-package>`__ and
```do_packagedata`` <&YOCTO_DOCS_REF_URL;#ref-tasks-packagedata>`__ ```do_packagedata`` <&YOCTO_DOCS_REF_URL;#ref-tasks-packagedata>`__
tasks combine to analyze the files found in the tasks combine to analyze the files found in the
@@ -979,6 +1006,9 @@ Image Generation
Once packages are split and stored in the Package Feeds area, the build Once packages are split and stored in the Package Feeds area, the build
system uses BitBake to generate the root filesystem image: system uses BitBake to generate the root filesystem image:
.. image:: figures/image-generation.png
:align: center
The image generation process consists of several stages and depends on The image generation process consists of several stages and depends on
several tasks and variables. The several tasks and variables. The
```do_rootfs`` <&YOCTO_DOCS_REF_URL;#ref-tasks-rootfs>`__ task creates ```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
Development Kit (SDK) installer scripts for both the standard SDK and Development Kit (SDK) installer scripts for both the standard SDK and
the extensible SDK (eSDK): the extensible SDK (eSDK):
.. image:: figures/sdk-generation.png
:align: center
.. note:: .. note::
For more information on the cross-development toolchain generation, For more information on the cross-development toolchain generation,
@@ -1272,6 +1305,9 @@ the `general workflow figure <#general-workflow-figure>`__ that BitBake
output, in part, consists of images. This section takes a closer look at output, in part, consists of images. This section takes a closer look at
this output: this output:
.. image:: figures/images.png
:align: center
.. note:: .. note::
For a list of example images that the Yocto Project provides, see the 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
(e.g. ``bitbake -c populate_sdk`` imagename). This section takes a (e.g. ``bitbake -c populate_sdk`` imagename). This section takes a
closer look at this output: closer look at this output:
.. image:: figures/sdk.png
:align: center
The specific form of this output is a set of files that includes a The specific form of this output is a set of files that includes a
self-extracting SDK installer (``*.sh``), host and target manifest self-extracting SDK installer (``*.sh``), host and target manifest
files, and files used for SDK testing. When the SDK installer file is files, and files used for SDK testing. When the SDK installer file is
@@ -1450,6 +1489,9 @@ creates these necessary toolchains for you.
The following figure shows a high-level build environment regarding The following figure shows a high-level build environment regarding
toolchain construction and use. toolchain construction and use.
.. image:: figures/cross-development-toolchains.png
:align: center
Most of the work occurs on the Build Host. This is the machine used to Most of the work occurs on the Build Host. This is the machine used to
build images and generally work within the the Yocto Project build images and generally work within the the Yocto Project
environment. When you run environment. When you run
@@ -179,6 +179,9 @@ development:
Yocto Metadata Layers. You can create local copies of Git Yocto Metadata Layers. You can create local copies of Git
repositories for each of these areas. repositories for each of these areas.
.. image:: figures/source-repos.png
:align: center
For steps on how to view and access these upstream Git repositories, For steps on how to view and access these upstream Git repositories,
see the "`Accessing Source see the "`Accessing Source
Repositories <&YOCTO_DOCS_DEV_URL;#accessing-source-repositories>`__" Repositories <&YOCTO_DOCS_DEV_URL;#accessing-source-repositories>`__"
@@ -191,6 +194,9 @@ development:
these files does not produce a local copy of the Git repository but these files does not produce a local copy of the Git repository but
rather a snapshot of a particular release or image. rather a snapshot of a particular release or image.
.. image:: figures/index-downloads.png
:align: center
For steps on how to view and access these files, see the "`Accessing For steps on how to view and access these files, see the "`Accessing
Index of Index of
Releases <&YOCTO_DOCS_DEV_URL;#accessing-index-of-releases>`__" Releases <&YOCTO_DOCS_DEV_URL;#accessing-index-of-releases>`__"
@@ -205,6 +211,9 @@ development:
form. The tarballs are similar to those found in the `Index of form. The tarballs are similar to those found in the `Index of
/releases: <&YOCTO_DL_URL;/releases/>`__ area. /releases: <&YOCTO_DL_URL;/releases/>`__ area.
.. image:: figures/yp-download.png
:align: center
For steps on how to use the "DOWNLOADS" page, see the "`Using the For steps on how to use the "DOWNLOADS" page, see the "`Using the
Downloads Page <&YOCTO_DOCS_DEV_URL;#using-the-downloads-page>`__" Downloads Page <&YOCTO_DOCS_DEV_URL;#using-the-downloads-page>`__"
section in the Yocto Project Development Tasks Manual. section in the Yocto Project Development Tasks Manual.
@@ -285,6 +294,9 @@ develop, test, and submit changes to "contrib" areas for the maintainer
to examine. The maintainer then chooses which changes are going to to examine. The maintainer then chooses which changes are going to
become a permanent part of the project. become a permanent part of the project.
.. image:: figures/git-workflow.png
:align: center
While each development environment is unique, there are some best While each development environment is unique, there are some best
practices or methods that help development run smoothly. The following practices or methods that help development run smoothly. The following
list describes some of these practices. For more information about Git list describes some of these practices. For more information about Git
@@ -21,6 +21,9 @@ comes to delivering embedded software stacks. The project allows
software customizations and build interchange for multiple hardware software customizations and build interchange for multiple hardware
platforms as well as software stacks that can be maintained and scaled. platforms as well as software stacks that can be maintained and scaled.
.. image:: figures/key-dev-elements.png
:align: center
For further introductory information on the Yocto Project, you might be For further introductory information on the Yocto Project, you might be
interested in this interested in this
`article <https://www.embedded.com/electronics-blogs/say-what-/4458600/Why-the-Yocto-Project-for-my-IoT-Project->`__ `article <https://www.embedded.com/electronics-blogs/say-what-/4458600/Why-the-Yocto-Project-for-my-IoT-Project->`__
@@ -704,6 +707,9 @@ Repositories <&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/>`__.
The following figure illustrates what generally comprises Poky: The following figure illustrates what generally comprises Poky:
.. image:: figures/poky-reference-distribution.png
:align: center
- BitBake is a task executor and scheduler that is the heart of the - BitBake is a task executor and scheduler that is the heart of the
OpenEmbedded build system. OpenEmbedded build system.
@@ -784,7 +790,12 @@ The OpenEmbedded Build System Workflow
The `OpenEmbedded build The `OpenEmbedded build
system <&YOCTO_DOCS_REF_URL;#build-system-term>`__ uses a "workflow" to system <&YOCTO_DOCS_REF_URL;#build-system-term>`__ uses a "workflow" to
accomplish image and SDK generation. The following figure overviews that accomplish image and SDK generation. The following figure overviews that
workflow: Following is a brief summary of the "workflow": workflow:
.. image:: figures/YP-flow-diagram.png
:align: center
Following is a brief summary of the "workflow":
1. Developers specify architecture, policies, patches and configuration 1. Developers specify architecture, policies, patches and configuration
details. details.