From 56b3c79a3e13c93d8f1aa5535e798783a8ef3769 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 28 Jun 2017 15:12:16 -0700 Subject: bsp-guide: Minor introduction rewrite and formatting BSP workflow. (From yocto-docs rev: 697d8ce39a122a33faebf1ab66b6bb16bfab5986) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/bsp-guide/bsp.xml | 271 ++++++++++++++++++++++------------------ 1 file changed, 149 insertions(+), 122 deletions(-) (limited to 'documentation/bsp-guide/bsp.xml') diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index f452c6eaec..dacd077f2d 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml @@ -714,34 +714,25 @@ Developing a Board Support Package (BSP) - A BSP is a collection of recipes that, when applied during a build, results in - an image that you can run on a particular board. - Thus, the package when compiled into the new image, supports the operation of the board. - - - - For a brief list of terms used when describing the development process in the Yocto Project, - see the - "Yocto Project Terms" section. - - - - The remainder of this section presents the basic - steps used to create a BSP using the Yocto Project's + This section contains the high-level procedure you can follow + to create a BSP using the Yocto Project's BSP Tools. Although not required for BSP creation, the meta-intel repository, which contains - many BSPs supported by the Yocto Project, is part of the example. + many BSPs supported by the Yocto Project, is part of the + example. - For an example that shows how to create a new layer using the tools, see the + For an example that shows how to create a new layer using + the tools, see the "Creating a New BSP Layer Using the yocto-bsp Script" section. - The following illustration and list summarize the BSP creation general workflow. + The following illustration and list summarize the BSP + creation general workflow. @@ -750,149 +741,185 @@ - Set up your host development system to support - development using the Yocto Project: See the + + Set Up Your Host Development System to Support + Development Using the Yocto Project: + See the "The Linux Distribution" and the - "The Build Host Packages" sections both - in the Yocto Project Quick Start for requirements. - Establish a local copy of the project files on your - system: You need this + "The Build Host Packages" + sections both in the Yocto Project Quick Start for + build host requirements. + + + Establish a Local Copy of the Project Files on + Your System: + You need this Source Directory available on your host system. - Having these files on your system gives you access to the build - process and to the tools you need. + Having these files on your system gives you access to the + build process and to the tools you need. For information on how to set up the Source Directory, see the "Working With Yocto Project Source Files" section in the Yocto Project Development Manual. - Establish the meta-intel - repository on your system: Having local copies - of these supported BSP layers on your system gives you - access to layers you might be able to build on or modify - to create your BSP. + + Establish the meta-intel + Repository on Your System: + Having local copies of these supported BSP layers on + your system gives you access to layers you might be able + to build on or modify to create your BSP. For information on how to get these files, see the "Setting Up BSP Layers" section in the Yocto Project Development Manual. - Create your own BSP layer using the - yocto-bsp script: - Layers are ideal for - isolating and storing work for a given piece of hardware. - A layer is really just a location or area in which you place - the recipes and configurations for your BSP. + + Create Your Own BSP Layer Using the + yocto-bsp + script: + Layers are ideal for isolating and storing work for a + given piece of hardware. + A layer is really just a location or area in which you + place the recipes and configurations for your BSP. In fact, a BSP is, in itself, a special type of layer. - The simplest way to create a new BSP layer that is compliant with the - Yocto Project is to use the yocto-bsp script. + The simplest way to create a new BSP layer that is + compliant with the Yocto Project is to use the + yocto-bsp script. For information about that script, see the "Creating a New BSP Layer Using the yocto-bsp Script" + section. + + Another example that illustrates a layer + is an application. + Suppose you are creating an application that has + library or other dependencies in order for it to + compile and run. + The layer, in this case, would be where all the + recipes that define those dependencies are kept. + The key point for a layer is that it is an isolated + area that contains all the relevant information for + the project that the OpenEmbedded build system knows + about. + For more information on layers, see the + "Understanding and Creating Layers" + section in the Yocto Project Development Manual. + For more information on BSP layers, see the + "BSP Layers" section. - + Notes + Five BSPs exist that are part of the Yocto + Project release: + beaglebone (ARM), + mpc8315e (PowerPC), + and edgerouter (MIPS). + The recipes and configurations for these five BSPs + are located and dispersed within the + Source Directory. + - - Another example that illustrates a layer - is an application. - Suppose you are creating an application that has - library or other dependencies in order for it to - compile and run. - The layer, in this case, would be where all the - recipes that define those dependencies are kept. - The key point for a layer is that it is an isolated - area that contains all the relevant information for - the project that the OpenEmbedded build system knows - about. - For more information on layers, see the - "Understanding and Creating Layers" - section in the Yocto Project Development Manual. - For more information on BSP layers, see the - "BSP Layers" - section. - - - Five BSPs exist that are part of the Yocto Project release: - beaglebone (ARM), - mpc8315e (PowerPC), - and edgerouter (MIPS). - The recipes and configurations for these five BSPs - are located and dispersed within the - Source Directory. - - - - Three core Intel BSPs exist as part of the Yocto - Project release in the - meta-intel layer: - - intel-core2-32, - which is a BSP optimized for the Core2 family of CPUs - as well as all CPUs prior to the Silvermont core. - - intel-corei7-64, - which is a BSP optimized for Nehalem and later - Core and Xeon CPUs as well as Silvermont and later - Atom CPUs, such as the Baytrail SoCs. - - intel-quark, - which is a BSP optimized for the Intel Galileo - gen1 & gen2 development boards. - - - - - + Three core Intel BSPs exist as part of the Yocto + Project release in the + meta-intel layer: + + + intel-core2-32, + which is a BSP optimized for the Core2 family of CPUs + as well as all CPUs prior to the Silvermont core. + + + intel-corei7-64, + which is a BSP optimized for Nehalem and later + Core and Xeon CPUs as well as Silvermont and later + Atom CPUs, such as the Baytrail SoCs. + + + intel-quark, + which is a BSP optimized for the Intel Galileo + gen1 & gen2 development boards. + + + - When you set up a layer for a new BSP, you should follow a standard layout. + When you set up a layer for a new BSP, you should + follow a standard layout. This layout is described in the "Example Filesystem Layout" section. - In the standard layout, you will notice a suggested structure for recipes and - configuration information. + In the standard layout, you will notice a suggested + structure for recipes and configuration information. You can see the standard layout for a BSP by examining - any supported BSP found in the meta-intel layer inside - the Source Directory. - Make configuration changes to your new BSP - layer: The standard BSP layer structure organizes the files you need - to edit in conf and several recipes-* + any supported BSP found in the + meta-intel layer inside the Source + Directory. + + + Make Configuration Changes to Your New BSP + Layer: + The standard BSP layer structure organizes the files + you need to edit in conf and + several recipes-* directories within the BSP layer. - Configuration changes identify where your new layer is on the local system - and identify which kernel you are going to use. - When you run the yocto-bsp script, you are able to interactively - configure many things for the BSP (e.g. keyboard, touchscreen, and so forth). + Configuration changes identify where your new layer + is on the local system and identify which kernel you + are going to use. + When you run the yocto-bsp script, + you are able to interactively configure many things for + the BSP (e.g. keyboard, touchscreen, and so forth). - Make recipe changes to your new BSP layer: Recipe - changes include altering recipes (.bb files), removing - recipes you do not use, and adding new recipes or append files - (.bbappend) that you need to support your hardware. + + Make Recipe Changes to Your New BSP + Layer: + Recipe changes include altering recipes + (.bb files), removing recipes you + do not use, and adding new recipes or append files + (.bbappend) that you need to + support your hardware. - Prepare for the build: Once you have made all the - changes to your BSP layer, there remains a few things - you need to do for the OpenEmbedded build system in order for it to create your image. - You need to get the build environment ready by sourcing an environment setup script + + Prepare for the Build: + Once you have made all the changes to your BSP layer, + there remains a few things you need to do for the + OpenEmbedded build system in order for it to create + your image. + You need to get the build environment ready by + sourcing an environment setup script (i.e. oe-init-build-env or oe-init-build-env-memres) - and you need to be sure two key configuration files are configured appropriately: - the conf/local.conf and the + and you need to be sure two key configuration + files are configured appropriately: the + conf/local.conf and the conf/bblayers.conf file. - You must make the OpenEmbedded build system aware of your new layer. + You must make the OpenEmbedded build system aware + of your new layer. See the "Enabling Your Layer" section in the Yocto Project Development Manual - for information on how to let the build system know about your new layer. - The entire process for building an image is overviewed in the section + for information on how to let the build system + know about your new layer. + + The entire process for building an image is + overviewed in the section "Building Images" section of the Yocto Project Quick Start. - You might want to reference this information. - Build the image: The OpenEmbedded build system - uses the BitBake tool to build images based on the type of image you want to create. + You might want to reference this information. + + + Build the Image: + The OpenEmbedded build system uses the BitBake tool + to build images based on the type of image you want to + create. You can find more information about BitBake in the BitBake User Manual. - The build process supports several types of images to satisfy different needs. + + The build process supports several types of + images to satisfy different needs. See the - "Images" chapter - in the Yocto Project Reference Manual for information on - supported images. + "Images" + chapter in the Yocto Project Reference Manual for + information on supported images. + -- cgit v1.2.3-54-g00ecf