From c8b2ba7523afd1611e7afb3d83b6df5c3df8326f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Thu, 8 Mar 2018 11:15:51 -0800 Subject: bsp-guide: Updated the section on developing a BSP This section had several out-of-date items. They are all up to date now. (From yocto-docs rev: 247f3eceeccc645a1b556aea433d4cf66399e962) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/bsp-guide/bsp.xml | 205 +++++++++++++++++++++++----------------- 1 file changed, 117 insertions(+), 88 deletions(-) (limited to 'documentation/bsp-guide/bsp.xml') diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 3cb52e20d5..45905f8b6b 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml @@ -944,18 +944,18 @@ Developing a Board Support Package (BSP) - This section contains the high-level procedure you can follow - 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. + meta-intel repository, which + contains 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 bitbake-layers Script" section. @@ -972,37 +972,40 @@ - Set up Your Host Development System to Support - Development Using the Yocto Project: + Set up Your Host Development System + to Support Development Using the Yocto + Project: See the - "Setting Up to Use the Yocto Project" - section in the Yocto Project Quick Start for options on how - to get a build host ready to use the Yocto Project. + "Setting Up the Development Host to Use the Yocto Project" + section in the Yocto Project Development Tasks + Manual for options on how to get a system ready + to use the Yocto Project. - Establish the meta-intel + 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. + Having local copies of these supported BSP layers + on your system gives you access to layers you + might be able to leverage when creating your BSP. For information on how to get these files, see the "Preparing Your Build Host to Work with BSP Layers" section. Create Your Own BSP Layer Using the - yocto-bsp - script: - Layers are ideal for isolating and storing work for a - given piece of hardware. + bitbake-layers + 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. + bitbake-layers script. For information about that script, see the - "Creating a New BSP Layer Using the yocto-bsp Script" + "Creating a New BSP Layer Using the bitbake-layers Script" section. Another example that illustrates a layer @@ -1012,91 +1015,123 @@ 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. + 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 + "The Yocto Project Layer Model" + section in the Getting Started With Yocto Project + Manual. + You can also reference the "Understanding and Creating Layers" - section in the Yocto Project Development Tasks Manual. + section in the Yocto Project Development Tasks + 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. - - - 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. + Five hardware reference BSPs exist + that are part of the Yocto Project release + and are located in the + poky/meta-yocto-bsp BSP + layer: + + + Texas Instruments Beaglebone + (beaglebone-yocto + + + Freescale MPC8315E-RDB + (mpc8315e-rdb) + + + Ubiquiti Networks EdgeRouter Lite + (edgerouter) + + + Two general IA platforms + (genericx86 and + genericx86-64) + + - 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. + 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. + + - - 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. - You can see the standard layout for a BSP by examining - any supported BSP found in the - meta-intel layer inside the Source - Directory. + In the standard layout, notice the 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-* - 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). + 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 identifies the + kernel you are going to use. + When you run the + bitbake-layers 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. + (*.bb files), removing + recipes you do not use, and adding new recipes + or append files (.bbappend) + that 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. + 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) @@ -1110,13 +1145,7 @@ "Enabling Your Layer" section in the Yocto Project Development Tasks 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 - "Building Images" section - of the Yocto Project Quick Start. - You might want to reference this information. + know about your new layer. Build the Image: -- cgit v1.2.3-54-g00ecf