From e7134d50f3b47849e62bb47618e3a4349721346c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 3 Oct 2012 13:20:12 -0700 Subject: documentation: dev-manual - Updated BSP flow overview. This section now points into the BSP Guide where it talks about using the yocto-bsp script to create a BSP. The prior method was by hand and described in an appendix (A) of the YP Development Manual. FYI - this results in the removal of Appendex A in a future commit. (From yocto-docs rev: 5e1c44b1768b79dd1447ea47461b84248bd2111f) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-manual-model.xml | 75 +++++++++++----------- documentation/dev-manual/figures/bsp-dev-flow.png | Bin 57479 -> 56047 bytes 2 files changed, 37 insertions(+), 38 deletions(-) (limited to 'documentation') diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index d75b21ddde..d23c347710 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml @@ -13,10 +13,12 @@ System Development: System Development covers Board Support Package (BSP) development and kernel modification or configuration. - If you want to examine specific examples of the system development models, - see the "BSP Development Example" - appendix and the - "Kernel Modification Example" appendix. + If you want to examine a specific example of the kernel modification and + configuration model, + see the "Kernel Modification Example" appendix. + For an example on how to create a BSP, see the + "Creating a New BSP Layer Using the yocto-bsp Script" + section in the Yocto Project Board Support Package (BSP) Developer's Guide. User Application Development: User Application Development covers development of applications that you intend @@ -80,9 +82,11 @@ The remainder of this section presents the basic steps used to create a BSP - based on an existing BSP that ships with the Yocto Project. - You can reference the "BSP Development Example" - appendix for a detailed example that uses the Crown Bay BSP as a base BSP from which to start. + using the Yocto Project's + BSP Tools. + 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. @@ -108,37 +112,23 @@ process and to the tools you need. For information on how to set up the Source Directory, see the "Getting Setup" section. - Establish a local copy of the base BSP files: Having - the BSP files on your system gives you access to the build + Establish the meta-intel + repository on your system: Having local copies of the + supported BSP layers on your system gives you access to the build process and to the tools you need for creating a BSP. For information on how to get these files, see the "Getting Setup" section. - Choose a BSP that is supported by the Yocto Project - as your base BSP: - The Yocto Project ships with several BSPs that support various hardware. - It is best to base your new BSP on an existing BSP rather than create all the - recipes and configuration files from scratch. - While it is possible to create everything from scratch, basing your new BSP - on something that is close is much easier. - Or, at a minimum, leveraging off an existing BSP - gives you some structure with which to start. - At this point you need to understand your target hardware well enough to determine which - existing BSP it most closely matches. - Things to consider are your hardware’s on-board features, such as CPU type and graphics support. - You should look at the README files for supported BSPs to get an idea of which one - you could use. - A generic Intel - Atom-based BSP to consider is the - Crown Bay that does not support the Intel - Embedded Media Graphics Driver (EMGD). - The remainder of this example uses that base BSP. - To see the supported BSPs, go to the - Downloads page on the Yocto Project - website and click on “BSP Downloads.” - Create your own BSP layer: Layers are ideal for + 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 for your BSP. - In fact, a BSP is, in itself, a special type of layer. + 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. @@ -170,25 +160,34 @@ 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 the Crown Bay BSP in this example by examining the - directory structure of the meta-crownbay layer inside the - Source Directory. + 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 don't use, and adding new recipes that you need to support your hardware. + recipes you don't 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 - and you need to be sure two key configuration files are configured appropriately. + 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 an Image" section of the Yocto Project Quick Start. diff --git a/documentation/dev-manual/figures/bsp-dev-flow.png b/documentation/dev-manual/figures/bsp-dev-flow.png index b20ee19223..1ccd9c3e3b 100644 Binary files a/documentation/dev-manual/figures/bsp-dev-flow.png and b/documentation/dev-manual/figures/bsp-dev-flow.png differ -- cgit v1.2.3-54-g00ecf