[poky] [PATCH 24/29] documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section.

Scott Rifenbark scott.m.rifenbark at intel.com
Fri Dec 17 08:30:35 PST 2010


I have re-written this section extensively based on a phone call with
Tom Z.

Signed-off-by: Scott Rifenbark <scott.m.rifenbark at intel.com>
---
 documentation/bsp-guide/bsp.xml |   69 ++++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 29 deletions(-)

diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 94dd516..cf9c91f 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -319,46 +319,57 @@ meta-<bsp_name>/recipes-kernel/linux/linux-wrs_git.bbappend
             </programlisting>
 
             <para>
-                These files make up the definition of a kernel to use with this hardware. 
-                In this case, it is a complete self-contained kernel with its own
-                configuration and patches.
-                However, kernels can be shared between many machines as well.
-                Following is an example:
-               <programlisting>
-meta-emenlow/recipes-kernel/linux/linux-bsp_2.6.50.bb
-               </programlisting>
-                This example file is the core kernel recipe that details from where to get the kernel
-                source.
-                All standard source code locations are supported.
-                Consequently, the source could be a release tarball, a git repository, or source included in
-                the directory within the BSP itself.
-            </para>
-            <para>
-                The file then contains information about what patches to apply and how to configure and build them.
-                Because the file can reuse the main Poky kernel build class, the definitions here can 
-                remain very simple.   
+                This file appends your specific changes to the kernel you are using.
             </para>
             <para>
-                <programlisting>
-linux-bsp-2.6.50/*.patch
-                </programlisting>
+                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-<bsp_name>/recipes-kernel/linux</filename>
+                directory.
             </para>
             <para>
-                The above example file contains patches you can apply against the base kernel, from wherever
-                they may have been obtained.
+                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 
+                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:
+                <programlisting>
+meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend
+                </programlisting>
+                The file contains the following:
                 <programlisting>
-meta-emenlow/recipes-kernel/linux/linux-bsp-2.6.50/defconfig-bsp
+FILESEXTRAPATHS := "${THISDIR}/${PN}"
+COMPATIBLE_MACHINE_crownbay = "cronwbay"
+KMACHINE_crownbay = "crownbay"
                 </programlisting>
+                This <filename>.bbappend</filename> 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>
-            <para>
-                Finally, this last example file contains kernel configuration information.
+            <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.
+                <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-<bsp_name>/recipes/linux/linux-yocto-stable</filename>.
             </para>
             <para>
-                Examples of kernel recipes are available in Poky itself, and thus, make these files optional.
-                However, it would be unusual not to have a kernel configuration.
-            </para>
+                 You can find more information about creating a BSP that is based on an existing similar
+                 BSP by reading the "Yocto Project Kernel Architecture and Use Manual."
+            </para></note>
             </section>
 
 <!--            <section id='bsp-filelayout-packages'>
-- 
1.7.0.4




More information about the poky mailing list