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. + This file appends your specific changes to the kernel you are using. - 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. + 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. + 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: -linux-bsp-2.6.50/*.patch +meta-crownbay/recipes-kernel/linux/linux-wrs_git.bbappend - - - The above example file contains patches you can apply against the base kernel, from wherever - they may have been obtained. - - + 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. + + + 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. - Finally, this last example file contains kernel configuration information. - - - 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." +