mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
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 <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
94cb42e3fa
commit
48d3b058d9
@@ -13,10 +13,12 @@
|
|||||||
<listitem><para><emphasis>System Development:</emphasis>
|
<listitem><para><emphasis>System Development:</emphasis>
|
||||||
System Development covers Board Support Package (BSP) development and kernel
|
System Development covers Board Support Package (BSP) development and kernel
|
||||||
modification or configuration.
|
modification or configuration.
|
||||||
If you want to examine specific examples of the system development models,
|
If you want to examine a specific example of the kernel modification and
|
||||||
see the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
|
configuration model,
|
||||||
appendix and the
|
see the "<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix.
|
||||||
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix.
|
For an example on how to create a BSP, see the
|
||||||
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||||
|
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>User Application Development:</emphasis>
|
<listitem><para><emphasis>User Application Development:</emphasis>
|
||||||
User Application Development covers development of applications that you intend
|
User Application Development covers development of applications that you intend
|
||||||
@@ -80,9 +82,11 @@
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The remainder of this section presents the basic steps used to create a BSP
|
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.
|
using the Yocto Project's
|
||||||
You can reference the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
|
<ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>BSP Tools</ulink>.
|
||||||
appendix for a detailed example that uses the Crown Bay BSP as a base BSP from which to start.
|
For an example that shows how to create a new layer using the tools, see the
|
||||||
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||||
|
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
@@ -108,37 +112,23 @@
|
|||||||
process and to the tools you need.
|
process and to the tools you need.
|
||||||
For information on how to set up the Source Directory, see the
|
For information on how to set up the Source Directory, see the
|
||||||
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
||||||
<listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having
|
<listitem><para><emphasis>Establish the <filename>meta-intel</filename>
|
||||||
the BSP files on your system gives you access to the build
|
repository on your system</emphasis>: 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.
|
process and to the tools you need for creating a BSP.
|
||||||
For information on how to get these files, see the
|
For information on how to get these files, see the
|
||||||
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
|
||||||
<listitem><para><emphasis>Choose a BSP that is supported by the Yocto Project
|
<listitem><para><emphasis>Create your own BSP layer using the
|
||||||
as your base BSP</emphasis>:
|
<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink> script</emphasis>:
|
||||||
The Yocto Project ships with several BSPs that support various hardware.
|
Layers are ideal for
|
||||||
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.</para>
|
|
||||||
<para>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 <trademark class='registered'>Intel</trademark>
|
|
||||||
<trademark class='trade'>Atom</trademark>-based BSP to consider is the
|
|
||||||
Crown Bay that does not support the <trademark class='registered'>Intel</trademark>
|
|
||||||
Embedded Media Graphics Driver (EMGD).
|
|
||||||
The remainder of this example uses that base BSP.</para>
|
|
||||||
<para>To see the supported BSPs, go to the
|
|
||||||
<ulink url='&YOCTO_HOME_URL;/download'>Downloads</ulink> page on the Yocto Project
|
|
||||||
website and click on “BSP Downloads.”</para></listitem>
|
|
||||||
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
|
|
||||||
isolating and storing work for a given piece of hardware.
|
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.
|
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 <filename>yocto-bsp</filename> script.
|
||||||
|
For information about that script, see the
|
||||||
|
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||||
|
section in the Yocto Project Board Support (BSP) Developer's Guide.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Another example that illustrates a layer is an application.
|
Another example that illustrates a layer is an application.
|
||||||
@@ -170,25 +160,34 @@
|
|||||||
section of the Board Support Package (BSP) Development Guide.
|
section of the Board Support Package (BSP) Development Guide.
|
||||||
In the standard layout, you will notice a suggested structure for recipes and
|
In the standard layout, you will notice a suggested structure for recipes and
|
||||||
configuration information.
|
configuration information.
|
||||||
You can see the standard layout for the Crown Bay BSP in this example by examining the
|
You can see the standard layout for a BSP by examining
|
||||||
directory structure of the <filename>meta-crownbay</filename> layer inside the
|
any supported BSP found in the <filename>meta-intel</filename> layer inside
|
||||||
Source Directory.</para></listitem>
|
the Source Directory.</para></listitem>
|
||||||
<listitem><para><emphasis>Make configuration changes to your new BSP
|
<listitem><para><emphasis>Make configuration changes to your new BSP
|
||||||
layer</emphasis>: The standard BSP layer structure organizes the files you need
|
layer</emphasis>: The standard BSP layer structure organizes the files you need
|
||||||
to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
|
to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
|
||||||
directories within the BSP layer.
|
directories within the BSP layer.
|
||||||
Configuration changes identify where your new layer is on the local system
|
Configuration changes identify where your new layer is on the local system
|
||||||
and identify which kernel you are going to use.
|
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).
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe
|
<listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe
|
||||||
changes include altering recipes (<filename>.bb</filename> files), removing
|
changes include altering recipes (<filename>.bb</filename> 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
|
||||||
|
(<filename>.bbappend</filename>) that you need to support your hardware.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
|
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
|
||||||
changes to your BSP layer, there remains a few things
|
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 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
|
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.</para>
|
and you need to be sure two key configuration files are configured appropriately:
|
||||||
|
the <filename>conf/local.conf</filename> and the
|
||||||
|
<filename>conf/bblayers.conf</filename> file.
|
||||||
|
You must make the OpenEmbedded build system aware of your new layer.
|
||||||
|
See the
|
||||||
|
"<link linkend='enabling-your-layer'>Enabling Your Layer</link>" section
|
||||||
|
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
|
<para>The entire process for building an image is overviewed in the section
|
||||||
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
|
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
|
||||||
of the Yocto Project Quick Start.
|
of the Yocto Project Quick Start.
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 55 KiB |
Reference in New Issue
Block a user