diff --git a/documentation/kernel-manual/kernel-how-to.xml b/documentation/kernel-manual/kernel-how-to.xml
index e21d1137dd..711291326b 100644
--- a/documentation/kernel-manual/kernel-how-to.xml
+++ b/documentation/kernel-manual/kernel-how-to.xml
@@ -1008,12 +1008,19 @@ That's it. Configure and build.
Creating a BSP Based on an Existing Similar BSP
- This section provides an example for creating a BSP
- that is based on an existing, and hopefully, similar
- one. It assumes you will be using a local kernel
- repository and will be pointing the kernel recipe at
- that. Follow these steps and keep in mind your
- particular situation and differences:
+ This section provides an example for creating a BSP that is based on an existing, and hopefully,
+ similar one.
+ The example assumes you will be using a local kernel repository and you will be pointing the
+ kernel recipes at that repository.
+ Follow the steps in this section and keep in mind your particular situation and differences.
+
+
+
+
+ If you are interested in a more detailed example with complete transcripts showing how to
+ create a BSP that is based on an existing similar BSP, see the information on the wiki
+ page at .
+
@@ -1058,27 +1065,37 @@ That's it. Configure and build.
Copy the "emenlow" BSP layer to a new BSP layer named
meta-mymachine.
Now you have two identical BSP layers ‐ but with different names.
- This example assumes you only need to change some machine
- configurations and inform the Yocto Project build process of the new layer.
- Consequently, modify the new layer's structure so that all it contains
- is the linux-yocto_git.bbappend file in the
- meta-mymachine/recipes-kernel/linux directory
- and the emenlow.conf configuration file in the
- meta-mymachine/conf/machine directory as well as the
- layer.conf file in the parent conf directory.
- .
+ This example assumes the hardware for your new BSP is very similar to
+ the hardware used for meta-emenlow.
+ And, you only need to change some machine configurations and inform the Yocto Project build
+ process of the new layer.
+ Consequently, you just need to modify some files in the the new layer so that the Yocto Project
+ build process uses the recipes and configurations in the new layer.
+ Since you are basing your new layer on a copied existing layer you need to be sure to rename
+ any directories named "emenlow" to "mymachine".
+ There is one in the recipes-bsp directory and one in the
+ recipes-graphics directory..
+ In the recipes-graphics directory make sure you locate and
+ change all occurences of "emenlow" to "mymachine".
+ Several instances exist.
Rename the emenlow.conf file to mymachine.conf
and fix or remove any configurations.
You need to be sure that "mymachine" replaces "emenlow".
Note also that "linux-yocto" is the kernel specified in the configuration file.
Make sure the Yocto Project build process knows about the new BSP
- layer by adding the layer to the bblayers.conf configuration
+ layer by adding the pathname to the new layer to the bblayers.conf configuration
file located in the Yocto Project build tree at build/conf/bblayers.conf.
Adding the layer allows Bitbake to find the new layer.
-
+
+
+ The above example creates a BSP layer named meta-mymachine that is
+ functionally identical to the BSP layer on which it was based - meta-emenlow.
+ In a real-world scenario you would need to differentiate features and configurations to enable
+ your "similar" BSP layer to work on your target hardware.
+
-
+
Create a machine branch for your machine in a the Yocto Project git repository.
@@ -1090,7 +1107,7 @@ That's it. Configure and build.
Then, create a local clone of that bare clone.
Here are the commands:
- $ git clone --bare git://git.yoctoproject.org/linux-yocto-2.6.37.git linux-yocto-2.6.37.git
+ $ git clone ‐‐bare git://git.yoctoproject.org/linux-yocto-2.6.37.git linux-yocto-2.6.37.git
$ git clone linux-yocto-2.6.37.git linux-yocto-2.6.37
@@ -1106,7 +1123,7 @@ That's it. Configure and build.
In your new layer you need to edit the linux-yocto_git.bbappend
file so that the compatible machine is "mymachine".
- It is also convenient point to a cloned Yocto Project git repository that is local
+ It is also convenient to point to a cloned Yocto Project git repository that is local
to your system for development purposes.
Thus, change the linux-yocto_git.bbappend file in your
meta-mymachine layer to the following:
@@ -1148,7 +1165,7 @@ That's it. Configure and build.
You should now be able to build and boot an image with the new kernel:
- $ bitbake core-image-sato-live
+ $ bitbake -k core-image-sato-live
@@ -1173,12 +1190,11 @@ That's it. Configure and build.
CONFIG_LOG_BUF_SHIFT=18
+
These configuration fragments could then be picked up and
applied to the kernel .config by appending them to the kernel SRC_URI:
-
-
SRC_URI_append_mymachine = " file://some.cfg \
file://other.cfg \
@@ -1222,10 +1238,10 @@ That's it. Configure and build.
For example, in this case, commit the patch to the "yocto/standard/mymachine" branch, and during the
next build it is applied from there.
-
-
+
+
Creating a BSP Based on an Existing Similar BSP Without a Local Kernel Repository