From ce8c96481ea6aa3a391ac2936af6a472d903c4b4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 21 Mar 2018 09:04:24 -0700 Subject: bsp-guide: Updated BSP terminolgy and BBLAYERS ordering Fixed the way we refer to a BSP name. It is really "meta-" rather than "meta-". The name is the whole string and not just the root name. Also added a tip on ordering the layers in the BBLAYERS variable in the bblayers.conf file. Order is important. (From yocto-docs rev: 9c56238295f5631c496377616ea98b860253e6f7) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/bsp-guide/bsp.xml | 110 ++++++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 49 deletions(-) (limited to 'documentation/bsp-guide/bsp.xml') diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 787dc7bff1..f9455ed861 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml @@ -38,10 +38,10 @@ Although not a strict requirement, BSP layers in the Yocto Project use the following well-established naming convention: - meta-bsp_name + meta-bsp_root_name The string "meta-" is prepended to the machine or platform name, which is - bsp_name in the above form. + bsp_root_name in the above form. Tip Because the BSP layer naming convention is well-established, it is advisable to follow it when creating layers. @@ -99,16 +99,16 @@ The layer's base directory - (meta-bsp_name) - is the root of the BSP Layer. - This root is what you add to the + (meta-bsp_root_name) + is the root directory of the BSP Layer. + This directory is what you add to the BBLAYERS variable in the conf/bblayers.conf file found in the Build Directory, which is established after you run the OpenEmbedded build environment setup script (i.e. &OE_INIT_FILE;). - Adding the root allows the + Adding the root directory allows the OpenEmbedded build system to recognize the BSP layer and from it build an image. Here is an example: @@ -120,22 +120,34 @@ /usr/local/src/yocto/meta-mylayer \ " + Tip + Ordering and + BBFILE_PRIORITY + for the layers listed in BBLAYERS + matter. + For example, if multiple layers define a machine + configuration, the OpenEmbedded build system uses + the last layer searched given similar layer + priorities. + The build system works from the top-down through + the layers listed in BBLAYERS. + - Some BSPs require additional layers on - top of the BSP's root layer in order to be functional. - For these cases, you also need to add those layers to the - BBLAYERS variable in order to build the BSP. - You must also specify in the "Dependencies" section of the BSP's - README file any requirements for additional - layers and, preferably, any - build instructions that might be contained elsewhere - in the README file. + Some BSPs require or depend on additional layers + beyond the BSP's root layer in order to be functional. + In this case, you need to specify these layers in the + README "Dependencies" section of the + BSP's root layer. + Additionally, if any build instructions exist for the + BSP, you must add them to the "Dependencies" section. Some layers function as a layer to hold other BSP layers. + These layers are knows as + "container layers". An example of this type of layer is the meta-intel layer. This layer contains BSP layers for the Intel-core2-32 @@ -365,17 +377,17 @@ realize that the actual file structures for specific BSPs could differ. - meta-bsp_name/ - meta-bsp_name/bsp_license_file - meta-bsp_name/README - meta-bsp_name/README.sources - meta-bsp_name/binary/bootable_images - meta-bsp_name/conf/layer.conf - meta-bsp_name/conf/machine/*.conf - meta-bsp_name/recipes-bsp/* - meta-bsp_name/recipes-core/* - meta-bsp_name/recipes-graphics/* - meta-bsp_name/recipes-kernel/linux/linux-yocto_kernel_rev.bbappend + meta-bsp_root_name/ + meta-bsp_root_name/bsp_license_file + meta-bsp_root_name/README + meta-bsp_root_name/README.sources + meta-bsp_root_name/binary/bootable_images + meta-bsp_root_name/conf/layer.conf + meta-bsp_root_name/conf/machine/*.conf + meta-bsp_root_name/recipes-bsp/* + meta-bsp_root_name/recipes-core/* + meta-bsp_root_name/recipes-graphics/* + meta-bsp_root_name/recipes-kernel/linux/linux-yocto_kernel_rev.bbappend @@ -551,7 +563,7 @@ You can find these files in the BSP Layer at: - meta-bsp_name/bsp_license_file + meta-bsp_root_name/bsp_license_file @@ -583,7 +595,7 @@ You can find this file in the BSP Layer at: - meta-bsp_name/README + meta-bsp_root_name/README @@ -609,7 +621,7 @@ You can find this file in the BSP Layer at: - meta-bsp_name/README.sources + meta-bsp_root_name/README.sources @@ -617,7 +629,7 @@ This file provides information on where to locate the BSP source files used to build the images (if any) that reside in - meta-bsp_name/binary. + meta-bsp_root_name/binary. Images in the binary would be images released with the BSP. The information in the README.sources @@ -639,7 +651,7 @@ You can find these files in the BSP Layer at: - meta-bsp_name/binary/bootable_images + meta-bsp_root_name/binary/bootable_images @@ -677,7 +689,7 @@ You can find this file in the BSP Layer at: - meta-bsp_name/conf/layer.conf + meta-bsp_root_name/conf/layer.conf @@ -692,7 +704,7 @@ In the following example, you would replace bsp with the actual name of the BSP (i.e. - bsp_name from the example + bsp_root_name from the example template). @@ -752,7 +764,7 @@ You can find these files in the BSP Layer at: - meta-bsp_name/conf/machine/*.conf + meta-bsp_root_name/conf/machine/*.conf @@ -819,7 +831,7 @@ You can find these files in the BSP Layer at: - meta-bsp_name/recipes-bsp/* + meta-bsp_root_name/recipes-bsp/* @@ -864,7 +876,7 @@ You can find these files in the BSP Layer at: - meta-bsp_name/recipes-graphics/* + meta-bsp_root_name/recipes-graphics/* @@ -883,8 +895,8 @@ You can find these files in the BSP Layer at: - meta-bsp_name/recipes-kernel/linux/linux*.bbappend - meta-bsp_name/recipes-kernel/linux/*.bb + meta-bsp_root_name/recipes-kernel/linux/linux*.bbappend + meta-bsp_root_name/recipes-kernel/linux/*.bb @@ -907,7 +919,7 @@ kernel recipe by using a similarly named append file, which is located in the BSP Layer for your target device (e.g. the - meta-bsp_name/recipes-kernel/linux directory). + meta-bsp_root_name/recipes-kernel/linux directory). @@ -915,7 +927,7 @@ linux-yocto_4.4.bb recipe to build the kernel. In other words, you have selected the kernel in your - bsp_name.conf + bsp_root_name.conf file by adding PREFERRED_PROVIDER and @@ -930,7 +942,7 @@ default, the PREFERRED_PROVIDER statement does not appear in the - bsp_name.conf file. + bsp_root_name.conf file. You would use the linux-yocto_4.4.bbappend @@ -1308,7 +1320,7 @@ License File: You must include a license file in the - meta-bsp_name + meta-bsp_root_name directory. This license covers the BSP Metadata as a whole. You must specify which license to use since no @@ -1323,7 +1335,7 @@ README File: You must include a README file in the - meta-bsp_name + meta-bsp_root_name directory. See the README @@ -1394,7 +1406,7 @@ binary directory, you must include a README.sources file in the - meta-bsp_name + meta-bsp_root_name directory. This file specifies exactly where you can find the sources used to generate the binary images. @@ -1404,18 +1416,18 @@ You must include a conf/layer.conf file in the - meta-bsp_name + meta-bsp_root_name directory. This file identifies the - meta-bsp_name + meta-bsp_root_name BSP layer as a layer to the build system. Machine Configuration File: You must include one or more - conf/machine/bsp_name.conf + conf/machine/bsp_root_name.conf files in the - meta-bsp_name + meta-bsp_root_name directory. These configuration files define machine targets that can be built using the BSP layer. @@ -1475,7 +1487,7 @@ within a binary/ subdirectory located in the - meta-bsp_name + meta-bsp_root_name directory. If you do include a bootable image as part -- cgit v1.2.3-54-g00ecf