From 3ad6173f787fa94f32f1517a12c9656525b01172 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 17 Dec 2010 08:30:35 -0800 Subject: documentation/bsp-guide/bsp.xml: Updated Linux Kernel Configuration section. I have re-written this section extensively based on a phone call with Tom Z. Signed-off-by: Scott Rifenbark --- documentation/bsp-guide/bsp.xml | 69 ++++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 29 deletions(-) (limited to 'documentation/bsp-guide') diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 94dd5160a7..cf9c91f4b6 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 - 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: - -meta-emenlow/recipes-kernel/linux/linux-bsp_2.6.50.bb - - 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. - - - 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. - -linux-bsp-2.6.50/*.patch - + For your BSP you typically want to use an existing Poky kernel found in the + Poky repository at meta/recipes-kernel/kernel. + You can append your specific changes to the kernel by using a + .bbappend file, which is located in the + meta-<bsp_name>/recipes-kernel/linux + directory. - 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 linux-yocto-stable_git.bb kernel. + You would use the linux-yocto-stable_git.bbappend file to add + specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. + Consider an example for the existing "crownbay" BSP. + The .bbaappend file used for the "crownbay" BSP is: + +meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend + + The file contains the following: -meta-emenlow/recipes-kernel/linux/linux-bsp-2.6.50/defconfig-bsp +FILESEXTRAPATHS := "${THISDIR}/${PN}" +COMPATIBLE_MACHINE_crownbay = "cronwbay" +KMACHINE_crownbay = "crownbay" + This .bbappend 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. - - Finally, this last example file contains kernel configuration information. + + For an established BSP the configuration information is incorporated directly into the + git tree. + For a new BSP, however, the .bbappend file needs to + include its own set of configuration options in a file called + defconfig located in a directory that matches the recipe name. + +SRC_URI += "file://defconfig" + + Once a BSP is committed, the Yocto kernel maintainer moves this configuration information + into the git tree so that the .bbappend 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 + meta-<bsp_name>/recipes/linux/linux-yocto-stable. - 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. - + 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." +