summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/dev-manual/dev-manual-model.xml75
-rw-r--r--documentation/dev-manual/figures/bsp-dev-flow.pngbin57479 -> 56047 bytes
2 files changed, 37 insertions, 38 deletions
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 @@
13 <listitem><para><emphasis>System Development:</emphasis> 13 <listitem><para><emphasis>System Development:</emphasis>
14 System Development covers Board Support Package (BSP) development and kernel 14 System Development covers Board Support Package (BSP) development and kernel
15 modification or configuration. 15 modification or configuration.
16 If you want to examine specific examples of the system development models, 16 If you want to examine a specific example of the kernel modification and
17 see the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>" 17 configuration model,
18 appendix and the 18 see the "<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix.
19 "<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix. 19 For an example on how to create a BSP, see the
20 "<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>"
21 section in the Yocto Project Board Support Package (BSP) Developer's Guide.
20 </para></listitem> 22 </para></listitem>
21 <listitem><para><emphasis>User Application Development:</emphasis> 23 <listitem><para><emphasis>User Application Development:</emphasis>
22 User Application Development covers development of applications that you intend 24 User Application Development covers development of applications that you intend
@@ -80,9 +82,11 @@
80 82
81 <para> 83 <para>
82 The remainder of this section presents the basic steps used to create a BSP 84 The remainder of this section presents the basic steps used to create a BSP
83 based on an existing BSP that ships with the Yocto Project. 85 using the Yocto Project's
84 You can reference the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>" 86 <ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>BSP Tools</ulink>.
85 appendix for a detailed example that uses the Crown Bay BSP as a base BSP from which to start. 87 For an example that shows how to create a new layer using the tools, see the
88 "<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>"
89 section in the Yocto Project Board Support Package (BSP) Developer's Guide.
86 </para> 90 </para>
87 91
88 <para> 92 <para>
@@ -108,37 +112,23 @@
108 process and to the tools you need. 112 process and to the tools you need.
109 For information on how to set up the Source Directory, see the 113 For information on how to set up the Source Directory, see the
110 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem> 114 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
111 <listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having 115 <listitem><para><emphasis>Establish the <filename>meta-intel</filename>
112 the BSP files on your system gives you access to the build 116 repository on your system</emphasis>: Having local copies of the
117 supported BSP layers on your system gives you access to the build
113 process and to the tools you need for creating a BSP. 118 process and to the tools you need for creating a BSP.
114 For information on how to get these files, see the 119 For information on how to get these files, see the
115 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem> 120 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
116 <listitem><para><emphasis>Choose a BSP that is supported by the Yocto Project 121 <listitem><para><emphasis>Create your own BSP layer using the
117 as your base BSP</emphasis>: 122 <ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink> script</emphasis>:
118 The Yocto Project ships with several BSPs that support various hardware. 123 Layers are ideal for
119 It is best to base your new BSP on an existing BSP rather than create all the
120 recipes and configuration files from scratch.
121 While it is possible to create everything from scratch, basing your new BSP
122 on something that is close is much easier.
123 Or, at a minimum, leveraging off an existing BSP
124 gives you some structure with which to start.</para>
125 <para>At this point you need to understand your target hardware well enough to determine which
126 existing BSP it most closely matches.
127 Things to consider are your hardware’s on-board features, such as CPU type and graphics support.
128 You should look at the README files for supported BSPs to get an idea of which one
129 you could use.
130 A generic <trademark class='registered'>Intel</trademark>
131 <trademark class='trade'>Atom</trademark>-based BSP to consider is the
132 Crown Bay that does not support the <trademark class='registered'>Intel</trademark>
133 Embedded Media Graphics Driver (EMGD).
134 The remainder of this example uses that base BSP.</para>
135 <para>To see the supported BSPs, go to the
136 <ulink url='&YOCTO_HOME_URL;/download'>Downloads</ulink> page on the Yocto Project
137 website and click on “BSP Downloads.”</para></listitem>
138 <listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
139 isolating and storing work for a given piece of hardware. 124 isolating and storing work for a given piece of hardware.
140 A layer is really just a location or area in which you place the recipes for your BSP. 125 A layer is really just a location or area in which you place the recipes for your BSP.
141 In fact, a BSP is, in itself, a special type of layer. 126 In fact, a BSP is, in itself, a special type of layer.
127 The simplest way to create a new BSP layer that is compliant with the
128 Yocto Project is to use the <filename>yocto-bsp</filename> script.
129 For information about that script, see the
130 "<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>"
131 section in the Yocto Project Board Support (BSP) Developer's Guide.
142 </para> 132 </para>
143 <para> 133 <para>
144 Another example that illustrates a layer is an application. 134 Another example that illustrates a layer is an application.
@@ -170,25 +160,34 @@
170 section of the Board Support Package (BSP) Development Guide. 160 section of the Board Support Package (BSP) Development Guide.
171 In the standard layout, you will notice a suggested structure for recipes and 161 In the standard layout, you will notice a suggested structure for recipes and
172 configuration information. 162 configuration information.
173 You can see the standard layout for the Crown Bay BSP in this example by examining the 163 You can see the standard layout for a BSP by examining
174 directory structure of the <filename>meta-crownbay</filename> layer inside the 164 any supported BSP found in the <filename>meta-intel</filename> layer inside
175 Source Directory.</para></listitem> 165 the Source Directory.</para></listitem>
176 <listitem><para><emphasis>Make configuration changes to your new BSP 166 <listitem><para><emphasis>Make configuration changes to your new BSP
177 layer</emphasis>: The standard BSP layer structure organizes the files you need 167 layer</emphasis>: The standard BSP layer structure organizes the files you need
178 to edit in <filename>conf</filename> and several <filename>recipes-*</filename> 168 to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
179 directories within the BSP layer. 169 directories within the BSP layer.
180 Configuration changes identify where your new layer is on the local system 170 Configuration changes identify where your new layer is on the local system
181 and identify which kernel you are going to use. 171 and identify which kernel you are going to use.
172 When you run the <filename>yocto-bsp</filename> script you are able to interactively
173 configure many things for the BSP (e.g. keyboard, touchscreen, and so forth).
182 </para></listitem> 174 </para></listitem>
183 <listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe 175 <listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe
184 changes include altering recipes (<filename>.bb</filename> files), removing 176 changes include altering recipes (<filename>.bb</filename> files), removing
185 recipes you don't use, and adding new recipes that you need to support your hardware. 177 recipes you don't use, and adding new recipes or append files
178 (<filename>.bbappend</filename>) that you need to support your hardware.
186 </para></listitem> 179 </para></listitem>
187 <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the 180 <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
188 changes to your BSP layer, there remains a few things 181 changes to your BSP layer, there remains a few things
189 you need to do for the OpenEmbedded build system in order for it to create your image. 182 you need to do for the OpenEmbedded build system in order for it to create your image.
190 You need to get the build environment ready by sourcing an environment setup script 183 You need to get the build environment ready by sourcing an environment setup script
191 and you need to be sure two key configuration files are configured appropriately.</para> 184 and you need to be sure two key configuration files are configured appropriately:
185 the <filename>conf/local.conf</filename> and the
186 <filename>conf/bblayers.conf</filename> file.
187 You must make the OpenEmbedded build system aware of your new layer.
188 See the
189 "<link linkend='enabling-your-layer'>Enabling Your Layer</link>" section
190 for information on how to let the build system know about your new layer.</para>
192 <para>The entire process for building an image is overviewed in the section 191 <para>The entire process for building an image is overviewed in the section
193 "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section 192 "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
194 of the Yocto Project Quick Start. 193 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
--- a/documentation/dev-manual/figures/bsp-dev-flow.png
+++ b/documentation/dev-manual/figures/bsp-dev-flow.png
Binary files differ