summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2016-03-17 12:59:39 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-03-23 21:56:08 +0000
commit19e3648390b011715f7446161a05d9d568aed765 (patch)
treec3a0ff6e34ffd734ea89687927f2b406dbc764be /documentation/dev-manual
parenta3896841f2d8ddeaef3c18d18d5658b7449d1089 (diff)
downloadpoky-19e3648390b011715f7446161a05d9d568aed765.tar.gz
dev-manual: Edits from a 2.1 read-through.
* Removed some eMenlow stuff * Cleaned up the description of the BSP structures we have now. * Various links fixed into the SDK manual. * Other minor fixes. (From yocto-docs rev: 5e45005d7ff2254df2754a5ea2d7efd7f1c19a42) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml12
-rw-r--r--documentation/dev-manual/dev-manual-intro.xml19
-rw-r--r--documentation/dev-manual/dev-manual-model.xml126
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml20
-rw-r--r--documentation/dev-manual/dev-manual-qemu.xml2
-rw-r--r--documentation/dev-manual/dev-manual-start.xml15
6 files changed, 117 insertions, 77 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 199728d2b8..90033539aa 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -550,8 +550,8 @@
550 <para> 550 <para>
551 Following is the append file, which is named 551 Following is the append file, which is named
552 <filename>formfactor_0.0.bbappend</filename> and is from the 552 <filename>formfactor_0.0.bbappend</filename> and is from the
553 Emenlow BSP Layer named 553 Raspberry Pi BSP Layer named
554 <filename>meta-intel/meta-emenlow</filename>. 554 <filename>meta-raspberrypi</filename>.
555 The file is in <filename>recipes-bsp/formfactor</filename>: 555 The file is in <filename>recipes-bsp/formfactor</filename>:
556 <literallayout class='monospaced'> 556 <literallayout class='monospaced'>
557 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 557 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -577,7 +577,7 @@
577 which resolves to a directory named 577 which resolves to a directory named
578 <filename>formfactor</filename> in the same directory 578 <filename>formfactor</filename> in the same directory
579 in which the append file resides (i.e. 579 in which the append file resides (i.e.
580 <filename>meta-intel/meta-emenlow/recipes-bsp/formfactor/formfactor</filename>. 580 <filename>meta-raspberrypi/recipes-bsp/formfactor/formfactor</filename>.
581 This implies that you must have the supporting directory 581 This implies that you must have the supporting directory
582 structure set up that will contain any files or patches you 582 structure set up that will contain any files or patches you
583 will be including from the layer. 583 will be including from the layer.
@@ -5492,10 +5492,6 @@
5492 "<ulink url='http://elinux.org/images/6/6f/Security-issues.pdf'>Security Issues for Embedded Devices</ulink>"</emphasis> 5492 "<ulink url='http://elinux.org/images/6/6f/Security-issues.pdf'>Security Issues for Embedded Devices</ulink>"</emphasis>
5493 by Jake Edge 5493 by Jake Edge
5494 </para></listitem> 5494 </para></listitem>
5495 <listitem><para><emphasis>
5496 "<ulink url='https://www.nccgroup.com/media/18475/exploiting_security_gateways_via_their_web_interfaces.pdf'>They ought to know better: Exploiting Security Gateways via their Web Interfaces</ulink>"</emphasis>
5497 by Ben Williams
5498 </para></listitem>
5499 </itemizedlist> 5495 </itemizedlist>
5500 </para> 5496 </para>
5501 5497
@@ -9160,7 +9156,7 @@
9160 Before you can initiate a remote debugging session, you need 9156 Before you can initiate a remote debugging session, you need
9161 to be sure you have set up the cross-development environment, 9157 to be sure you have set up the cross-development environment,
9162 toolchain, and sysroot. 9158 toolchain, and sysroot.
9163 The <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink> 9159 The <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>
9164 describes this process. 9160 describes this process.
9165 </para> 9161 </para>
9166 </section> 9162 </section>
diff --git a/documentation/dev-manual/dev-manual-intro.xml b/documentation/dev-manual/dev-manual-intro.xml
index 21b85a5333..caa066e828 100644
--- a/documentation/dev-manual/dev-manual-intro.xml
+++ b/documentation/dev-manual/dev-manual-intro.xml
@@ -29,8 +29,8 @@
29 <para> 29 <para>
30 The Yocto Project Development Manual does, however, provide 30 The Yocto Project Development Manual does, however, provide
31 guidance and examples on how to change the kernel source code, 31 guidance and examples on how to change the kernel source code,
32 reconfigure the kernel, and develop an application using the 32 reconfigure the kernel, and develop an application using
33 popular <trademark class='trade'>Eclipse</trademark> IDE. 33 <filename>devtool</filename>.
34 </para> 34 </para>
35 35
36 <note> 36 <note>
@@ -86,16 +86,21 @@
86 <itemizedlist> 86 <itemizedlist>
87 <listitem><para><emphasis>Step-by-step instructions when those instructions exist in other Yocto 87 <listitem><para><emphasis>Step-by-step instructions when those instructions exist in other Yocto
88 Project documentation:</emphasis> 88 Project documentation:</emphasis>
89 For example, the Yocto Project Software Development Kit (SDK) Developer's Guide contains detailed 89 For example, the
90 instructions on how to install an SDK, which is used to 90 <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>
91 develop applications for target hardware.</para></listitem> 91 manual contains detailed instructions on how to install an
92 SDK, which is used to develop applications for target
93 hardware.
94 </para></listitem>
92 <listitem><para><emphasis>Reference material:</emphasis> 95 <listitem><para><emphasis>Reference material:</emphasis>
93 This type of material resides in an appropriate reference manual. 96 This type of material resides in an appropriate reference manual.
94 For example, system variables are documented in the 97 For example, system variables are documented in the
95 <ulink url='&YOCTO_DOCS_REF_URL;'>Yocto Project Reference Manual</ulink>.</para></listitem> 98 <ulink url='&YOCTO_DOCS_REF_URL;'>Yocto Project Reference Manual</ulink>.
99 </para></listitem>
96 <listitem><para><emphasis>Detailed public information that is not specific to the Yocto Project:</emphasis> 100 <listitem><para><emphasis>Detailed public information that is not specific to the Yocto Project:</emphasis>
97 For example, exhaustive information on how to use Git is covered better through the 101 For example, exhaustive information on how to use Git is covered better through the
98 Internet than in this manual.</para></listitem> 102 Internet than in this manual.
103 </para></listitem>
99 </itemizedlist> 104 </itemizedlist>
100 </para> 105 </para>
101 </section> 106 </section>
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml
index 4fb1e61559..838fc58922 100644
--- a/documentation/dev-manual/dev-manual-model.xml
+++ b/documentation/dev-manual/dev-manual-model.xml
@@ -48,7 +48,9 @@
48 that allows you to start builds and examine build statistics. 48 that allows you to start builds and examine build statistics.
49 </para></listitem> 49 </para></listitem>
50 <listitem><para><emphasis>Using a Development Shell:</emphasis> 50 <listitem><para><emphasis>Using a Development Shell:</emphasis>
51 You can use a <filename>devshell</filename> to efficiently debug 51 You can use a
52 <link linkend='platdev-appdev-devshell'><filename>devshell</filename></link>
53 to efficiently debug
52 commands or simply edit packages. 54 commands or simply edit packages.
53 Working inside a development shell is a quick way to set up the 55 Working inside a development shell is a quick way to set up the
54 OpenEmbedded build environment to work on parts of a project. 56 OpenEmbedded build environment to work on parts of a project.
@@ -147,38 +149,60 @@
147 "<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>" 149 "<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>"
148 section in the Yocto Project Board Support (BSP) Developer's Guide. 150 section in the Yocto Project Board Support (BSP) Developer's Guide.
149 </para> 151 </para>
152
150 <para> 153 <para>
151 Another example that illustrates a layer is an application. 154 Another example that illustrates a layer
152 Suppose you are creating an application that has library or other dependencies in 155 is an application.
153 order for it to compile and run. 156 Suppose you are creating an application that has
154 The layer, in this case, would be where all the recipes that define those dependencies 157 library or other dependencies in order for it to
155 are kept. 158 compile and run.
156 The key point for a layer is that it is an isolated area that contains 159 The layer, in this case, would be where all the
157 all the relevant information for the project that the OpenEmbedded build 160 recipes that define those dependencies are kept.
158 system knows about. 161 The key point for a layer is that it is an isolated
159 For more information on layers, see the 162 area that contains all the relevant information for
160 "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>" 163 the project that the OpenEmbedded build system knows
161 section. 164 about.
162 For more information on BSP layers, see the 165 For more information on layers, see the
163 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" section in the 166 "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>"
164 Yocto Project Board Support Package (BSP) Developer's Guide.</para> 167 section.
165 <note>Five BSPs exist that are part of the 168 For more information on BSP layers, see the
166 Yocto Project release: <filename>genericx86</filename>, <filename>genericx86-64</filename>, 169 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
167 <filename>beaglebone</filename> (ARM), 170 section in the Yocto Project Board Support Package (BSP)
168 <filename>mpc8315e</filename> (PowerPC), 171 Developer's Guide.
169 and <filename>edgerouter</filename> (MIPS). 172 <note>
170 The recipes and configurations for these five BSPs are located and dispersed 173 <para>
171 within the <link linkend='source-directory'>Source Directory</link>. 174 Five BSPs exist that are part of the Yocto Project release:
172 On the other hand, the <filename>meta-intel</filename> layer 175 <filename>beaglebone</filename> (ARM),
173 contains BSP layers for many supported BSPs (e.g. 176 <filename>mpc8315e</filename> (PowerPC),
174 Crystal Forest, Emenlow, Fish River Island 2, Haswell, 177 and <filename>edgerouter</filename> (MIPS).
175 Jasper Forest, and so forth). 178 The recipes and configurations for these five BSPs
176 Aside from the BSPs in the <filename>meta-intel</filename> 179 are located and dispersed within the
177 layer, the 180 <link linkend='source-directory'>Source Directory</link>.
178 <ulink url='&YOCTO_GIT_URL;'>Source Repositories</ulink> 181 </para>
179 contain additional BSP layers such as 182
180 <filename>meta-minnow</filename> and 183 <para>
181 <filename>meta-raspberrypi</filename>.</note> 184 Three core Intel BSPs exist as part of the Yocto
185 Project release in the
186 <filename>meta-intel</filename> layer:
187 <itemizedlist>
188 <listitem><para><filename>intel-core2-32</filename>,
189 which is a BSP optimized for the Core2 family of CPUs
190 as well as all CPUs prior to the Silvermont core.
191 </para></listitem>
192 <listitem><para><filename>intel-corei7-64</filename>,
193 which is a BSP optimized for Nehalem and later
194 Core and Xeon CPUs as well as Silvermont and later
195 Atom CPUs, such as the Baytrail SoCs.
196 </para></listitem>
197 <listitem><para><filename>intel-quark</filename>,
198 which is a BSP optimized for the Intel Galileo
199 gen1 &amp; gen2 development boards.
200 </para></listitem>
201 </itemizedlist>
202 </para>
203 </note>
204 </para>
205
182 <para>When you set up a layer for a new BSP, you should follow a standard layout. 206 <para>When you set up a layer for a new BSP, you should follow a standard layout.
183 This layout is described in the 207 This layout is described in the
184 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>" 208 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>"
@@ -289,18 +313,6 @@
289 the Yocto Project: 313 the Yocto Project:
290 <itemizedlist> 314 <itemizedlist>
291 <listitem><para><emphasis> 315 <listitem><para><emphasis>
292 <filename>linux-yocto-3.8</filename></emphasis> - The
293 stable Yocto Project kernel to use with the Yocto
294 Project Release 1.4. This kernel is based on the
295 Linux 3.8 released kernel.
296 </para></listitem>
297 <listitem><para><emphasis>
298 <filename>linux-yocto-3.10</filename></emphasis> - An
299 additional, unsupported Yocto Project kernel used with
300 the Yocto Project Release 1.5.
301 This kernel is based on the Linux 3.10 released kernel.
302 </para></listitem>
303 <listitem><para><emphasis>
304 <filename>linux-yocto-3.14</filename></emphasis> - The 316 <filename>linux-yocto-3.14</filename></emphasis> - The
305 stable Yocto Project kernel to use with the Yocto 317 stable Yocto Project kernel to use with the Yocto
306 Project Releases 1.6 and 1.7. 318 Project Releases 1.6 and 1.7.
@@ -319,11 +331,35 @@
319 This kernel is based on the Linux 3.19 released kernel. 331 This kernel is based on the Linux 3.19 released kernel.
320 </para></listitem> 332 </para></listitem>
321 <listitem><para><emphasis> 333 <listitem><para><emphasis>
334 <filename>linux-yocto-4.1</filename></emphasis> - The
335 stable Yocto Project kernel to use with the Yocto
336 Project Release 2.0.
337 This kernel is based on the Linux 4.1 released kernel.
338 </para></listitem>
339 <listitem><para><emphasis>
340 <filename>linux-yocto-4.4</filename></emphasis> - The
341 stable Yocto Project kernel to use with the Yocto
342 Project Release 2.1.
343 This kernel is based on the Linux 4.4 released kernel.
344 </para></listitem>
345 <listitem><para><emphasis>
322 <filename>linux-yocto-dev</filename></emphasis> - A 346 <filename>linux-yocto-dev</filename></emphasis> - A
323 development kernel based on the latest upstream release 347 development kernel based on the latest upstream release
324 candidate available. 348 candidate available.
325 </para></listitem> 349 </para></listitem>
326 </itemizedlist> 350 </itemizedlist>
351 <note>
352 Long Term Support Initiative (LTSI) for Yocto Project kernels
353 is as follows:
354 <itemizedlist>
355 <listitem><para>For Yocto Project releases 1.7, 1.8, and 2.0,
356 the LTSI kernel is <filename>linux-yocto-3.14</filename>.
357 </para></listitem>
358 <listitem><para>For Yocto Project release 2.1, the
359 LTSI kernel is <filename>linux-yocto-4.1</filename>.
360 </para></listitem>
361 </itemizedlist>
362 </note>
327 </para> 363 </para>
328 364
329 <para> 365 <para>
@@ -538,7 +574,7 @@
538 Tools exist to help the application developer during any phase 574 Tools exist to help the application developer during any phase
539 of development. 575 of development.
540 For information on how to install and use an SDK, see the 576 For information on how to install and use an SDK, see the
541 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>. 577 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
542 </para> 578 </para>
543</section> 579</section>
544 580
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index e81ec15f75..bf454c47ab 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -96,7 +96,10 @@
96 <para> 96 <para>
97 For developers who mainly do application level work 97 For developers who mainly do application level work
98 on top of an existing software stack, 98 on top of an existing software stack,
99 here are some practices that work best: 99 the following list shows practices that work best.
100 For information on using a Software Development Kit (SDK), see
101 the
102 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>:
100 <itemizedlist> 103 <itemizedlist>
101 <listitem><para>Use a pre-built toolchain that 104 <listitem><para>Use a pre-built toolchain that
102 contains the software stack itself. 105 contains the software stack itself.
@@ -1045,9 +1048,10 @@
1045 </para> 1048 </para>
1046 1049
1047 <para> 1050 <para>
1048 Some key tags are <filename>dylan-9.0.4</filename>, 1051 Some key tags are
1049 <filename>dora-10.0.4</filename>, <filename>daisy-11.0.2</filename>, 1052 <filename>dizzy-12.0.0</filename>,
1050 <filename>dizzy-12.0.0</filename>, and 1053 <filename>fido-13.0.0</filename>,
1054 <filename>jethro-14.0.0</filename>, and
1051 <filename>&DISTRO_NAME;-&POKYVERSION;</filename>. 1055 <filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
1052 These tags represent Yocto Project releases. 1056 These tags represent Yocto Project releases.
1053 </para> 1057 </para>
@@ -1127,20 +1131,20 @@
1127 into the project’s upstream (or master) repository.</para></listitem> 1131 into the project’s upstream (or master) repository.</para></listitem>
1128 <listitem><para><emphasis><filename>git status</filename>:</emphasis> Reports any modified files that 1132 <listitem><para><emphasis><filename>git status</filename>:</emphasis> Reports any modified files that
1129 possibly need to be staged and committed.</para></listitem> 1133 possibly need to be staged and committed.</para></listitem>
1130 <listitem><para><emphasis><filename>git checkout &lt;branch-name&gt;</filename>:</emphasis> Changes 1134 <listitem><para><emphasis><filename>git checkout</filename> <replaceable>branch-name</replaceable>:</emphasis> Changes
1131 your working branch. 1135 your working branch.
1132 This command is analogous to "cd".</para></listitem> 1136 This command is analogous to "cd".</para></listitem>
1133 <listitem><para><emphasis><filename>git checkout –b &lt;working-branch&gt;</filename>:</emphasis> Creates 1137 <listitem><para><emphasis><filename>git checkout –b</filename> <replaceable>working-branch</replaceable>:</emphasis> Creates
1134 a working branch on your local machine where you can isolate work. 1138 a working branch on your local machine where you can isolate work.
1135 It is a good idea to use local branches when adding specific features or changes. 1139 It is a good idea to use local branches when adding specific features or changes.
1136 This way if you do not like what you have done you can easily get rid of the work.</para></listitem> 1140 This way if you do not like what you have done you can easily get rid of the work.</para></listitem>
1137 <listitem><para><emphasis><filename>git branch</filename>:</emphasis> Reports 1141 <listitem><para><emphasis><filename>git branch</filename>:</emphasis> Reports
1138 existing local branches and 1142 existing local branches and
1139 tells you the branch in which you are currently working.</para></listitem> 1143 tells you the branch in which you are currently working.</para></listitem>
1140 <listitem><para><emphasis><filename>git branch -D &lt;branch-name&gt;</filename>:</emphasis> 1144 <listitem><para><emphasis><filename>git branch -D</filename> <replaceable>branch-name</replaceable>:</emphasis>
1141 Deletes an existing local branch. 1145 Deletes an existing local branch.
1142 You need to be in a local branch other than the one you are deleting 1146 You need to be in a local branch other than the one you are deleting
1143 in order to delete <filename>&lt;branch-name&gt;</filename>.</para></listitem> 1147 in order to delete <replaceable>branch-name</replaceable>.</para></listitem>
1144 <listitem><para><emphasis><filename>git pull</filename>:</emphasis> Retrieves information 1148 <listitem><para><emphasis><filename>git pull</filename>:</emphasis> Retrieves information
1145 from an upstream Git 1149 from an upstream Git
1146 repository and places it in your local Git repository. 1150 repository and places it in your local Git repository.
diff --git a/documentation/dev-manual/dev-manual-qemu.xml b/documentation/dev-manual/dev-manual-qemu.xml
index 66ecf2d13f..41c18298a5 100644
--- a/documentation/dev-manual/dev-manual-qemu.xml
+++ b/documentation/dev-manual/dev-manual-qemu.xml
@@ -50,7 +50,7 @@
50 One method is to install a Software Development Kit (SDK). 50 One method is to install a Software Development Kit (SDK).
51 For more information on how to make sure you have 51 For more information on how to make sure you have
52 QEMU available, see the 52 QEMU available, see the
53 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>. 53 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
54 </para> 54 </para>
55</section> 55</section>
56 56
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index a9a0c797b4..23bf8eb0e4 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -221,10 +221,8 @@
221 </literallayout> 221 </literallayout>
222 where <replaceable>bsp_name</replaceable> is the recognized 222 where <replaceable>bsp_name</replaceable> is the recognized
223 BSP name. 223 BSP name.
224 Here are some examples: 224 Here is an example:
225 <literallayout class='monospaced'> 225 <literallayout class='monospaced'>
226 meta-crownbay
227 meta-emenlow
228 meta-raspberrypi 226 meta-raspberrypi
229 </literallayout> 227 </literallayout>
230 See the 228 See the
@@ -263,11 +261,12 @@
263 $ cd ~/poky 261 $ cd ~/poky
264 $ git clone git://git.yoctoproject.org/meta-intel.git 262 $ git clone git://git.yoctoproject.org/meta-intel.git
265 Cloning into 'meta-intel'... 263 Cloning into 'meta-intel'...
266 remote: Counting objects: 8844, done. 264 remote: Counting objects: 11917, done.
267 remote: Compressing objects: 100% (2864/2864), done. 265 remote: Compressing objects: 100% (3842/3842), done.
268 remote: Total 8844 (delta 4931), reused 8780 (delta 4867) 266 remote: Total 11917 (delta 6840), reused 11699 (delta 6622)
269 Receiving objects: 100% (8844/8844), 2.48 MiB | 264 KiB/s, done. 267 Receiving objects: 100% (11917/11917), 2.92 MiB | 2.88 MiB/s, done.
270 Resolving deltas: 100% (4931/4931), done. 268 Resolving deltas: 100% (6840/6840), done.
269 Checking connectivity... done.
271 </literallayout></para> 270 </literallayout></para>
272 271
273 <para>The same 272 <para>The same