diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2018-03-08 11:15:51 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-25 09:41:12 +0100 |
commit | c8b2ba7523afd1611e7afb3d83b6df5c3df8326f (patch) | |
tree | 502b035ef830e93d11bf4a01e583fd2bdb504de8 /documentation/bsp-guide/bsp.xml | |
parent | dff40ea5cc21c0e2b77cd013cf31af6d0d906ce9 (diff) | |
download | openembedded-core-contrib-c8b2ba7523afd1611e7afb3d83b6df5c3df8326f.tar.gz |
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 <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/bsp-guide/bsp.xml')
-rw-r--r-- | documentation/bsp-guide/bsp.xml | 205 |
1 files changed, 117 insertions, 88 deletions
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 @@ <title>Developing a Board Support Package (BSP)</title> <para> - 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 <link linkend='using-the-yocto-projects-bsp-tools'>BSP Tools</link>. Although not required for BSP creation, the - <filename>meta-intel</filename> repository, which contains - many BSPs supported by the Yocto Project, is part of the - example. + <filename>meta-intel</filename> repository, which + contains many BSPs supported by the Yocto Project, + is part of the example. </para> <para> - 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 "<link linkend='creating-a-new-bsp-layer-using-the-bitbake-layers-script'>Creating a New BSP Layer Using the <filename>bitbake-layers</filename> Script</link>" section. </para> @@ -972,37 +972,40 @@ <para> <orderedlist> <listitem><para> - <emphasis>Set up Your Host Development System to Support - Development Using the Yocto Project</emphasis>: + <emphasis>Set up Your Host Development System + to Support Development Using the Yocto + Project</emphasis>: See the - "<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>Setting Up to Use the Yocto Project</ulink>" - section in the Yocto Project Quick Start for options on how - to get a build host ready to use the Yocto Project. + "<ulink url='&YOCTO_DOCS_DEV_URL;#setting-up-the-development-host-to-use-the-yocto-project'>Setting Up the Development Host to Use the Yocto Project</ulink>" + section in the Yocto Project Development Tasks + Manual for options on how to get a system ready + to use the Yocto Project. </para></listitem> <listitem><para> - <emphasis>Establish the <filename>meta-intel</filename> + <emphasis>Establish the + <filename>meta-intel</filename> Repository on Your System:</emphasis> - 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 "<link linkend='preparing-your-build-host-to-work-with-bsp-layers'>Preparing Your Build Host to Work with BSP Layers</link>" section. </para></listitem> <listitem><para> <emphasis>Create Your Own BSP Layer Using the - <link linkend='creating-a-new-bsp-layer-using-the-bitbake-layers-script'><filename>yocto-bsp</filename></link> - script:</emphasis> - Layers are ideal for isolating and storing work for a - given piece of hardware. + <filename>bitbake-layers</filename> + Script:</emphasis> + 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 - <filename>yocto-bsp</filename> script. + <filename>bitbake-layers</filename> script. For information about that script, see the - "<link linkend='creating-a-new-bsp-layer-using-the-bitbake-layers-script'>Creating a New BSP Layer Using the yocto-bsp Script</link>" + "<link linkend='creating-a-new-bsp-layer-using-the-bitbake-layers-script'>Creating a New BSP Layer Using the <filename>bitbake-layers</filename> Script</link>" section.</para> <para>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 + "<ulink url='&YOCTO_DOCS_GS_URL;#the-yocto-project-layer-model'>The Yocto Project Layer Model</ulink>" + section in the Getting Started With Yocto Project + Manual. + You can also reference the "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding and Creating Layers</ulink>" - section in the Yocto Project Development Tasks Manual. + section in the Yocto Project Development Tasks + Manual. For more information on BSP layers, see the "<link linkend='bsp-layers'>BSP Layers</link>" section. <note><title>Notes</title> - <para>Five BSPs exist that are part of the Yocto - Project release: - <filename>beaglebone</filename> (ARM), - <filename>mpc8315e</filename> (PowerPC), - and <filename>edgerouter</filename> (MIPS). - The recipes and configurations for these five BSPs - are located and dispersed within the - <ulink url='&YOCTO_DOCS_REF_URL;#source-directory'>Source Directory</ulink>. - </para> - - <para>Three core Intel BSPs exist as part of the Yocto - Project release in the - <filename>meta-intel</filename> layer: <itemizedlist> <listitem><para> - <filename>intel-core2-32</filename>, - 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 + <filename>poky/meta-yocto-bsp</filename> BSP + layer: + <itemizedlist> + <listitem><para> + Texas Instruments Beaglebone + (<filename>beaglebone-yocto</filename> + </para></listitem> + <listitem><para> + Freescale MPC8315E-RDB + (<filename>mpc8315e-rdb</filename>) + </para></listitem> + <listitem><para> + Ubiquiti Networks EdgeRouter Lite + (<filename>edgerouter</filename>) + </para></listitem> + <listitem><para> + Two general IA platforms + (<filename>genericx86</filename> and + <filename>genericx86-64</filename>) + </para></listitem> + </itemizedlist> </para></listitem> <listitem><para> - <filename>intel-corei7-64</filename>, - 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 + <filename>meta-intel</filename> layer: + <itemizedlist> + <listitem><para> + <filename>intel-core2-32</filename>, + which is a BSP optimized for the Core2 + family of CPUs as well as all CPUs + prior to the Silvermont core. + </para></listitem> + <listitem><para> + <filename>intel-corei7-64</filename>, + 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. + </para></listitem> + <listitem><para> + <filename>intel-quark</filename>, + which is a BSP optimized for the + Intel Galileo gen1 & gen2 + development boards. + </para></listitem> + </itemizedlist> </para></listitem> - <listitem><para> - <filename>intel-quark</filename>, - which is a BSP optimized for the Intel Galileo - gen1 & gen2 development boards. - </para></listitem> - </itemizedlist></para> + </itemizedlist> </note></para> - <para>When you set up a layer for a new BSP, you should - follow a standard layout. + <para>When you set up a layer for a new BSP, + you should follow a standard layout. This layout is described in the "<link linkend='bsp-filelayout'>Example Filesystem Layout</link>" 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 - <filename>meta-intel</filename> 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 + <filename>meta-intel</filename> layer inside + the Source Directory. </para></listitem> <listitem><para> - <emphasis>Make Configuration Changes to Your New BSP - Layer:</emphasis> - The standard BSP layer structure organizes the files - you need to edit in <filename>conf</filename> and - several <filename>recipes-*</filename> - 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 <filename>yocto-bsp</filename> script, - you are able to interactively configure many things for - the BSP (e.g. keyboard, touchscreen, and so forth). + <emphasis>Make Configuration Changes to Your New + BSP Layer:</emphasis> + The standard BSP layer structure organizes the + files you need to edit in + <filename>conf</filename> and several + <filename>recipes-*</filename> 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 + <filename>bitbake-layers</filename> script, + you are able to interactively configure many + things for the BSP (e.g. keyboard, touchscreen, + and so forth). </para></listitem> <listitem><para> <emphasis>Make Recipe Changes to Your New BSP Layer:</emphasis> Recipe changes include altering recipes - (<filename>.bb</filename> files), removing recipes you - do not use, and adding new recipes or append files - (<filename>.bbappend</filename>) that you need to - support your hardware. + (<filename>*.bb</filename> files), removing + recipes you do not use, and adding new recipes + or append files (<filename>.bbappend</filename>) + that support your hardware. </para></listitem> <listitem><para> <emphasis>Prepare for the Build:</emphasis> - 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. <filename>oe-init-build-env</filename>) @@ -1110,13 +1145,7 @@ "<ulink url='&YOCTO_DOCS_DEV_URL;#enabling-your-layer'>Enabling Your Layer</ulink>" section in the Yocto Project Development Tasks Manual for information on how to let the build system - know about your new layer.</para> - - <para>The entire process for building an image is - overviewed in the section - "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>" section - of the Yocto Project Quick Start. - You might want to reference this information. + know about your new layer. </para></listitem> <listitem><para> <emphasis>Build the Image:</emphasis> |