All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Rifenbark <scott.m.rifenbark@intel.com>
To: poky@yoctoproject.org
Subject: [PATCH 26/29] documentation/bsp-guide/bsp.xml: Updated the Linux Kernel Configuration section
Date: Fri, 17 Dec 2010 14:53:40 -0800	[thread overview]
Message-ID: <222a10c9a43ecebd9a17c51b8dbaf7e2a0aea738.1292876262.git.scott.m.rifenbark@intel.com> (raw)
In-Reply-To: <cover.1292876262.git.scott.m.rifenbark@intel.com>

These changes are another round of edits from Tom Z.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
---
 documentation/bsp-guide/bsp.xml |   89 +++++++++++++++++++++++++++-----------
 1 files changed, 63 insertions(+), 26 deletions(-)

diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 75640cc..ff8a481 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -324,21 +324,22 @@ meta-&lt;bsp_name&gt;/recipes-kernel/linux/linux-wrs_git.bbappend
             <para>
                 For your BSP you typically want to use an existing Poky kernel found in the 
                 Poky repository at <filename class='directory'>meta/recipes-kernel/kernel</filename>.
-                You can append your specific changes to the kernel by using a 
-                <filename>.bbappend</filename> file, which is located in the 
-                <filename class='directory'>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename>
+                You can append your specific changes to the kernel recipe by using an append file, 
+                which is located in the 
+                <filename class='directory'>meta-&lt;bsp_name&gt;/recipes-kernel/linux</filename> 
                 directory.
             </para>
             <para>
-                Consider a BSP that uses the <filename>linux-yocto-stable_git.bb</filename> kernel.
-                You would use the <filename>linux-yocto-stable_git.bbappend</filename> file to add 
+                Consider a BSP that uses the <filename>linux-yocto-stable_git.bb</filename> kernel, 
+                which is the preferred kernel to use for developing a new BSP using the Yocto Project.
+                You would use the <filename>linux-yocto-stable_git.bbappend</filename> file to append 
                 specific BSP settings to the kernel, thus configuring the kernel for your particular BSP.
             </para>
             <para>
                 Consider an example for the existing "crownbay" BSP.
-                The <filename>.bbaappend</filename> file used for the "crownbay" BSP is:
+                The append file used for the "crownbay" BSP is:
                 <programlisting>
-meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend
+meta-crownbay/recipes-kernel/linux/linux-yocto-stable_git.bbappend
                 </programlisting>
                 The file contains the following:
                 <programlisting>
@@ -346,31 +347,67 @@ FILESEXTRAPATHS := "${THISDIR}/${PN}"
 COMPATIBLE_MACHINE_crownbay = "cronwbay"
 KMACHINE_crownbay = "crownbay"
                 </programlisting>
-                This <filename>.bbappend</filename> file adds "crownbay" as a compatible machine,
+                This append file adds "crownbay" as a compatible machine,
                 and additionally sets a Yocto Kernel-specific variable that identifies the name of the 
                 BSP branch to use in the GIT repository to find configuration information.
             </para>
-            <note><para>
-                For an established BSP the configuration information is incorporated directly into the 
-                git tree.
-                For a new BSP, however, the <filename>.bbappend</filename> file needs to 
-                include its own set of configuration options in a file called 
-                <filename>defconfig</filename> located in a directory that matches the recipe name.
+            <para>
+                One thing missing in this particular BSP, which you will typically need when 
+                developing a BSP, is the kernel configuration (.config) for your BSP.
+                When developing a BSP, you probably have a kernel configuration file or a set of kernel
+                configuration files that, when taken together, define the kernel configuration for your BSP.
+                You can accomplish this definition by putting the configurations in a file or a set of files 
+                inside a directory located at the same level as your append file and having the same name 
+                as the kernel.
+                With all these conditions met simply reference those files in a SRC_URI statement in the append 
+                file.
+            </para>
+            <para>
+                For example, suppose you had a set of configuration options in a file called 
+                <filename>defonfig</filename>.  
+                If you put that file inside a directory named 
+                <filename class='directory'>/linux-yocto-stable_git</filename> and then added 
+                a SRC_URI statement such as the following to the append file, those configuration
+                options will be picked up and applied when the kernel is built.
                 <programlisting>
 SRC_URI += "file://defconfig"
                 </programlisting>
-                Once a BSP is committed, the Yocto kernel maintainer moves this configuration information
-                into the git tree so that the <filename>.bbappend</filename> file does not need to locate
-                its own configuration options.
-                Again, the initial configuration options using the SRC_URI are put into a 
-                directory named 
-                <filename class='directory'>meta-&lt;bsp_name&gt;/recipes/linux/linux-yocto-stable</filename>.
-            </para>
-            <para>
-                 You can find more information about creating a BSP that is based on an existing similar
-                 BSP by reading the "Creating a BSP Based on an Existing Similar BSP" section in the 
-                 "<ulink url="http://www.yoctoproject.org/community/documentation">Yocto Project
-                 Kernel Architecture and Use Manual</ulink>".
+            </para>
+            <para>
+                As mentioned earlier, you can group related configurations into multiple files and 
+                name them all in the SRC_URI statement as well.
+                For example, you could group separate configurations specifically for ethernet and graphics
+                into their own files and add those by using a SRC_URI statement like the 
+                following in your append file:
+                <programlisting>
+SRC_URI += "file://defconfig \
+            file://eth.cfg \
+            file://gfx.cfg"
+                </programlisting>
+            </para>
+            <para>
+                The FILESEXTRAPATHS variable is boilerplated here in order to make it easy to do that.
+                It basically allows those configuration files to be found by the build process.
+            </para>
+            <note><para>
+                Other methods exist to accomplish grouping and defining configuration options.
+                For example, you could directly add configuration options to the Yocto kernel 
+                <filename class='directory'>wrs_meta</filename> branch for your BSP.
+                The configuration options will likely end up in that location anyway if the BSP gets 
+                added to the Yocto Project. 
+                For information on how to add these configurations directly, see the 
+                "Yocto Project Kernel Architecture and Use Manual" on the 
+                <ulink url="http://yoctoproject.org/community/documentation">Yocto Project website
+                Documentation Page</ulink> 
+            </para>
+            <para>
+                In general, however, the Yocto Project maintainers take care of moving the SRC_URI-specified 
+                configuration options to the <filename class='directory'>wrs_meta</filename> branch.
+                Not only is it easier for BSP developers to not have to worry about putting those 
+                configurations in the branch, but having the manintainers do it allows them to apply 
+                'global' knowledge about the kinds of common configuration options multiple BSPs in 
+                the tree are typically using.  
+                This allows for promotion of common configurations into common features.
             </para></note>
             </section>
 
-- 
1.7.0.4



  parent reply	other threads:[~2010-12-20 20:24 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-20 20:17 [PATCH 00/29] Docs - BSP Guide Updates for changes to the BSP template Scott Rifenbark
2010-12-15  0:45 ` [PATCH 01/29] documentation/bsp-guide/bsp.xml: Changed meta naming convention Scott Rifenbark
2010-12-15  0:54 ` [PATCH 02/29] documentation/bsp-guide/bsp.xml: Added note qualifying BSP file structure Scott Rifenbark
2010-12-15  0:56 ` [PATCH 03/29] documentation/bsp-guide/bsp.xml: Fixed typo Scott Rifenbark
2010-12-15  1:03 ` [PATCH 04/29] documentation/bsp-guide/bsp.xml: Added information about /binary Scott Rifenbark
2010-12-15  1:08 ` [PATCH 05/29] documentation/bsp-guide/bsp.xml: Created better BSP example base names Scott Rifenbark
2010-12-15 17:28 ` [PATCH 06/29] documentation/bsp-guide/bsp.xml: Inserted text before the file structure example Scott Rifenbark
2010-12-15 20:31 ` [PATCH 07/29] documentation/bsp-guide/bsp.xml: Updated common form for file structure Scott Rifenbark
2010-12-15 20:46 ` [PATCH 08/29] documentation/bsp-work/bsp.xml: Added crownbay BSP example to section 1.1 Scott Rifenbark
2010-12-15 20:56 ` [PATCH 09/29] documentation/bsp-guide/bsp.xml: Updated the introductary paragraph to the sections Scott Rifenbark
2010-12-15 21:11 ` [PATCH 10/29] documentation/bsp-guide/bsp.xml: Added new "License Files" section Scott Rifenbark
2010-12-15 21:19 ` [PATCH 11/29] documentation/bsp-guide/bsp.xml: Added the README section Scott Rifenbark
2010-12-15 21:26 ` [PATCH 12/29] documentation/bsp-guide/bsp.xml: Updated the Pre-built User Binaries section Scott Rifenbark
2010-12-15 21:40 ` [PATCH 13/29] documenation/bsp-guide/bsp.xml: Updated the Layer Configuration File section Scott Rifenbark
2010-12-15 22:00 ` [PATCH 14/29] documentation/bsp-guide/bsp.xml: Updated the Hardware Configuration Options section Scott Rifenbark
2010-12-15 22:13 ` [PATCH 15/29] documentation/bsp-guide/bsp.xml: Added a Miscellaneous Recipe Files section Scott Rifenbark
2010-12-15 22:15 ` [PATCH 16/29] documentation/bsp-guide/bsp.xml: Removed the recipes-bsp/formfactor directory from the common structure Scott Rifenbark
2010-12-15 22:25 ` [PATCH 17/29] documentation/bsp-guide/bsp.xml: Added a Display Support Files section Scott Rifenbark
2010-12-15 22:29 ` [PATCH 18/29] documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section Scott Rifenbark
2010-12-15 22:31 ` [PATCH 19/29] documentation/bsp-guide/bsp.xml: Commented out three sections Scott Rifenbark
2010-12-15 22:37 ` [PATCH 20/29] documentation/bsp-guide/bsp.xml: Changed numbering scheme Scott Rifenbark
2010-12-16 21:39 ` [PATCH 21/29] documentation/bsp-guide/bsp.xml: Updated Layer Configuration File Section Scott Rifenbark
2010-12-16 21:54 ` [PATCH 22/29] documentation/bsp-guild/bsp.xml: Updated Miscellaneous Recipe Files section Scott Rifenbark
2010-12-16 21:58 ` [PATCH 23/29] documentation/bsp-guide/bsp.xml: Updated Display Support " Scott Rifenbark
2010-12-17 16:30 ` [PATCH 24/29] documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section Scott Rifenbark
2010-12-17 16:52 ` [PATCH 25/29] documentation/bsp-guide/bsp.xml: Added reference to Kernel documentation Scott Rifenbark
2010-12-17 22:53 ` Scott Rifenbark [this message]
2010-12-18  0:29 ` [PATCH 27/29] documentation/bsp-guide/bsp.xml: replaced the append file line in the template Scott Rifenbark
2010-12-18  0:53 ` [PATCH 28/29] documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section Scott Rifenbark
2010-12-18  0:59 ` [PATCH 29/29] documentation/bsp-guide/bsp.xml: Spell checked the file Scott Rifenbark
2010-12-21  7:28 ` [PATCH 00/29] Docs - BSP Guide Updates for changes to the BSP template Saul Wold
2010-12-21 12:51 ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=222a10c9a43ecebd9a17c51b8dbaf7e2a0aea738.1292876262.git.scott.m.rifenbark@intel.com \
    --to=scott.m.rifenbark@intel.com \
    --cc=poky@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.