summaryrefslogtreecommitdiffstats
path: root/documentation/bsp-guide/bsp.xml
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2018-03-08 11:15:51 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-25 09:41:12 +0100
commitc8b2ba7523afd1611e7afb3d83b6df5c3df8326f (patch)
tree502b035ef830e93d11bf4a01e583fd2bdb504de8 /documentation/bsp-guide/bsp.xml
parentdff40ea5cc21c0e2b77cd013cf31af6d0d906ce9 (diff)
downloadopenembedded-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.xml205
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 &amp; gen2
+ development boards.
+ </para></listitem>
+ </itemizedlist>
</para></listitem>
- <listitem><para>
- <filename>intel-quark</filename>,
- which is a BSP optimized for the Intel Galileo
- gen1 &amp; 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>