From 817625eb241954a8a9ce6735efec40e8f3164301 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 26 Apr 2018 13:24:13 -0700 Subject: overview-manual, mega-manual: Updates to layers discussion for build flow The "Metadata, Machine Configuratrion, and Policy Configuration" section discusses the three types of layers fed into the OpenEmbedded build system workflow figure. I updated the figures and text supporting this discussion. The figure had to be moved to the mega-manual/figures folder also. (From yocto-docs rev: 39dd671333f7b3df616920aab08e01c926deca1c) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/mega-manual/figures/layer-input.png | Bin 45856 -> 170701 bytes .../overview-manual/figures/layer-input.png | Bin 45856 -> 170701 bytes .../overview-manual/overview-manual-concepts.xml | 111 +++++++++++++-------- 3 files changed, 72 insertions(+), 39 deletions(-) diff --git a/documentation/mega-manual/figures/layer-input.png b/documentation/mega-manual/figures/layer-input.png index 0a4f2e74f3..202f23b207 100644 Binary files a/documentation/mega-manual/figures/layer-input.png and b/documentation/mega-manual/figures/layer-input.png differ diff --git a/documentation/overview-manual/figures/layer-input.png b/documentation/overview-manual/figures/layer-input.png index 0a4f2e74f3..202f23b207 100644 Binary files a/documentation/overview-manual/figures/layer-input.png and b/documentation/overview-manual/figures/layer-input.png differ diff --git a/documentation/overview-manual/overview-manual-concepts.xml b/documentation/overview-manual/overview-manual-concepts.xml index b8d1fa2b92..ee9877e4f8 100644 --- a/documentation/overview-manual/overview-manual-concepts.xml +++ b/documentation/overview-manual/overview-manual-concepts.xml @@ -580,64 +580,92 @@ This section takes a closer look at the layers the build system uses to further control the build. These layers provide Metadata for the software, machine, and - policy. + policies. - In general, three types of layer input exist: + In general, three types of layer input exists. + You can see them below the "User Configuration" box in the + general workflow figure: - Policy Configuration: - Distribution Layers provide top-level or general - policies for the image or SDK being built. - For example, this layer would dictate whether BitBake - produces RPM or IPK packages. + Metadata (.bb + Patches): + Software layers containing user-supplied recipe files, + patches, and append files. + A good example of a software layer might be the + meta-qt5 + layer from the + OpenEmbedded Layer Index. + This layer is for version 5.0 of the popular + Qt + cross-platform application development framework for + desktop, embedded and mobile. - Machine Configuration: - Board Support Package (BSP) layers provide machine + Machine BSP Configuration: + Board Support Package (BSP) layers (i.e. "BSP Layer" + in the following figure) providing machine-specific configurations. This type of information is specific to a particular target architecture. + A good example of a BSP layer from the + Poky Reference Distribution + is the + meta-yocto-bsp + layer. - Metadata: - Software layers contain user-supplied recipe files, - patches, and append files. + Policy Configuration: + Distribution Layers (i.e. "Distro Layer" in the + following figure) providing top-level or general + policies for the images or SDKs being built for a + particular distribution. + For example, in the Poky Reference Distribution the + distro layer is the + meta-poky + layer. + Within the distro layer is a + conf/distro directory that + contains distro configuration files (e.g. + poky.conf + that contain many policy configurations for the + Poky distribution. - The following figure shows an expanded representation of the - Metadata, Machine Configuration, and Policy Configuration input - (layers) boxes of the + The following figure shows an expanded representation of + these three layers from the general workflow figure: - - - - + In general, all layers have a similar structure. They all contain a licensing file - (e.g. COPYING) if the layer is to be + (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 distributed, a configuration directory, and recipe directories. + You can learn about the general structure for layers used with + the Yocto Project in the + "Creating Your Own Layer" + section in the Yocto Project Development Tasks Manual. + For a general discussion on layers and the many layers from + which you can draw, see the + "Layers" and + "The Yocto Project Layer Model" + sections both earlier in this manual. - The Yocto Project has many layers that can be used. - You can see a web-interface listing of them on the + If you explored the previous links, you discovered some + areas where many layers that work with the Yocto Project + exist. + The Source Repositories - page. - The layers appear at the bottom categorized under - "Yocto Metadata Layers." - These layers are fundamentally a subset of the - OpenEmbedded Layer Index, - which lists all layers provided by the OpenEmbedded community. + also shows layers categorized under "Yocto Metadata Layers." Layers exist in the Yocto Project Source Repositories that cannot be found in the OpenEmbedded Layer Index. @@ -652,12 +680,6 @@ should be using as part of the build. - - For more information on layers, see the - "Understanding and Creating Layers" - section in the Yocto Project Development Tasks Manual. - -
Distro Layer @@ -704,6 +726,16 @@ to add distribution-specific configuration, initialization scripts, custom image recipes, and so forth. + Examples of recipes-* + directories are recipes-core + and recipes-extra. + Hierarchy and contents within a + recipes-* directory can vary. + Generally, these directories contain recipe files + (*.bb), recipe append files + (*.bbappend), directories + that are distro-specific for configuration files, + and so forth. @@ -713,7 +745,8 @@ BSP Layer - The BSP Layer provides machine configurations. + The BSP Layer provides machine configurations that + target specific hardware. Everything in this layer is specific to the machine for which you are building the image or the SDK. A common structure or form is defined for BSP layers. @@ -738,8 +771,8 @@ The remainder of the layer is dedicated to specific recipes by function: recipes-bsp, recipes-core, - recipes-graphics, and - recipes-kernel. + recipes-graphics, + recipes-kernel, and so forth. Metadata can exist for multiple formfactors, graphics support systems, and so forth. @@ -762,8 +795,8 @@ - This layer contains any new recipes that your project - needs in the form of recipe files. + This layer contains any recipes, append files, and + patches, that your project needs.
-- cgit v1.2.3-54-g00ecf