From bd3cd64da32657e12f5e18883782e80f00b6b42c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 5 Jun 2012 14:53:56 -0700 Subject: documentation/bsp-guide/bsp.xml: Updates to requirements section Implemented review feedback from Dave Stewart and Tom Zanussi. (From yocto-docs rev: 774e00d34d2abd466a6d64b4b91f60d87203add4) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/bsp-guide/bsp.xml | 101 ++++++++++++++++++++++++---------------- 1 file changed, 61 insertions(+), 40 deletions(-) (limited to 'documentation') diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 1b5f0f5b2a..e111713285 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml @@ -670,10 +670,12 @@ Before looking at BSP requirements, you should consider the following: - The requirements here assume the base Yocto Project requirements - for the BSP layer are already met. - For example, requirements for working with the - oe-core and standard toolchain layers. + The requirements here assume the BSP layer is a well-formed, "legal" + layer that can be added to the Yocto Project. + For guidelines on creating a Yocto Project layer that meets these base requirements, see the + "BSP Layers" and the + "Understanding + and Creating Layers" in the Yocto Project Development Manual. The requirements in this section apply regardless of how you ultimately package a BSP. You should consult the packaging and distribution guidelines for your @@ -686,7 +688,7 @@ For example, the BSP metadata can be contained within a Git repository and could have a directory structure completely different from what appears in the officially released BSP layer. - No requirement stipulates that specific packages or package + It is not required that specific packages or package modifications exist in the BSP layer, beyond the requirements for general compliance with the Yocto Project. For example, no requirement exists dictating that a specific kernel or @@ -705,9 +707,16 @@ "BSP Layers" section. File System Layout: - In general, the filesystem layout for the BSP layer - should use the same directory names - as listed in recipes.txt. + When possible, use the same directory names in your + BSP layer as listed in the recipes.txt file. + In particular, you should place recipes + (.bb files) and recipe + modifications (.bbappend files) into + recipes-* subdirectories by functional area + as outlined in recipes.txt. + If you cannot find a category in recipes.txt + to fit a particular recipe, you can make up your own + recipe-* subdirectory. You can find recipes.txt in the meta directory of the Yocto @@ -715,13 +724,6 @@ (openembedded-core) found at . - In particular, you should place recipes - (.bb files) and recipe - modifications (.bbappend files) into - recipes-* subdirectories by functional area - as outlined in recipes.txt. - If none of the categories fits a particular recipe, you can - make up your own recipe-* subdirectory. Within any particular recipes-* category, the layout should match what is found in the OpenEmbedded Core Git repository (openembedded-core) @@ -739,11 +741,19 @@ meta-<bsp_name> directory. This license covers the BSP metadata as a whole. You must specify which license to use since there is no - default license if one is not specified. + default license if one is not specified. + See the + COPYING.MIT + file for the Fish River BSP in the meta-fishriver BSP layer + as an example. README File: You must include a README file in the meta-<bsp_name> directory. - At a minimum, the README file should + See the + README + file for the Fish River BSP in the meta-fishriver BSP layer + as an example. + At a minimum, the README file should contain the following: A brief description about the hardware the BSP @@ -779,7 +789,11 @@ meta-<bsp_name> directory. This file specifies exactly where you can find the sources used to generate the binary images contained in the - /binary directory, if present. + /binary directory, if present. + See the + README.sources + file for the Fish River BSP in the meta-fishriver BSP layer + as an example. Layer Configuration File: You must include a conf/layer.conf in the meta-<bsp_name> directory. @@ -814,28 +828,35 @@ Released BSP Recommendations - One recommendation for BSP releases is that they contain - one or more bootable images. - Including bootable images allows users to easily try out the BSP - on their own hardware. - - - - In some cases, it might not be convenient to include a - bootable image. - In this case, you might want to make two versions of the - BSP available: one that contains binary images, and one - that does not. - The version that does not contain bootable images avoids - unnecessary download times for users not interested in the images. - - - - If you need to distribute a BSP and include bootable images or build kernel and - filesystems meant to allow users to boot the BSP for evaluation - purposes, you should put the images and artifacts within a - binary/ subdirectory located in the - meta-<bsp_name> directory. + Following are recommendations for a released BSP that conforms to the + Yocto Project: + + Bootable Images: + BSP releases + can contain one or more bootable images. + Including bootable images allows users to easily try out the BSP + on their own hardware. + In some cases, it might not be convenient to include a + bootable image. + In this case, you might want to make two versions of the + BSP available: one that contains binary images, and one + that does not. + The version that does not contain bootable images avoids + unnecessary download times for users not interested in the images. + + If you need to distribute a BSP and include bootable images or build kernel and + filesystems meant to allow users to boot the BSP for evaluation + purposes, you should put the images and artifacts within a + binary/ subdirectory located in the + meta-<bsp_name> directory. + Use a Yocto Linux Kernel: + Kernel recipes in the BSP should be based on a Yocto Linux kernel. + Basing your recipes on these kernels reduces the costs for maintaining + the BSP and increases its scalability. + See the Yocto Linux Kernel category in the + Yocto Source Repositories + for these kernels. + -- cgit v1.2.3-54-g00ecf