diff --git a/documentation/Makefile b/documentation/Makefile
index 6a2f22e40e..3c02a3c2f0 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -88,6 +88,7 @@ ifeq ($(DOC),bsp-guide)
XSLTOPTS = --xinclude
ALLPREQ = html eclipse tarball
TARFILES = bsp-style.css bsp-guide.html figures/bsp-title.png \
+ figures/bsp-dev-flow.png \
eclipse
MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
FIGURES = figures
@@ -128,7 +129,6 @@ TARFILES = dev-style.css dev-manual.html \
figures/wip.png
else
TARFILES = dev-style.css dev-manual.html \
- figures/bsp-dev-flow.png \
figures/dev-title.png \
figures/kernel-dev-flow.png \
figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml
index 50822db2c2..f452c6eaec 100644
--- a/documentation/bsp-guide/bsp.xml
+++ b/documentation/bsp-guide/bsp.xml
@@ -83,8 +83,8 @@
For information on the BSP development workflow, see the
- "Developing a Board Support Package (BSP)"
- section in the Yocto Project Development Manual.
+ "Developing a Board Support Package (BSP)"
+ section.
For more information on how to set up a local copy of source files
from a Git repository, see the
"Working With Yocto Project Source Files"
@@ -710,6 +710,193 @@
+
+ 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
+ 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.
+
+
+
+ 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.
+
+
+
+
+
+
+
+
+ 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
+ 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.
+ 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.
+ 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.
+ 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.
+ 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.
+
+
+ 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.
+
+
+
+
+
+
+ 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.
+ 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 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
+ (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
+ conf/bblayers.conf file.
+ 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
+ "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 can find more information about BitBake in the
+ BitBake User Manual.
+
+ 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.
+
+
+
+
Requirements and Recommendations for Released BSPs
diff --git a/documentation/dev-manual/figures/bsp-dev-flow.png b/documentation/bsp-guide/figures/bsp-dev-flow.png
similarity index 100%
rename from documentation/dev-manual/figures/bsp-dev-flow.png
rename to documentation/bsp-guide/figures/bsp-dev-flow.png
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml
index d2c84eae03..8b9aa4a223 100644
--- a/documentation/dev-manual/dev-manual-model.xml
+++ b/documentation/dev-manual/dev-manual-model.xml
@@ -76,192 +76,6 @@
configuration.
-
- 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
- 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.
-
-
-
- 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 in the Yocto Project Board Support Package (BSP) Developer's Guide.
-
-
-
- The following illustration and list summarize the BSP creation general workflow.
-
-
-
-
-
-
-
-
- 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
- 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.
- For information on how to set up the Source Directory,
- see the
- "Working With Yocto Project Source Files"
- section.
-
- 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.
-
- 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.
- For information about that script, see the
- "Creating a New BSP Layer Using the yocto-bsp Script"
- section in the Yocto Project Board Support (BSP) Developer's Guide.
-
-
-
- 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.
- For more information on BSP layers, see the
- "BSP Layers"
- section in the Yocto Project Board Support Package (BSP)
- Developer's Guide.
-
-
- 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.
-
-
-
-
-
-
- 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 of the Board Support Package (BSP) Development Guide.
- 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-*
- 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 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
- (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
- conf/bblayers.conf file.
- You must make the OpenEmbedded build system aware of your new layer.
- See the
- "Enabling Your Layer" 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 can find more information about BitBake in the
- BitBake User Manual.
-
- 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.
-
-
-
-
Modifying the Kernel