From fb71e5092af10f7be6d622a48efd63c873a3895c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 14 Jul 2011 06:51:37 -0700 Subject: documentation/kernel-manual/kernel-how-to.xml: Partial - more general edits (From yocto-docs rev: 60d084a5b17bf78fafd8a4d13b9055093fca708a) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/kernel-manual/kernel-how-to.xml | 66 +++++++++++++++++---------- 1 file changed, 41 insertions(+), 25 deletions(-) (limited to 'documentation/kernel-manual') 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 -- cgit v1.2.3-54-g00ecf