[gnome-continuous-yocto/gnomeostree-3.28-rocko: 6695/8267] dev-manual, bsp-guide: Moved BSP development workflow section



commit a8c8680f84a9d3496676be4d30c52f90c1c7c1d1
Author: Scott Rifenbark <srifenbark gmail com>
Date:   Wed Jun 28 13:51:27 2017 -0700

    dev-manual, bsp-guide: Moved BSP development workflow section
    
    Fixes [YOCTO #11630]
    
    Moved the section on BSP Development workflow from the dev-manual
    into the bsp-guide.  This procedure needs to live in the BSP
    guide.
    
    Many links had to be fixed.
    
    (From yocto-docs rev: fbf06240f83221929aea237660146e0076207f6a)
    
    Signed-off-by: Scott Rifenbark <srifenbark gmail com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 documentation/Makefile                             |    2 +-
 documentation/bsp-guide/bsp.xml                    |  191 +++++++++++++++++++-
 .../figures/bsp-dev-flow.png                       |  Bin 42751 -> 42751 bytes
 documentation/dev-manual/dev-manual-model.xml      |  186 -------------------
 4 files changed, 190 insertions(+), 189 deletions(-)
---
diff --git a/documentation/Makefile b/documentation/Makefile
index 6a2f22e..3c02a3c 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -88,6 +88,7 @@ ifeq ($(DOC),bsp-guide)
 XSLTOPTS = --xinclude
 ALLPREQ = html eclipse tarball
 TARFILES = bsp-style.css bsp-guide.html figures/bsp-title.png \
+           figures/bsp-dev-flow.png \
            eclipse
 MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
 FIGURES = figures
@@ -128,7 +129,6 @@ TARFILES = dev-style.css dev-manual.html \
            figures/wip.png
         else
 TARFILES = dev-style.css dev-manual.html \
-           figures/bsp-dev-flow.png \
            figures/dev-title.png \
            figures/kernel-dev-flow.png \
            figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 50822db..f452c6e 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -83,8 +83,8 @@
 
             <para>
                 For information on the BSP development workflow, see the
-                "<ulink url='&YOCTO_DOCS_DEV_URL;#developing-a-board-support-package-bsp'>Developing a Board 
Support Package (BSP)</ulink>"
-                section in the Yocto Project Development Manual.
+                "<link linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package 
(BSP)</link>"
+                section.
                 For more information on how to set up a local copy of source files
                 from a Git repository, see the
                 "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working With 
Yocto Project Source Files</ulink>"
@@ -710,6 +710,193 @@
             </section>
         </section>
 
+        <section id='developing-a-board-support-package-bsp'>
+            <title>Developing a Board Support Package (BSP)</title>
+
+            <para>
+                A BSP is a collection of recipes that, when applied during a build, results in
+                an image that you can run on a particular board.
+                Thus, the package when compiled into the new image, supports the operation of the board.
+            </para>
+
+            <note>
+                For a brief list of terms used when describing the development process in the Yocto Project,
+                see the
+                "<ulink url='&YOCTO_DOCS_REF_URL;#yocto-project-terms'>Yocto Project Terms</ulink>" section.
+            </note>
+
+            <para>
+                The remainder of this section presents the basic
+                steps used to create a BSP using the Yocto Project's
+                <link linkend='using-the-yocto-projects-bsp-tools'>BSP Tools</link>.
+                Although not required for BSP creation, the
+                <filename>meta-intel</filename> repository, which contains
+                many BSPs supported by the Yocto Project, is part of the example.
+            </para>
+
+            <para>
+                For an example that shows how to create a new layer using the tools, see the
+                "<link linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP 
Layer Using the yocto-bsp Script</link>"
+                 section.
+            </para>
+
+            <para>
+                The following illustration and list summarize the BSP creation general workflow.
+            </para>
+
+            <para>
+                <imagedata fileref="figures/bsp-dev-flow.png" width="6in" depth="7in" align="center" 
scalefit="1" />
+            </para>
+
+            <para>
+                <orderedlist>
+                    <listitem><para><emphasis>Set up your host development system to support
+                        development using the Yocto Project</emphasis>:  See the
+                        "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distribution</ulink>"
+                        and the
+                        "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" sections 
both
+                        in the Yocto Project Quick Start for requirements.</para></listitem>
+                    <listitem><para><emphasis>Establish a local copy of the project files on your
+                        system</emphasis>:  You need this
+                        <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
+                        available on your host system.
+                        Having these files on your system gives you access to the build
+                        process and to the tools you need.
+                        For information on how to set up the Source Directory,
+                        see the
+                        "<ulink url='&YOCTO_DOCS_DEV_URL;#working-with-yocto-project-source-files'>Working 
With Yocto Project Source Files</ulink>"
+                        section in the Yocto Project Development Manual.
+                        </para></listitem>
+                    <listitem><para><emphasis>Establish the <filename>meta-intel</filename>
+                        repository on your system</emphasis>:  Having local copies
+                        of these supported BSP layers on your system gives you
+                        access to layers you might be able to build on or modify
+                        to create your BSP.
+                        For information on how to get these files, see the
+                        "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-bsp-layers'>Setting Up BSP 
Layers</ulink>"
+                        section in the Yocto Project Development Manual.
+                        </para></listitem>
+                    <listitem><para><emphasis>Create your own BSP layer using the
+                        <link 
linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></link> 
script</emphasis>:
+                        Layers are ideal for
+                        isolating and storing work for a given piece of hardware.
+                        A layer is really just a location or area in which you place
+                        the recipes and configurations for your BSP.
+                        In fact, a BSP is, in itself, a special type of layer.
+                        The simplest way to create a new BSP layer that is compliant with the
+                        Yocto Project is to use the <filename>yocto-bsp</filename> script.
+                        For information about that script, see the
+                        "<link linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New 
BSP Layer Using the yocto-bsp Script</link>"
+                        section.
+                        </para>
+
+                        <para>
+                            Another example that illustrates a layer
+                            is an application.
+                            Suppose you are creating an application that has
+                            library or other dependencies in order for it to
+                            compile and run.
+                            The layer, in this case, would be where all the
+                            recipes that define those dependencies are kept.
+                            The key point for a layer is that it is an isolated
+                            area that contains all the relevant information for
+                            the project that the OpenEmbedded build system knows
+                            about.
+                            For more information on layers, see the
+                            "<ulink 
url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>"
+                            section in the Yocto Project Development Manual.
+                            For more information on BSP layers, see the
+                            "<link linkend='bsp-layers'>BSP Layers</link>"
+                            section.
+                            <note>
+                                <para>
+                                    Five BSPs exist that are part of the Yocto Project release:
+                                    <filename>beaglebone</filename> (ARM),
+                                    <filename>mpc8315e</filename> (PowerPC),
+                                    and <filename>edgerouter</filename> (MIPS).
+                                    The recipes and configurations for these five BSPs
+                                    are located and dispersed within the
+                                    <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source 
Directory</ulink>.
+                                </para>
+
+                                <para>
+                                    Three core Intel BSPs exist as part of the Yocto
+                                    Project release in the
+                                    <filename>meta-intel</filename> layer:
+                                    <itemizedlist>
+                                        <listitem><para><filename>intel-core2-32</filename>,
+                                            which is a BSP optimized for the Core2 family of CPUs
+                                            as well as all CPUs prior to the Silvermont core.
+                                            </para></listitem>
+                                        <listitem><para><filename>intel-corei7-64</filename>,
+                                            which is a BSP optimized for Nehalem and later
+                                            Core and Xeon CPUs as well as Silvermont and later
+                                            Atom CPUs, such as the Baytrail SoCs.
+                                            </para></listitem>
+                                        <listitem><para><filename>intel-quark</filename>,
+                                            which is a BSP optimized for the Intel Galileo
+                                            gen1 &amp; gen2 development boards.
+                                            </para></listitem>
+                                    </itemizedlist>
+                                </para>
+                            </note>
+                        </para>
+
+                        <para>When you set up a layer for a new BSP, you should follow a standard layout.
+                        This layout is described in the
+                        "<link linkend='bsp-filelayout'>Example Filesystem Layout</link>"
+                        section.
+                        In the standard layout, you will notice a suggested structure for recipes and
+                        configuration information.
+                        You can see the standard layout for a BSP by examining
+                        any supported BSP found in the <filename>meta-intel</filename> layer inside
+                        the Source Directory.</para></listitem>
+                    <listitem><para><emphasis>Make configuration changes to your new BSP
+                        layer</emphasis>:  The standard BSP layer structure organizes the files you need
+                        to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
+                        directories within the BSP layer.
+                        Configuration changes identify where your new layer is on the local system
+                        and identify which kernel you are going to use.
+                        When you run the <filename>yocto-bsp</filename> script, you are able to interactively
+                        configure many things for the BSP (e.g. keyboard, touchscreen, and so forth).
+                        </para></listitem>
+                    <listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>:  Recipe
+                        changes include altering recipes (<filename>.bb</filename> files), removing
+                        recipes you do not use, and adding new recipes or append files
+                        (<filename>.bbappend</filename>) that you need to support your hardware.
+                        </para></listitem>
+                    <listitem><para><emphasis>Prepare for the build</emphasis>:  Once you have made all the
+                        changes to your BSP layer, there remains a few things
+                        you need to do for the OpenEmbedded build system in order for it to create your 
image.
+                        You need to get the build environment ready by sourcing an environment setup script
+                        (i.e. <filename>oe-init-build-env</filename> or
+                        <filename>oe-init-build-env-memres</filename>)
+                        and you need to be sure two key configuration files are configured appropriately:
+                        the <filename>conf/local.conf</filename> and the
+                        <filename>conf/bblayers.conf</filename> file.
+                        You must make the OpenEmbedded build system aware of your new layer.
+                        See the
+                        "<ulink url='&YOCTO_DOCS_DEV_URL;#enabling-your-layer'>Enabling Your Layer</ulink>"
+                        section in the Yocto Project Development Manual
+                        for information on how to let the build system know about your new layer.</para>
+                        <para>The entire process for building an image is overviewed in the section
+                        "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" section
+                        of the Yocto Project Quick Start.
+                        You might want to reference this information.</para></listitem>
+                    <listitem><para><emphasis>Build the image</emphasis>:  The OpenEmbedded build system
+                        uses the BitBake tool to build images based on the type of image you want to create.
+                        You can find more information about BitBake in the
+                        <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
+                        </para>
+                        <para>The build process supports several types of images to satisfy different needs.
+                        See the
+                        "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter
+                        in the Yocto Project Reference Manual for information on
+                        supported images.</para></listitem>
+                </orderedlist>
+            </para>
+        </section>
+
         <section id='requirements-and-recommendations-for-released-bsps'>
             <title>Requirements and Recommendations for Released BSPs</title>
 
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml
index d2c84ea..8b9aa4a 100644
--- a/documentation/dev-manual/dev-manual-model.xml
+++ b/documentation/dev-manual/dev-manual-model.xml
@@ -76,192 +76,6 @@
         configuration.
     </para>
 
-    <section id='developing-a-board-support-package-bsp'>
-        <title>Developing a Board Support Package (BSP)</title>
-
-        <para>
-            A BSP is a collection of recipes that, when applied during a build, results in
-            an image that you can run on a particular board.
-            Thus, the package when compiled into the new image, supports the operation of the board.
-        </para>
-
-        <note>
-            For a brief list of terms used when describing the development process in the Yocto Project,
-            see the
-            "<ulink url='&YOCTO_DOCS_REF_URL;#yocto-project-terms'>Yocto Project Terms</ulink>" section.
-        </note>
-
-        <para>
-            The remainder of this section presents the basic
-            steps used to create a BSP using the Yocto Project's
-            <ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>BSP Tools</ulink>.
-            Although not required for BSP creation, the
-            <filename>meta-intel</filename> repository, which contains
-            many BSPs supported by the Yocto Project, is part of the example.
-        </para>
-
-        <para>
-            For an example that shows how to create a new layer using the tools, see the
-            "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating 
a New BSP Layer Using the yocto-bsp Script</ulink>"
-             section in the Yocto Project Board Support Package (BSP) Developer's Guide.
-        </para>
-
-        <para>
-            The following illustration and list summarize the BSP creation general workflow.
-        </para>
-
-        <para>
-            <imagedata fileref="figures/bsp-dev-flow.png" width="6in" depth="7in" align="center" 
scalefit="1" />
-        </para>
-
-        <para>
-            <orderedlist>
-                <listitem><para><emphasis>Set up your host development system to support
-                    development using the Yocto Project</emphasis>:  See the
-                    "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distribution</ulink>"
-                    and the
-                    "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Build Host Packages</ulink>" sections both
-                    in the Yocto Project Quick Start for requirements.</para></listitem>
-                <listitem><para><emphasis>Establish a local copy of the project files on your
-                    system</emphasis>:  You need this
-                    <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>
-                    available on your host system.
-                    Having these files on your system gives you access to the build
-                    process and to the tools you need.
-                    For information on how to set up the Source Directory,
-                    see the
-                    "<link linkend='working-with-yocto-project-source-files'>Working With Yocto Project 
Source Files</link>"
-                    section.
-                    </para></listitem>
-                <listitem><para><emphasis>Establish the <filename>meta-intel</filename>
-                    repository on your system</emphasis>:  Having local copies
-                    of these supported BSP layers on your system gives you
-                    access to layers you might be able to build on or modify
-                    to create your BSP.
-                    For information on how to get these files, see the
-                    "<link linkend='setting-up-bsp-layers'>Setting Up BSP Layers</link>" section.
-                    </para></listitem>
-                <listitem><para><emphasis>Create your own BSP layer using the
-                    <ulink 
url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink>
 script</emphasis>:
-                    Layers are ideal for
-                    isolating and storing work for a given piece of hardware.
-                    A layer is really just a location or area in which you place
-                    the recipes and configurations for your BSP.
-                    In fact, a BSP is, in itself, a special type of layer.
-                    The simplest way to create a new BSP layer that is compliant with the
-                    Yocto Project is to use the <filename>yocto-bsp</filename> script.
-                    For information about that script, see the
-                    "<ulink 
url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using 
the yocto-bsp Script</ulink>"
-                    section in the Yocto Project Board Support (BSP) Developer's Guide.
-                    </para>
-
-                    <para>
-                        Another example that illustrates a layer
-                        is an application.
-                        Suppose you are creating an application that has
-                        library or other dependencies in order for it to
-                        compile and run.
-                        The layer, in this case, would be where all the
-                        recipes that define those dependencies are kept.
-                        The key point for a layer is that it is an isolated
-                        area that contains all the relevant information for
-                        the project that the OpenEmbedded build system knows
-                        about.
-                        For more information on layers, see the
-                        "<link linkend='understanding-and-creating-layers'>Understanding and Creating 
Layers</link>"
-                        section.
-                        For more information on BSP layers, see the
-                        "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
-                        section in the Yocto Project Board Support Package (BSP)
-                        Developer's Guide.
-                        <note>
-                            <para>
-                                Five BSPs exist that are part of the Yocto Project release:
-                                <filename>beaglebone</filename> (ARM),
-                                <filename>mpc8315e</filename> (PowerPC),
-                                and <filename>edgerouter</filename> (MIPS).
-                                The recipes and configurations for these five BSPs
-                                are located and dispersed within the
-                                <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>.
-                            </para>
-
-                            <para>
-                                Three core Intel BSPs exist as part of the Yocto
-                                Project release in the
-                                <filename>meta-intel</filename> layer:
-                                <itemizedlist>
-                                    <listitem><para><filename>intel-core2-32</filename>,
-                                        which is a BSP optimized for the Core2 family of CPUs
-                                        as well as all CPUs prior to the Silvermont core.
-                                        </para></listitem>
-                                    <listitem><para><filename>intel-corei7-64</filename>,
-                                        which is a BSP optimized for Nehalem and later
-                                        Core and Xeon CPUs as well as Silvermont and later
-                                        Atom CPUs, such as the Baytrail SoCs.
-                                        </para></listitem>
-                                    <listitem><para><filename>intel-quark</filename>,
-                                        which is a BSP optimized for the Intel Galileo
-                                        gen1 &amp; gen2 development boards.
-                                        </para></listitem>
-                                </itemizedlist>
-                            </para>
-                        </note>
-                    </para>
-
-                    <para>When you set up a layer for a new BSP, you should follow a standard layout.
-                    This layout is described in the
-                    "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>"
-                    section of the Board Support Package (BSP) Development Guide.
-                    In the standard layout, you will notice a suggested structure for recipes and
-                    configuration information.
-                    You can see the standard layout for a BSP by examining
-                    any supported BSP found in the <filename>meta-intel</filename> layer inside
-                    the Source Directory.</para></listitem>
-                <listitem><para><emphasis>Make configuration changes to your new BSP
-                    layer</emphasis>:  The standard BSP layer structure organizes the files you need
-                    to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
-                    directories within the BSP layer.
-                    Configuration changes identify where your new layer is on the local system
-                    and identify which kernel you are going to use.
-                    When you run the <filename>yocto-bsp</filename> script, you are able to interactively
-                    configure many things for the BSP (e.g. keyboard, touchscreen, and so forth).
-                    </para></listitem>
-                <listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>:  Recipe
-                    changes include altering recipes (<filename>.bb</filename> files), removing
-                    recipes you do not use, and adding new recipes or append files
-                    (<filename>.bbappend</filename>) that you need to support your hardware.
-                    </para></listitem>
-                <listitem><para><emphasis>Prepare for the build</emphasis>:  Once you have made all the
-                    changes to your BSP layer, there remains a few things
-                    you need to do for the OpenEmbedded build system in order for it to create your image.
-                    You need to get the build environment ready by sourcing an environment setup script
-                    (i.e. <filename>oe-init-build-env</filename> or
-                    <filename>oe-init-build-env-memres</filename>)
-                    and you need to be sure two key configuration files are configured appropriately:
-                    the <filename>conf/local.conf</filename> and the
-                    <filename>conf/bblayers.conf</filename> file.
-                    You must make the OpenEmbedded build system aware of your new layer.
-                    See the
-                    "<link linkend='enabling-your-layer'>Enabling Your Layer</link>" section
-                    for information on how to let the build system know about your new layer.</para>
-                    <para>The entire process for building an image is overviewed in the section
-                    "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" section
-                    of the Yocto Project Quick Start.
-                    You might want to reference this information.</para></listitem>
-                <listitem><para><emphasis>Build the image</emphasis>:  The OpenEmbedded build system
-                    uses the BitBake tool to build images based on the type of image you want to create.
-                    You can find more information about BitBake in the
-                    <ulink url='&YOCTO_DOCS_BB_URL;'>BitBake User Manual</ulink>.
-                    </para>
-                    <para>The build process supports several types of images to satisfy different needs.
-                    See the
-                    "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter
-                    in the Yocto Project Reference Manual for information on
-                    supported images.</para></listitem>
-            </orderedlist>
-        </para>
-    </section>
-
     <section id='modifying-the-kernel'>
         <title><anchor id='kernel-spot' />Modifying the Kernel</title>
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]