summaryrefslogtreecommitdiffstats
path: root/documentation/overview-manual
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2018-04-26 13:24:13 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-05-24 17:16:28 +0100
commit817625eb241954a8a9ce6735efec40e8f3164301 (patch)
tree26bf1b9db41279530c584449a873908f04bc54d0 /documentation/overview-manual
parentb8492f45faea5b59504635322460073cc456640f (diff)
downloadpoky-817625eb241954a8a9ce6735efec40e8f3164301.tar.gz
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 <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/overview-manual')
-rw-r--r--documentation/overview-manual/figures/layer-input.pngbin45856 -> 170701 bytes
-rw-r--r--documentation/overview-manual/overview-manual-concepts.xml111
2 files changed, 72 insertions, 39 deletions
diff --git a/documentation/overview-manual/figures/layer-input.png b/documentation/overview-manual/figures/layer-input.png
index 0a4f2e74f3..202f23b207 100644
--- a/documentation/overview-manual/figures/layer-input.png
+++ b/documentation/overview-manual/figures/layer-input.png
Binary files 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 @@
580 This section takes a closer look at the layers the build system 580 This section takes a closer look at the layers the build system
581 uses to further control the build. 581 uses to further control the build.
582 These layers provide Metadata for the software, machine, and 582 These layers provide Metadata for the software, machine, and
583 policy. 583 policies.
584 </para> 584 </para>
585 585
586 <para> 586 <para>
587 In general, three types of layer input exist: 587 In general, three types of layer input exists.
588 You can see them below the "User Configuration" box in the
589 <link linkend='general-workflow-figure'>general workflow figure</link>:
588 <itemizedlist> 590 <itemizedlist>
589 <listitem><para> 591 <listitem><para>
590 <emphasis>Policy Configuration:</emphasis> 592 <emphasis>Metadata (<filename>.bb</filename> + Patches):</emphasis>
591 Distribution Layers provide top-level or general 593 Software layers containing user-supplied recipe files,
592 policies for the image or SDK being built. 594 patches, and append files.
593 For example, this layer would dictate whether BitBake 595 A good example of a software layer might be the
594 produces RPM or IPK packages. 596 <ulink url='https://github.com/meta-qt5/meta-qt5'><filename>meta-qt5</filename></ulink>
597 layer from the
598 <ulink url='http://layers.openembedded.org/layerindex/branch/master/layers/'>OpenEmbedded Layer Index</ulink>.
599 This layer is for version 5.0 of the popular
600 <ulink url='https://wiki.qt.io/About_Qt'>Qt</ulink>
601 cross-platform application development framework for
602 desktop, embedded and mobile.
595 </para></listitem> 603 </para></listitem>
596 <listitem><para> 604 <listitem><para>
597 <emphasis>Machine Configuration:</emphasis> 605 <emphasis>Machine BSP Configuration:</emphasis>
598 Board Support Package (BSP) layers provide machine 606 Board Support Package (BSP) layers (i.e. "BSP Layer"
607 in the following figure) providing machine-specific
599 configurations. 608 configurations.
600 This type of information is specific to a particular 609 This type of information is specific to a particular
601 target architecture. 610 target architecture.
611 A good example of a BSP layer from the
612 <link linkend='gs-reference-distribution-poky'>Poky Reference Distribution</link>
613 is the
614 <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-yocto-bsp'><filename>meta-yocto-bsp</filename></ulink>
615 layer.
602 </para></listitem> 616 </para></listitem>
603 <listitem><para> 617 <listitem><para>
604 <emphasis>Metadata:</emphasis> 618 <emphasis>Policy Configuration:</emphasis>
605 Software layers contain user-supplied recipe files, 619 Distribution Layers (i.e. "Distro Layer" in the
606 patches, and append files. 620 following figure) providing top-level or general
621 policies for the images or SDKs being built for a
622 particular distribution.
623 For example, in the Poky Reference Distribution the
624 distro layer is the
625 <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-poky'><filename>meta-poky</filename></ulink>
626 layer.
627 Within the distro layer is a
628 <filename>conf/distro</filename> directory that
629 contains distro configuration files (e.g.
630 <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-poky/conf/distro/poky.conf'><filename>poky.conf</filename></ulink>
631 that contain many policy configurations for the
632 Poky distribution.
607 </para></listitem> 633 </para></listitem>
608 </itemizedlist> 634 </itemizedlist>
609 </para> 635 </para>
610 636
611 <para> 637 <para>
612 The following figure shows an expanded representation of the 638 The following figure shows an expanded representation of
613 Metadata, Machine Configuration, and Policy Configuration input 639 these three layers from the
614 (layers) boxes of the
615 <link linkend='general-workflow-figure'>general workflow figure</link>: 640 <link linkend='general-workflow-figure'>general workflow figure</link>:
616 </para> 641 <imagedata fileref="figures/layer-input.png" align="center" width="816px" depth="1056px" scalefit="1" />
617
618 <para>
619 <imagedata fileref="figures/layer-input.png" align="center" width="8in" depth="7.5in" />
620 </para> 642 </para>
621 643
622 <para> 644 <para>
623 In general, all layers have a similar structure. 645 In general, all layers have a similar structure.
624 They all contain a licensing file 646 They all contain a licensing file
625 (e.g. <filename>COPYING</filename>) if the layer is to be 647 (e.g. <filename>COPYING.MIT</filename>) if the layer is to be
626 distributed, a <filename>README</filename> file as good 648 distributed, a <filename>README</filename> file as good
627 practice and especially if the layer is to be distributed, a 649 practice and especially if the layer is to be distributed, a
628 configuration directory, and recipe directories. 650 configuration directory, and recipe directories.
651 You can learn about the general structure for layers used with
652 the Yocto Project in the
653 "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-your-own-layer'>Creating Your Own Layer</ulink>"
654 section in the Yocto Project Development Tasks Manual.
655 For a general discussion on layers and the many layers from
656 which you can draw, see the
657 "<link linkend='overview-layers'>Layers</link>" and
658 "<link linkend='the-yocto-project-layer-model'>The Yocto Project Layer Model</link>"
659 sections both earlier in this manual.
629 </para> 660 </para>
630 661
631 <para> 662 <para>
632 The Yocto Project has many layers that can be used. 663 If you explored the previous links, you discovered some
633 You can see a web-interface listing of them on the 664 areas where many layers that work with the Yocto Project
665 exist.
666 The
634 <ulink url="http://git.yoctoproject.org/">Source Repositories</ulink> 667 <ulink url="http://git.yoctoproject.org/">Source Repositories</ulink>
635 page. 668 also shows layers categorized under "Yocto Metadata Layers."
636 The layers appear at the bottom categorized under
637 "Yocto Metadata Layers."
638 These layers are fundamentally a subset of the
639 <ulink url="http://layers.openembedded.org/layerindex/layers/">OpenEmbedded Layer Index</ulink>,
640 which lists all layers provided by the OpenEmbedded community.
641 <note> 669 <note>
642 Layers exist in the Yocto Project Source Repositories that 670 Layers exist in the Yocto Project Source Repositories that
643 cannot be found in the OpenEmbedded Layer Index. 671 cannot be found in the OpenEmbedded Layer Index.
@@ -652,12 +680,6 @@
652 should be using as part of the build. 680 should be using as part of the build.
653 </para> 681 </para>
654 682
655 <para>
656 For more information on layers, see the
657 "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>"
658 section in the Yocto Project Development Tasks Manual.
659 </para>
660
661 <section id="distro-layer"> 683 <section id="distro-layer">
662 <title>Distro Layer</title> 684 <title>Distro Layer</title>
663 685
@@ -704,6 +726,16 @@
704 to add distribution-specific configuration, 726 to add distribution-specific configuration,
705 initialization scripts, custom image recipes, 727 initialization scripts, custom image recipes,
706 and so forth. 728 and so forth.
729 Examples of <filename>recipes-*</filename>
730 directories are <filename>recipes-core</filename>
731 and <filename>recipes-extra</filename>.
732 Hierarchy and contents within a
733 <filename>recipes-*</filename> directory can vary.
734 Generally, these directories contain recipe files
735 (<filename>*.bb</filename>), recipe append files
736 (<filename>*.bbappend</filename>), directories
737 that are distro-specific for configuration files,
738 and so forth.
707 </para></listitem> 739 </para></listitem>
708 </itemizedlist> 740 </itemizedlist>
709 </para> 741 </para>
@@ -713,7 +745,8 @@
713 <title>BSP Layer</title> 745 <title>BSP Layer</title>
714 746
715 <para> 747 <para>
716 The BSP Layer provides machine configurations. 748 The BSP Layer provides machine configurations that
749 target specific hardware.
717 Everything in this layer is specific to the machine for 750 Everything in this layer is specific to the machine for
718 which you are building the image or the SDK. 751 which you are building the image or the SDK.
719 A common structure or form is defined for BSP layers. 752 A common structure or form is defined for BSP layers.
@@ -738,8 +771,8 @@
738 The remainder of the layer is dedicated to specific recipes 771 The remainder of the layer is dedicated to specific recipes
739 by function: <filename>recipes-bsp</filename>, 772 by function: <filename>recipes-bsp</filename>,
740 <filename>recipes-core</filename>, 773 <filename>recipes-core</filename>,
741 <filename>recipes-graphics</filename>, and 774 <filename>recipes-graphics</filename>,
742 <filename>recipes-kernel</filename>. 775 <filename>recipes-kernel</filename>, and so forth.
743 Metadata can exist for multiple formfactors, graphics 776 Metadata can exist for multiple formfactors, graphics
744 support systems, and so forth. 777 support systems, and so forth.
745 <note> 778 <note>
@@ -762,8 +795,8 @@
762 </para> 795 </para>
763 796
764 <para> 797 <para>
765 This layer contains any new recipes that your project 798 This layer contains any recipes, append files, and
766 needs in the form of recipe files. 799 patches, that your project needs.
767 </para> 800 </para>
768 </section> 801 </section>
769 </section> 802 </section>