summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml173
-rw-r--r--documentation/dev-manual/dev-manual-intro.xml35
-rw-r--r--documentation/dev-manual/dev-manual-kernel-appendix.xml92
-rw-r--r--documentation/dev-manual/dev-manual-model.xml137
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml199
-rw-r--r--documentation/dev-manual/dev-manual-start.xml72
6 files changed, 320 insertions, 388 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 067b5dfcc2..f326dc5209 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -7,7 +7,7 @@
7<title>Common Tasks</title> 7<title>Common Tasks</title>
8 <para> 8 <para>
9 This chapter describes standard tasks such as adding new 9 This chapter describes standard tasks such as adding new
10 software packages, extending or customizing images, and porting the Yocto Project to 10 software packages, extending or customizing images, and porting work to
11 new hardware (adding a new machine). 11 new hardware (adding a new machine).
12 The chapter also describes how to combine multiple 12 The chapter also describes how to combine multiple
13 versions of library files into a single image, how to handle a package name alias, and 13 versions of library files into a single image, how to handle a package name alias, and
@@ -18,7 +18,7 @@
18 <title>Understanding and Creating Layers</title> 18 <title>Understanding and Creating Layers</title>
19 19
20 <para> 20 <para>
21 The Yocto Project build system supports organizing <link linkend='metadata'>metadata</link> 21 The OpenEmbedded build system supports organizing <link linkend='metadata'>metadata</link>
22 into multiple layers. 22 into multiple layers.
23 Layers allow you to isolate different types of customizations from each other. 23 Layers allow you to isolate different types of customizations from each other.
24 You might find it tempting to keep everything in one layer when working on a single project. 24 You might find it tempting to keep everything in one layer when working on a single project.
@@ -43,13 +43,13 @@
43 </para> 43 </para>
44 44
45 <section id='yocto-project-layers'> 45 <section id='yocto-project-layers'>
46 <title>Yocto Project Layers</title> 46 <title>Layers</title>
47 47
48 <para> 48 <para>
49 The Yocto Project contains several layers right out of the box. 49 The source directory contains several layers right out of the box.
50 You can easily identify a layer in the Yocto Project by the name of its folder. 50 You can easily identify a layer in the source directory by its folder name.
51 Folders that are layers begin with the string <filename>meta</filename>. 51 Folders that are layers begin with the string <filename>meta</filename>.
52 For example, when you set up the <link linkend='yocto-project-files'>Yocto Project Files</link> 52 For example, when you set up the <link linkend='source-directory'>source directory</link>
53 structure, you will see several layers: <filename>meta</filename>, <filename>meta-demoapps</filename>, 53 structure, you will see several layers: <filename>meta</filename>, <filename>meta-demoapps</filename>,
54 <filename>meta-skeleton</filename>, and <filename>meta-yocto</filename>. 54 <filename>meta-skeleton</filename>, and <filename>meta-yocto</filename>.
55 Each of these folders is a layer. 55 Each of these folders is a layer.
@@ -69,7 +69,7 @@
69 <title>Creating Your Own Layer</title> 69 <title>Creating Your Own Layer</title>
70 70
71 <para> 71 <para>
72 It is very easy to create your own layer to use with the Yocto Project. 72 It is very easy to create your own layer to use with the OpenEmbedded build system.
73 Follow these general steps to create your layer: 73 Follow these general steps to create your layer:
74 <orderedlist> 74 <orderedlist>
75 <listitem><para><emphasis>Check Existing Layers:</emphasis> Before creating a new layer, 75 <listitem><para><emphasis>Check Existing Layers:</emphasis> Before creating a new layer,
@@ -170,13 +170,14 @@
170 If this is the case, you need to address that deficiency instead of overlaying 170 If this is the case, you need to address that deficiency instead of overlaying
171 the include file. 171 the include file.
172 For example, consider how Qt 4 database support plugins are configured. 172 For example, consider how Qt 4 database support plugins are configured.
173 The Yocto Project does not have MySQL or PostgreSQL, however OpenEmbedded's 173 The source directory does not have
174 MySQL or PostgreSQL, however OpenEmbedded's
174 layer <filename>meta-oe</filename> does. 175 layer <filename>meta-oe</filename> does.
175 Consequently, <filename>meta-oe</filename> uses <filename>.bbappend</filename> 176 Consequently, <filename>meta-oe</filename> uses <filename>.bbappend</filename>
176 files to modify the <filename>QT_SQL_DRIVER_FLAGS</filename> variable to enable 177 files to modify the <filename>QT_SQL_DRIVER_FLAGS</filename> variable to enable
177 the appropriate plugins. 178 the appropriate plugins.
178 This variable was added to the <filename>qt4.inc</filename> include file in 179 This variable was added to the <filename>qt4.inc</filename> include file in
179 The Yocto Project specifically to allow the <filename>meta-oe</filename> layer 180 the source directory specifically to allow the <filename>meta-oe</filename> layer
180 to be able to control which plugins are built.</para></listitem> 181 to be able to control which plugins are built.</para></listitem>
181 </itemizedlist> 182 </itemizedlist>
182 </para> 183 </para>
@@ -187,10 +188,10 @@
187 <listitem><para>Store custom layers in a Git repository that uses the 188 <listitem><para>Store custom layers in a Git repository that uses the
188 <filename>meta-&lt;layer_name&gt;</filename> format.</para></listitem> 189 <filename>meta-&lt;layer_name&gt;</filename> format.</para></listitem>
189 <listitem><para>Clone the repository alongside other <filename>meta</filename> 190 <listitem><para>Clone the repository alongside other <filename>meta</filename>
190 directories in 191 directories in the
191 <link linkend='yocto-project-files'>Yocto Project Files</link>.</para></listitem> 192 <link linkend='source-directory'>source directory</link>.</para></listitem>
192 </itemizedlist> 193 </itemizedlist>
193 Following these recommendations keeps your Yocto Project files area and 194 Following these recommendations keeps your source directory and
194 its configuration entirely inside the Yocto Project's core base. 195 its configuration entirely inside the Yocto Project's core base.
195 </para> 196 </para>
196 </section> 197 </section>
@@ -199,11 +200,11 @@
199 <title>Enabling Your Layer</title> 200 <title>Enabling Your Layer</title>
200 201
201 <para> 202 <para>
202 Before the Yocto Project build system can use your new layer, you need to enable it. 203 Before the OpenEmbedded build system can use your new layer, you need to enable it.
203 To enable your layer, simply add your layer's path to the 204 To enable your layer, simply add your layer's path to the
204 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'>BBLAYERS</ulink></filename> 205 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'>BBLAYERS</ulink></filename>
205 variable in your <filename>conf/bblayers.conf</filename> file, which is found in the 206 variable in your <filename>conf/bblayers.conf</filename> file, which is found in the
206 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>. 207 <link linkend='build-directory'>build directory</link>.
207 The following example shows how to enable a layer named <filename>meta-mylayer</filename>: 208 The following example shows how to enable a layer named <filename>meta-mylayer</filename>:
208 <literallayout class='monospaced'> 209 <literallayout class='monospaced'>
209 LCONF_VERSION = "1" 210 LCONF_VERSION = "1"
@@ -222,8 +223,8 @@
222 <filename>BBLAYERS</filename> variable within the <filename>conf/bblayers.conf</filename> 223 <filename>BBLAYERS</filename> variable within the <filename>conf/bblayers.conf</filename>
223 file. 224 file.
224 During the processing of each <filename>conf/layer.conf</filename> file, BitBake adds the 225 During the processing of each <filename>conf/layer.conf</filename> file, BitBake adds the
225 recipes, classes and configurations contained within the particular layer to the Yocto 226 recipes, classes and configurations contained within the particular layer to the source
226 Project. 227 directory.
227 </para> 228 </para>
228 </section> 229 </section>
229 230
@@ -267,7 +268,7 @@
267 <para> 268 <para>
268 As an example, consider the main formfactor recipe and a corresponding formfactor 269 As an example, consider the main formfactor recipe and a corresponding formfactor
269 append file both from the 270 append file both from the
270 <link linkend='yocto-project-files'>Yocto Project Files</link>. 271 <link linkend='source-directory'>source directory</link>.
271 Here is the main formfactor recipe, which is named <filename>formfactor_0.0.bb</filename> and 272 Here is the main formfactor recipe, which is named <filename>formfactor_0.0.bb</filename> and
272 located in the meta layer at <filename>meta/recipes-bsp/formfactor</filename>: 273 located in the meta layer at <filename>meta/recipes-bsp/formfactor</filename>:
273 <literallayout class='monospaced'> 274 <literallayout class='monospaced'>
@@ -450,7 +451,7 @@
450 <title>Customizing Images</title> 451 <title>Customizing Images</title>
451 452
452 <para> 453 <para>
453 You can customize Yocto Project images to satisfy particular requirements. 454 You can customize images to satisfy particular requirements.
454 This section describes several methods and provides guidelines for each. 455 This section describes several methods and provides guidelines for each.
455 </para> 456 </para>
456 457
@@ -552,13 +553,11 @@
552 <filename>EXTRA_IMAGE_FEATURES</filename></title> 553 <filename>EXTRA_IMAGE_FEATURES</filename></title>
553 554
554 <para> 555 <para>
555 Ultimately users might want to add extra image features to the set used by 556 Ultimately users might want to add extra image features to the set by using the
556 Yocto Project with the
557 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename> 557 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename>
558 variable. 558 variable.
559 To create these features, the best reference is 559 To create these features, the best reference is
560 <filename>meta/classes/core-image.bbclass</filename>, which shows how the 560 <filename>meta/classes/core-image.bbclass</filename>, which shows how to achieve this.
561 Yocto Project achieves this.
562 In summary, the file looks at the contents of the 561 In summary, the file looks at the contents of the
563 <filename>IMAGE_FEATURES</filename> 562 <filename>IMAGE_FEATURES</filename>
564 variable and then maps that into a set of tasks or packages. 563 variable and then maps that into a set of tasks or packages.
@@ -569,8 +568,8 @@
569 with specialized image <filename>.bb</filename> files. 568 with specialized image <filename>.bb</filename> files.
570 You can also add more features by configuring the 569 You can also add more features by configuring the
571 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename> 570 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</ulink></filename>
572 variable in the <filename>local.conf</filename> file found in the Yocto Project 571 variable in the <filename>local.conf</filename> file found in the source directory
573 files located in the build directory. 572 located in the build directory.
574 </para> 573 </para>
575 574
576 <para> 575 <para>
@@ -648,7 +647,7 @@
648 <title>Adding a Package</title> 647 <title>Adding a Package</title>
649 648
650 <para> 649 <para>
651 To add a package into the Yocto Project you need to write a recipe for it. 650 To add a package you need to write a recipe for it.
652 Writing a recipe means creating a <filename>.bb</filename> file that sets some 651 Writing a recipe means creating a <filename>.bb</filename> file that sets some
653 variables. 652 variables.
654 For information on variables that are useful for recipes and for information about recipe naming 653 For information on variables that are useful for recipes and for information about recipe naming
@@ -662,7 +661,7 @@
662 whether someone else has written one already. 661 whether someone else has written one already.
663 OpenEmbedded is a good place to look as it has a wider scope and range of packages. 662 OpenEmbedded is a good place to look as it has a wider scope and range of packages.
664 Because the Yocto Project aims to be compatible with OpenEmbedded, most recipes 663 Because the Yocto Project aims to be compatible with OpenEmbedded, most recipes
665 you find there should work in Yocto Project. 664 you find there should work for you.
666 </para> 665 </para>
667 666
668 <para> 667 <para>
@@ -1001,53 +1000,7 @@
1001 </section> 1000 </section>
1002 1001
1003 <section id="platdev-newmachine"> 1002 <section id="platdev-newmachine">
1004 <title>Porting the Yocto Project to a New Machine</title> 1003 <title>Adding a New Machine</title>
1005
1006<!--
1007WRITER NOTES:
1008
1009I had this chat with Richard:
1010
1011scottrif: Terminology question: We speak of "New Machines" or "Adding a New Machine"
1012 in YP. Are "Machines" restricted to architectures? In poky/meta/conf/machine we have .conf
1013 files for the five architectures. What exactly does the term "Machine" mean?
1014
1015 RP: no, each architecture has multiple different machines. A "machine" can correspond
1016 to a particular reference board or hardware product
1017 we just have one reference machine per architecture
1018 We're a little vague sometimes as "machine" can refer to either an individual platform,
1019 or in some cases a set of different platforms with common structure
1020 (e.g. netbooks)
1021
1022scottrif: So our reference machines we supply are the five qemu* machines?
1023
1024 RP: in oe-core, plus one "real" target in meta-yocto
1025 (per arch)
1026
1027scottrif: I see four in meta-yocto/conf/machine. Shouldn't there be five if there is one
1028 "real" target per architecture?
1029
1030 RP: yes, we don't have one for x86_64 :/
1031
1032scottrif: I think it is a bit difficult to map our four poky/meta-yocto/conf/machines to one of our
1033 five architectures. Some have key words in there that identify the architecture but
1034 beagleboard and atom-pc don't.
1035 We have a section that describes adding a Machine Configuration file to Yocto and
1036 it states that TARGET_ARCH is one of the most important variables that need to be
1037 set in the .conf file. The four I am looking at don't have that variable.
1038
1039 RP: That has changed a little now. You need to include the appropriate tune file
1040 which will set it for you
1041 People had a tendency not to set all the right pieces so it got abstracted
1042
1043scottrif: Got it. I see them in poky/meta/conf/machine/include.
1044
1045SOME CONCLUSIONS:
1046
1047I need to define the term machine. It is confusing. Then, this section needs to be cleared up
1048so that there are some definite steps on how to do this. I need more detail here.
1049
1050-->
1051 1004
1052 <para> 1005 <para>
1053 Adding a new machine to the Yocto Project is a straightforward process. 1006 Adding a new machine to the Yocto Project is a straightforward process.
@@ -1060,7 +1013,7 @@ so that there are some definite steps on how to do this. I need more detail her
1060 </para> 1013 </para>
1061 1014
1062 <para> 1015 <para>
1063 For a complete example that shows how to add a new machine to the Yocto Project, 1016 For a complete example that shows how to add a new machine,
1064 see the 1017 see the
1065 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development Example</ulink>" 1018 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development Example</ulink>"
1066 in Appendix A. 1019 in Appendix A.
@@ -1072,7 +1025,8 @@ so that there are some definite steps on how to do this. I need more detail her
1072 <para> 1025 <para>
1073 To add a machine configuration you need to add a <filename>.conf</filename> file 1026 To add a machine configuration you need to add a <filename>.conf</filename> file
1074 with details of the device being added to the <filename>conf/machine/</filename> file. 1027 with details of the device being added to the <filename>conf/machine/</filename> file.
1075 The name of the file determines the name the Yocto Project uses to reference the new machine. 1028 The name of the file determines the name the OpenEmbedded build system
1029 uses to reference the new machine.
1076 </para> 1030 </para>
1077 1031
1078 <para> 1032 <para>
@@ -1110,12 +1064,12 @@ so that there are some definite steps on how to do this. I need more detail her
1110 <title>Adding a Kernel for the Machine</title> 1064 <title>Adding a Kernel for the Machine</title>
1111 1065
1112 <para> 1066 <para>
1113 The Yocto Project needs to be able to build a kernel for the machine. 1067 The OpenEmbedded build system needs to be able to build a kernel for the machine.
1114 You need to either create a new kernel recipe for this machine, or extend an 1068 You need to either create a new kernel recipe for this machine, or extend an
1115 existing recipe. 1069 existing recipe.
1116 You can find several kernel examples in the 1070 You can find several kernel examples in the
1117 Yocto Project file's <filename>meta/recipes-kernel/linux</filename> 1071 source directory at <filename>meta/recipes-kernel/linux</filename>
1118 directory that you can use as references. 1072 that you can use as references.
1119 </para> 1073 </para>
1120 1074
1121 <para> 1075 <para>
@@ -1153,8 +1107,8 @@ so that there are some definite steps on how to do this. I need more detail her
1153 1107
1154 <para> 1108 <para>
1155 A formfactor configuration file provides information about the 1109 A formfactor configuration file provides information about the
1156 target hardware for which the Yocto Project is building and information that 1110 target hardware for which the image is being built and information that
1157 the Yocto Project cannot obtain from other sources such as the kernel. 1111 the build system cannot obtain from other sources such as the kernel.
1158 Some examples of information contained in a formfactor configuration file include 1112 Some examples of information contained in a formfactor configuration file include
1159 framebuffer orientation, whether or not the system has a keyboard, 1113 framebuffer orientation, whether or not the system has a keyboard,
1160 the positioning of the keyboard in relation to the screen, and 1114 the positioning of the keyboard in relation to the screen, and
@@ -1162,9 +1116,9 @@ so that there are some definite steps on how to do this. I need more detail her
1162 </para> 1116 </para>
1163 1117
1164 <para> 1118 <para>
1165 The Yocto Project uses reasonable defaults in most cases, but if customization is 1119 The build system uses reasonable defaults in most cases, but if customization is
1166 necessary you need to create a <filename>machconfig</filename> file 1120 necessary you need to create a <filename>machconfig</filename> file
1167 in the Yocto Project file's <filename>meta/recipes-bsp/formfactor/files</filename> 1121 in the <filename>meta/recipes-bsp/formfactor/files</filename>
1168 directory. 1122 directory.
1169 This directory contains directories for specific machines such as 1123 This directory contains directories for specific machines such as
1170 <filename>qemuarm</filename> and <filename>qemux86</filename>. 1124 <filename>qemuarm</filename> and <filename>qemux86</filename>.
@@ -1237,7 +1191,7 @@ so that there are some definite steps on how to do this. I need more detail her
1237 extended to support multiple libraries. 1191 extended to support multiple libraries.
1238 Many standard recipes are already extended and support multiple libraries. 1192 Many standard recipes are already extended and support multiple libraries.
1239 You can check in the <filename>meta/conf/multilib.conf</filename> 1193 You can check in the <filename>meta/conf/multilib.conf</filename>
1240 configuration file in the Yocto Project files directory to see how this is 1194 configuration file in the source directory to see how this is
1241 done using the <filename>BBCLASSEXTEND</filename> variable. 1195 done using the <filename>BBCLASSEXTEND</filename> variable.
1242 Eventually, all recipes will be covered and this list will be unneeded. 1196 Eventually, all recipes will be covered and this list will be unneeded.
1243 </para> 1197 </para>
@@ -1266,7 +1220,7 @@ so that there are some definite steps on how to do this. I need more detail her
1266 combination of multiple libraries you want to build. 1220 combination of multiple libraries you want to build.
1267 You accomplish this through your <filename>local.conf</filename> 1221 You accomplish this through your <filename>local.conf</filename>
1268 configuration file in the 1222 configuration file in the
1269 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>. 1223 <link linkend='build-directory'>build directory</link>.
1270 An example configuration would be as follows: 1224 An example configuration would be as follows:
1271 <literallayout class='monospaced'> 1225 <literallayout class='monospaced'>
1272 MACHINE = "qemux86-64" 1226 MACHINE = "qemux86-64"
@@ -1311,7 +1265,7 @@ so that there are some definite steps on how to do this. I need more detail her
1311 <listitem><para>A unique architecture is defined for the Multilib packages, 1265 <listitem><para>A unique architecture is defined for the Multilib packages,
1312 along with creating a unique deploy folder under 1266 along with creating a unique deploy folder under
1313 <filename>tmp/deploy/rpm</filename> in the 1267 <filename>tmp/deploy/rpm</filename> in the
1314 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>. 1268 <link linkend='build-directory'>build directory</link>.
1315 For example, consider <filename>lib32</filename> in a 1269 For example, consider <filename>lib32</filename> in a
1316 <filename>qemux86-64</filename> image. 1270 <filename>qemux86-64</filename> image.
1317 The possible architectures in the system are "all", "qemux86_64", 1271 The possible architectures in the system are "all", "qemux86_64",
@@ -1386,7 +1340,7 @@ so that there are some definite steps on how to do this. I need more detail her
1386 To use the <filename>menuconfig</filename> tool in the Yocto Project development 1340 To use the <filename>menuconfig</filename> tool in the Yocto Project development
1387 environment, you must build the tool using BitBake. 1341 environment, you must build the tool using BitBake.
1388 The following commands build and invoke <filename>menuconfig</filename> assuming the 1342 The following commands build and invoke <filename>menuconfig</filename> assuming the
1389 Yocto Project files top-level directory is <filename>~/poky</filename>: 1343 source directory top-level folder is <filename>~/poky</filename>:
1390 <literallayout class='monospaced'> 1344 <literallayout class='monospaced'>
1391 $ cd ~/poky 1345 $ cd ~/poky
1392 $ source oe-init-build-env 1346 $ source oe-init-build-env
@@ -1426,7 +1380,7 @@ so that there are some definite steps on how to do this. I need more detail her
1426 Where do you put your configuration files? 1380 Where do you put your configuration files?
1427 You can place these configuration files in the same area pointed to by 1381 You can place these configuration files in the same area pointed to by
1428 <filename>SRC_URI</filename>. 1382 <filename>SRC_URI</filename>.
1429 The Yocto Project build process will pick up the configuration and add it to the 1383 The OpenEmbedded build system will pick up the configuration and add it to the
1430 kernel's configuration. 1384 kernel's configuration.
1431 For example, assume you add the following to your 1385 For example, assume you add the following to your
1432 <filename>linux-yocto_3.0.bbappend</filename> file: 1386 <filename>linux-yocto_3.0.bbappend</filename> file:
@@ -1608,7 +1562,7 @@ so that there are some definite steps on how to do this. I need more detail her
1608 <para> 1562 <para>
1609 Sometimes a package name you are using might exist under an alias or as a similarly named 1563 Sometimes a package name you are using might exist under an alias or as a similarly named
1610 package in a different distribution. 1564 package in a different distribution.
1611 The Yocto Project implements a <filename>distro_check</filename> 1565 The OpenEmbedded build system implements a <filename>distro_check</filename>
1612 task that automatically connects to major distributions 1566 task that automatically connects to major distributions
1613 and checks for these situations. 1567 and checks for these situations.
1614 If the package exists under a different name in a different distribution, you get a 1568 If the package exists under a different name in a different distribution, you get a
@@ -1631,17 +1585,17 @@ so that there are some definite steps on how to do this. I need more detail her
1631 1585
1632 <para> 1586 <para>
1633 If you have more than one distribution alias, separate them with a space. 1587 If you have more than one distribution alias, separate them with a space.
1634 Note that the Yocto Project currently automatically checks the 1588 Note that the build system currently automatically checks the
1635 Fedora, OpenSuSE, Debian, Ubuntu, 1589 Fedora, OpenSuSE, Debian, Ubuntu,
1636 and Mandriva distributions for source package recipes without having to specify them 1590 and Mandriva distributions for source package recipes without having to specify them
1637 using the <filename>DISTRO_PN_ALIAS</filename> variable. 1591 using the <filename>DISTRO_PN_ALIAS</filename> variable.
1638 For example, the following command generates a report that lists the Linux distributions 1592 For example, the following command generates a report that lists the Linux distributions
1639 that include the sources for each of the Yocto Project recipes. 1593 that include the sources for each of the recipes.
1640 <literallayout class='monospaced'> 1594 <literallayout class='monospaced'>
1641 $ bitbake world -f -c distro_check 1595 $ bitbake world -f -c distro_check
1642 </literallayout> 1596 </literallayout>
1643 The results are stored in the <filename>build/tmp/log/distro_check-${DATETIME}.results</filename> 1597 The results are stored in the <filename>build/tmp/log/distro_check-${DATETIME}.results</filename>
1644 file found in the Yocto Project files area. 1598 file found in the source directory.
1645 </para> 1599 </para>
1646 </section> 1600 </section>
1647 1601
@@ -1649,18 +1603,18 @@ so that there are some definite steps on how to do this. I need more detail her
1649 <title>Building Software from an External Source</title> 1603 <title>Building Software from an External Source</title>
1650 1604
1651 <para> 1605 <para>
1652 By default, the Yocto Project build system does its work from within the 1606 By default, the OpenEmbedded build system does its work from within the
1653 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>. 1607 <link linkend='build-directory'>build directory</link>.
1654 The build process involves fetching the source files, unpacking them, and then patching them 1608 The build process involves fetching the source files, unpacking them, and then patching them
1655 if necessary before the build takes place. 1609 if necessary before the build takes place.
1656 </para> 1610 </para>
1657 1611
1658 <para> 1612 <para>
1659 Situations exist where you might want to build software from source files that are external to 1613 Situations exist where you might want to build software from source files that are external to
1660 and thus outside of the <link linkend='yocto-project-files'>Yocto Project Files</link>. 1614 and thus outside of the <link linkend='source-directory'>source directory</link>.
1661 For example, suppose you have a project that includes a new BSP with a heavily customized 1615 For example, suppose you have a project that includes a new BSP with a heavily customized
1662 kernel, a very minimal image, and some new user-space recipes. 1616 kernel, a very minimal image, and some new user-space recipes.
1663 And, you want to minimize the exposure to the Yocto Project build system to the 1617 And, you want to minimize the exposure to the build system to the
1664 development team so that they can focus on their project and maintain everyone's workflow 1618 development team so that they can focus on their project and maintain everyone's workflow
1665 as much as possible. 1619 as much as possible.
1666 In this case, you want a kernel source directory on the development machine where the 1620 In this case, you want a kernel source directory on the development machine where the
@@ -1829,7 +1783,7 @@ so that there are some definite steps on how to do this. I need more detail her
1829 <para> 1783 <para>
1830 A suitable GDB cross-binary is required that runs on your host computer but 1784 A suitable GDB cross-binary is required that runs on your host computer but
1831 also knows about the the ABI of the remote target. 1785 also knows about the the ABI of the remote target.
1832 You can get this binary from the the Yocto Project meta-toolchain. 1786 You can get this binary from the meta-toolchain.
1833 Here is an example: 1787 Here is an example:
1834 <literallayout class='monospaced'> 1788 <literallayout class='monospaced'>
1835 /usr/local/poky/eabi-glibc/arm/bin/arm-poky-linux-gnueabi-gdb 1789 /usr/local/poky/eabi-glibc/arm/bin/arm-poky-linux-gnueabi-gdb
@@ -1839,7 +1793,7 @@ so that there are some definite steps on how to do this. I need more detail her
1839 </para> 1793 </para>
1840 1794
1841 <para> 1795 <para>
1842 Alternatively, the Yocto Project can build the <filename>gdb-cross</filename> binary. 1796 Alternatively, you can use BitBake to build the <filename>gdb-cross</filename> binary.
1843 Here is an example: 1797 Here is an example:
1844 <literallayout class='monospaced'> 1798 <literallayout class='monospaced'>
1845 $ bitbake gdb-cross 1799 $ bitbake gdb-cross
@@ -1871,13 +1825,14 @@ so that there are some definite steps on how to do this. I need more detail her
1871 </para> 1825 </para>
1872 1826
1873 <para> 1827 <para>
1874 Alternatively, Yocto Project can build a custom directory of files for a specific 1828 Alternatively, the OpenEmbedded build system can build a custom directory of files
1829 for a specific
1875 debugging purpose by reusing its <filename>tmp/rootfs</filename> directory. 1830 debugging purpose by reusing its <filename>tmp/rootfs</filename> directory.
1876 This directory contains the contents of the last built image. 1831 This directory contains the contents of the last built image.
1877 This process assumes two things: 1832 This process assumes two things:
1878 <itemizedlist> 1833 <itemizedlist>
1879 <listitem><para>The image running on the target was the last image to 1834 <listitem><para>The image running on the target was the last image to
1880 be built by the Yocto Project.</para></listitem> 1835 be built.</para></listitem>
1881 <listitem><para>The package (<filename>foo</filename> in the following 1836 <listitem><para>The package (<filename>foo</filename> in the following
1882 example) that contains the inferior binary to be debugged has been built 1837 example) that contains the inferior binary to be debugged has been built
1883 without optimization and has debugging information available.</para></listitem> 1838 without optimization and has debugging information available.</para></listitem>
@@ -1975,8 +1930,8 @@ so that there are some definite steps on how to do this. I need more detail her
1975 bottlenecks in both userspace software and in the kernel. 1930 bottlenecks in both userspace software and in the kernel.
1976 This profiler provides answers to questions like "Which functions does my application spend 1931 This profiler provides answers to questions like "Which functions does my application spend
1977 the most time in when doing X?" 1932 the most time in when doing X?"
1978 Because the Yocto Project is well integrated with OProfile, it makes profiling applications on target 1933 Because the OpenEmbedded build system is well integrated with OProfile, it makes profiling
1979 hardware straightforward. 1934 applications on target hardware straightforward.
1980 </para> 1935 </para>
1981 1936
1982 <para> 1937 <para>
@@ -1994,7 +1949,7 @@ so that there are some definite steps on how to do this. I need more detail her
1994 For successful call graph analysis, the binaries must preserve the frame 1949 For successful call graph analysis, the binaries must preserve the frame
1995 pointer register and should also be compiled with the 1950 pointer register and should also be compiled with the
1996 <filename>-fno-omit-framepointer</filename> flag. 1951 <filename>-fno-omit-framepointer</filename> flag.
1997 In the Yocto Project you can achieve this by setting the 1952 You can achieve this by setting the
1998 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SELECTED_OPTIMIZATION'>SELECTED_OPTIMIZATION</ulink></filename> 1953 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SELECTED_OPTIMIZATION'>SELECTED_OPTIMIZATION</ulink></filename>
1999 variable to 1954 variable to
2000 <filename>-fexpensive-optimizations -fno-omit-framepointer -frename-registers -O2</filename>. 1955 <filename>-fexpensive-optimizations -fno-omit-framepointer -frename-registers -O2</filename>.
@@ -2036,7 +1991,7 @@ so that there are some definite steps on how to do this. I need more detail her
2036 <note> 1991 <note>
2037 To profile the kernel, you would specify the 1992 To profile the kernel, you would specify the
2038 <filename>--vmlinux=/path/to/vmlinux</filename> option. 1993 <filename>--vmlinux=/path/to/vmlinux</filename> option.
2039 The <filename>vmlinux</filename> file is usually in the Yocto Project file's 1994 The <filename>vmlinux</filename> file is usually in the source directory in the
2040 <filename>/boot/</filename> directory and must match the running kernel. 1995 <filename>/boot/</filename> directory and must match the running kernel.
2041 </note> 1996 </note>
2042 </para> 1997 </para>
@@ -2079,7 +2034,7 @@ so that there are some definite steps on how to do this. I need more detail her
2079 </para> 2034 </para>
2080 2035
2081 <para> 2036 <para>
2082 Even though the Yocto Project usually includes all needed patches on the target device, you 2037 Even though the source directory usually includes all needed patches on the target device, you
2083 might find you need other OProfile patches for recent OProfileUI features. 2038 might find you need other OProfile patches for recent OProfileUI features.
2084 If so, see the <ulink url='&YOCTO_GIT_URL;/cgit.cgi/oprofileui/tree/README'> 2039 If so, see the <ulink url='&YOCTO_GIT_URL;/cgit.cgi/oprofileui/tree/README'>
2085 OProfileUI README</ulink> for the most recent information. 2040 OProfileUI README</ulink> for the most recent information.
@@ -2142,18 +2097,18 @@ so that there are some definite steps on how to do this. I need more detail her
2142 </para> 2097 </para>
2143 2098
2144 <para> 2099 <para>
2145 Downloaded archives reside in the Yocto Project's build directory in 2100 Downloaded archives reside in the build directory in
2146 <filename>/tmp</filename> and are cleared up when they are no longer in use. 2101 <filename>/tmp</filename> and are cleared up when they are no longer in use.
2147 </para> 2102 </para>
2148 2103
2149 <para> 2104 <para>
2150 If you wish to perform kernel profiling, you need to be sure 2105 If you wish to perform kernel profiling, you need to be sure
2151 a <filename>vmlinux</filename> file that matches the running kernel is available. 2106 a <filename>vmlinux</filename> file that matches the running kernel is available.
2152 In the Yocto Project, that file is usually located in 2107 In the source directory, that file is usually located in
2153 <filename>/boot/vmlinux-KERNELVERSION</filename>, where 2108 <filename>/boot/vmlinux-KERNELVERSION</filename>, where
2154 <filename>KERNEL-version</filename> is the version of the kernel. 2109 <filename>KERNEL-version</filename> is the version of the kernel.
2155 The Yocto Project generates separate <filename>vmlinux</filename> packages for each kernel 2110 The OpenEmbedded build system generates separate <filename>vmlinux</filename>
2156 it builds. 2111 packages for each kernel it builds.
2157 Thus, it should just be a question of making sure a matching package is 2112 Thus, it should just be a question of making sure a matching package is
2158 installed (e.g. <filename>opkg install kernel-vmlinux</filename>. 2113 installed (e.g. <filename>opkg install kernel-vmlinux</filename>.
2159 The files are automatically installed into development and profiling images 2114 The files are automatically installed into development and profiling images
@@ -2169,7 +2124,7 @@ so that there are some definite steps on how to do this. I need more detail her
2169 on the viewer system. 2124 on the viewer system.
2170 The "<link linkend='platdev-gdb-remotedebug-launch-gdb'>Launching GDB on the Host Computer</link>" 2125 The "<link linkend='platdev-gdb-remotedebug-launch-gdb'>Launching GDB on the Host Computer</link>"
2171 section covers how to create such a directory with 2126 section covers how to create such a directory with
2172 the Yocto Project and how to use the OProfileUI Settings dialog to specify the location. 2127 the source directory and how to use the OProfileUI Settings dialog to specify the location.
2173 If you specify the directory, it will be used when the file checksums 2128 If you specify the directory, it will be used when the file checksums
2174 match those on the system you are profiling. 2129 match those on the system you are profiling.
2175 </para> 2130 </para>
diff --git a/documentation/dev-manual/dev-manual-intro.xml b/documentation/dev-manual/dev-manual-intro.xml
index fd35e283c2..7caa6eb720 100644
--- a/documentation/dev-manual/dev-manual-intro.xml
+++ b/documentation/dev-manual/dev-manual-intro.xml
@@ -18,7 +18,8 @@
18 sources where you can find more detail. 18 sources where you can find more detail.
19 For example, detailed information on Git, repositories and open source in general 19 For example, detailed information on Git, repositories and open source in general
20 can be found in many places. 20 can be found in many places.
21 Another example is how to get set up to use the Yocto Project, which our Yocto Project Quick Start covers. 21 Another example is how to get set up to use the Yocto Project, which our Yocto Project
22 Quick Start covers.
22 </para> 23 </para>
23 24
24 <para> 25 <para>
@@ -44,13 +45,7 @@
44 applications.</para></listitem> 45 applications.</para></listitem>
45 <listitem><para>An overview and understanding of the emulation environment used with 46 <listitem><para>An overview and understanding of the emulation environment used with
46 the Yocto Project (QEMU).</para></listitem> 47 the Yocto Project (QEMU).</para></listitem>
47<!-- <listitem><para>A discussion of target-level analysis techniques, tools, tips, 48 <listitem><para>An understanding of basic kernel architecture and concepts.</para></listitem>
48 and tricks.</para></listitem>
49 <listitem><para>Considerations for deploying your final product.</para></listitem> -->
50 <listitem><para>An understanding of basic kernel architecture and
51 concepts.</para></listitem>
52<!-- <listitem><para>Information that will help you migrate an existing project to the
53 Yocto Project development environment.</para></listitem> -->
54 <listitem><para>Many references to other sources of related information.</para></listitem> 49 <listitem><para>Many references to other sources of related information.</para></listitem>
55 </itemizedlist> 50 </itemizedlist>
56 </para> 51 </para>
@@ -97,7 +92,7 @@
97 <listitem><para><emphasis> 92 <listitem><para><emphasis>
98 <ulink url='&YOCTO_DOCS_REF_URL;'> 93 <ulink url='&YOCTO_DOCS_REF_URL;'>
99 The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference 94 The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference
100 guide to the Yocto Project build component known as "Poky." 95 guide to the OpenEmbedded build system known as "Poky."
101 The manual also contains a reference chapter on Board Support Package (BSP) 96 The manual also contains a reference chapter on Board Support Package (BSP)
102 layout.</para></listitem> 97 layout.</para></listitem>
103 <listitem><para><emphasis> 98 <listitem><para><emphasis>
@@ -117,7 +112,7 @@
117 some work flow examples.</para></listitem> 112 some work flow examples.</para></listitem>
118 <listitem><para><emphasis> 113 <listitem><para><emphasis>
119 <ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'> 114 <ulink url='http://www.youtube.com/watch?v=3ZlOu-gLsh0'>
120 Yocto Eclipse Plug-in</ulink>:</emphasis> A step-by-step instructional video that 115 Eclipse IDE Yocto Plug-in</ulink>:</emphasis> A step-by-step instructional video that
121 demonstrates how an application developer uses Yocto Plug-in features within 116 demonstrates how an application developer uses Yocto Plug-in features within
122 the Eclipse IDE.</para></listitem> 117 the Eclipse IDE.</para></listitem>
123 <listitem><para><emphasis> 118 <listitem><para><emphasis>
@@ -158,22 +153,26 @@
158 <listitem><para><emphasis>Internet Relay Chat (IRC):</emphasis> 153 <listitem><para><emphasis>Internet Relay Chat (IRC):</emphasis>
159 Two IRC channels on freenode are available 154 Two IRC channels on freenode are available
160 for Yocto Project and Poky discussions: <filename>#yocto</filename> and 155 for Yocto Project and Poky discussions: <filename>#yocto</filename> and
161 <filename>#poky</filename>.</para></listitem> 156 <filename>#poky</filename>, respectively.</para></listitem>
162 <listitem><para><emphasis> 157 <listitem><para><emphasis>
163 <ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis> 158 <ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis>
164 The company where the Yocto Project build system Poky was first developed. 159 The company that initially developed the Poky project, which is the basis
165 OpenedHand has since been acquired by Intel Corporation.</para></listitem> 160 for the OpenEmbedded build system used by the Yocto Project.
161 OpenedHand was acquired by Intel Corporation in 2008.</para></listitem>
166 <listitem><para><emphasis> 162 <listitem><para><emphasis>
167 <ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis> 163 <ulink url='http://www.intel.com/'>Intel Corporation</ulink>:</emphasis>
168 The company that acquired OpenedHand in 2008 and continues development on the 164 A multinational semiconductor chip manufacturer company whose Software and
169 Yocto Project.</para></listitem> 165 Services Group created and supports the Yocto Project.
166 Intel acquired OpenedHand in 2008.</para></listitem>
170 <listitem><para><emphasis> 167 <listitem><para><emphasis>
171 <ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis> 168 <ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis>
172 The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives 169 The build system used by the Yocto Project.
173 from and to which it contributes.</para></listitem> 170 This project is the upstream, generic, embedded distribution from which the Yocto
171 Project derives its build system (Poky) from and to which it contributes.</para></listitem>
174 <listitem><para><emphasis> 172 <listitem><para><emphasis>
175 <ulink url='http://developer.berlios.de/projects/bitbake/'> 173 <ulink url='http://developer.berlios.de/projects/bitbake/'>
176 BitBake</ulink>:</emphasis> The tool used to process Yocto Project metadata.</para></listitem> 174 BitBake</ulink>:</emphasis> The tool used by the OpenEmbedded build systm
175 to process project metadata.</para></listitem>
177 <listitem><para><emphasis> 176 <listitem><para><emphasis>
178 <ulink url='http://bitbake.berlios.de/manual/'> 177 <ulink url='http://bitbake.berlios.de/manual/'>
179 BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool. 178 BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
diff --git a/documentation/dev-manual/dev-manual-kernel-appendix.xml b/documentation/dev-manual/dev-manual-kernel-appendix.xml
index 0f69ef1067..04db02a7a6 100644
--- a/documentation/dev-manual/dev-manual-kernel-appendix.xml
+++ b/documentation/dev-manual/dev-manual-kernel-appendix.xml
@@ -12,17 +12,6 @@
12 or even altering the source code itself. 12 or even altering the source code itself.
13 This appendix presents simple examples that modify the kernel source code, 13 This appendix presents simple examples that modify the kernel source code,
14 change the kernel configuration, and add a kernel source recipe. 14 change the kernel configuration, and add a kernel source recipe.
15<!-- [WRITER'S NOTE: I might want to work in information about applying a local
16 change to a kernel layer and also pushing a change upstream into the tree]
17 <orderedlist>
18 <listitem><para>Iteratively determine and set kernel configurations and make
19 kernel recipe changes.</para></listitem>
20 <listitem><para>Apply your configuration changes to your local kernel layer.
21 </para></listitem>
22 <listitem><para>Push your configuration and recipe changes upstream into the
23 Yocto Project source repositories to make them available to the community.
24 </para></listitem>
25 </orderedlist> -->
26 </para> 15 </para>
27 16
28 <section id='modifying-the-kernel-source-code'> 17 <section id='modifying-the-kernel-source-code'>
@@ -45,18 +34,17 @@
45 Briefly, you need the following: 34 Briefly, you need the following:
46 <itemizedlist> 35 <itemizedlist>
47 <listitem><para>A local 36 <listitem><para>A local
48 <link linkend='yocto-project-files'>Yocto Project Files</link> 37 <link linkend='source-directory'>source directory</link> for the
49 Git repository</para></listitem> 38 poky Git repository</para></listitem>
50 <listitem><para>The 39 <listitem><para>Local copies of the
51 <link linkend='poky-extras-repo'><filename>poky-extras</filename></link> 40 <link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
52 Git repository placed within the local Yocto Project files Git 41 Git repository placed within the source directory.</para></listitem>
53 repository</para></listitem>
54 <listitem><para>A bare clone of the 42 <listitem><para>A bare clone of the
55 <link linkend='local-kernel-files'>Linux Yocto Kernel</link> upstream Git 43 <link linkend='local-kernel-files'>Linux Yocto Kernel</link> upstream Git
56 repository to which you want to push your modifications. 44 repository to which you want to push your modifications.
57 </para></listitem> 45 </para></listitem>
58 <listitem><para>A copy of that bare clone in which you make your source 46 <listitem><para>A copy of that bare clone in which you make your source
59 modifcations</para></listitem> 47 modifications</para></listitem>
60 </itemizedlist> 48 </itemizedlist>
61 </para> 49 </para>
62 50
@@ -78,18 +66,19 @@
78 <para> 66 <para>
79 Here is a brief description of the four areas: 67 Here is a brief description of the four areas:
80 <itemizedlist> 68 <itemizedlist>
81 <listitem><para><emphasis>Local Yocto Project Files Git Repository:</emphasis> 69 <listitem><para><emphasis>Local Source Directory:</emphasis>
82 This area contains all the metadata that supports building images in the 70 This area contains all the metadata that supports building images
83 Yocto Project build environment - the local Yocto Project files. 71 using the OpenEmbedded build system.
84 In this example, the local Yocto Project files Git repository also 72 In this example, the source directory also
85 contains the build directory, which contains the configuration directory 73 contains the build directory, which contains the configuration directory
86 that lets you control the build. 74 that lets you control the build.
87 In this example, the repository also contains the 75 Also in this example, the source directory contains local copies of the
88 <filename>poky-extras</filename> Git repository.</para> 76 <filename>poky-extras</filename> Git repository.</para>
89 <para>See the bulleted item 77 <para>See the bulleted item
90 "<link linkend='local-yp-release'>Yocto Project Release</link>" 78 "<link linkend='local-yp-release'>Yocto Project Release</link>"
91 for information on how to get these files.</para></listitem> 79 for information on how to get these files on your local system.</para></listitem>
92 <listitem><para><emphasis><filename>poky-extras</filename> Git Repository:</emphasis> 80 <listitem><para><emphasis>Local copies of the<filename>poky-extras</filename>
81 Git Repository:</emphasis>
93 This area contains the <filename>meta-kernel-dev</filename> layer, 82 This area contains the <filename>meta-kernel-dev</filename> layer,
94 which is where you make changes that append the kernel build recipes. 83 which is where you make changes that append the kernel build recipes.
95 You edit <filename>.bbappend</filename> files to locate your 84 You edit <filename>.bbappend</filename> files to locate your
@@ -133,23 +122,23 @@
133 </section> 122 </section>
134 123
135 <section id='setting-up-the-local-yocto-project-files-git-repository'> 124 <section id='setting-up-the-local-yocto-project-files-git-repository'>
136 <title>Setting Up the Local Yocto Project Files Git Repository</title> 125 <title>Setting Up the Local Source Directory</title>
137 126
138 <para> 127 <para>
139 You can get the local Yocto Project files through tarball extraction or by 128 You can set up the source directory through tarball extraction or by
140 cloning the <filename>poky</filename> Git repository. 129 cloning the <filename>poky</filename> Git repository.
141 This example uses <filename>poky</filename> as the root directory of the 130 This example uses <filename>poky</filename> as the root directory of the
142 local Yocto Project files Git repository. 131 local source directory.
143 See the bulleted item 132 See the bulleted item
144 "<link linkend='local-yp-release'>Yocto Project Release</link>" 133 "<link linkend='local-yp-release'>Yocto Project Release</link>"
145 for information on how to get these files. 134 for information on how to get these files.
146 </para> 135 </para>
147 136
148 <para> 137 <para>
149 Once you have the repository set up, 138 Once you have source directory set up,
150 you have many development branches from which you can work. 139 you have many development branches from which you can work.
151 From inside the repository you can see the branch names and the tag names used 140 From inside the local repository you can see the branch names and the tag names used
152 in the Git repository using either of the following two commands: 141 in the upstream Git repository by using either of the following commands:
153 <literallayout class='monospaced'> 142 <literallayout class='monospaced'>
154 $ cd poky 143 $ cd poky
155 $ git branch -a 144 $ git branch -a
@@ -168,15 +157,15 @@
168 </section> 157 </section>
169 158
170 <section id='setting-up-the-poky-extras-git-repository'> 159 <section id='setting-up-the-poky-extras-git-repository'>
171 <title>Setting Up the poky-extras Git Repository</title> 160 <title>Setting Up the Local poky-extras Git Repository</title>
172 161
173 <para> 162 <para>
174 This example places the <filename>poky-extras</filename> Git repository inside 163 This example creates a local copy of the <filename>poky-extras</filename> Git
175 of <filename>poky</filename>. 164 repository inside the <filename>poky</filename> source directory.
176 See the bulleted item 165 See the bulleted item "<link linkend='poky-extras-repo'>The
177 "<link linkend='poky-extras-repo'>The
178 <filename>poky-extras</filename> Git Repository</link>" 166 <filename>poky-extras</filename> Git Repository</link>"
179 for information on how to get the <filename>poky-extras</filename> repository. 167 for information on how to set up a local copy of the
168 <filename>poky-extras</filename> repository.
180 </para> 169 </para>
181 170
182 <para> 171 <para>
@@ -369,7 +358,7 @@
369 <para> 358 <para>
370 Once the source code has been modified, you need to use Git to push the changes to 359 Once the source code has been modified, you need to use Git to push the changes to
371 the bare clone. 360 the bare clone.
372 If you do not push the changes, then the Yocto Project build system will not pick 361 If you do not push the changes, then the OpenEmbedded build system will not pick
373 up the changed source files. 362 up the changed source files.
374 </para> 363 </para>
375 364
@@ -386,7 +375,7 @@
386 375
387 <para> 376 <para>
388 At this point, the source has been changed and pushed. 377 At this point, the source has been changed and pushed.
389 The example now defines some variables used by the Yocto Project build system 378 The example now defines some variables used by the OpenEmbedded build system
390 to locate your kernel source. 379 to locate your kernel source.
391 You essentially need to identify where to find the kernel recipe and the changed source code. 380 You essentially need to identify where to find the kernel recipe and the changed source code.
392 You also need to be sure some basic configurations are in place that identify the 381 You also need to be sure some basic configurations are in place that identify the
@@ -447,12 +436,6 @@
447 <literallayout class='monospaced'> 436 <literallayout class='monospaced'>
448 KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git" 437 KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git"
449 </literallayout></para></listitem> 438 </literallayout></para></listitem>
450<!-- <listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
451 <filename>linux-yocto_3.2.bbappend</filename> file, you need to specify
452 the kernel machine with the following statement:
453 <literallayout class='monospaced'>
454 KMACHINE_qemux86 = "standard/default/common-pc/base"
455 </literallayout></para></listitem> -->
456 </itemizedlist> 439 </itemizedlist>
457 </para> 440 </para>
458 441
@@ -494,7 +477,7 @@
494 $ bitbake -c cleanall linux-yocto 477 $ bitbake -c cleanall linux-yocto
495 </literallayout></para> 478 </literallayout></para>
496 <para><note>Never remove any files by hand from the <filename>tmp/deploy</filename> 479 <para><note>Never remove any files by hand from the <filename>tmp/deploy</filename>
497 directory insided the local Yocto Project files build directory. 480 directory insided the build directory.
498 Always use the BitBake <filename>cleanall</filename> task to clear 481 Always use the BitBake <filename>cleanall</filename> task to clear
499 out previous builds.</note></para></listitem> 482 out previous builds.</note></para></listitem>
500 <listitem><para>Next, build the kernel image using this command: 483 <listitem><para>Next, build the kernel image using this command:
@@ -539,7 +522,7 @@
539 <para> 522 <para>
540 If you took the time to work through the example that modifies the kernel source code 523 If you took the time to work through the example that modifies the kernel source code
541 in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source 524 in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
542 Code</link>" you should already have the Yocto Project files set up on your 525 Code</link>" you should already have the source directory set up on your
543 host machine. 526 host machine.
544 If this is the case, go to the next section, which is titled 527 If this is the case, go to the next section, which is titled
545 "<link linkend='examining-the-default-config-smp-behavior'>Examining the Default 528 "<link linkend='examining-the-default-config-smp-behavior'>Examining the Default
@@ -548,21 +531,21 @@
548 </para> 531 </para>
549 532
550 <para> 533 <para>
551 If you don't have the Yocto Project files established on your system, 534 If you don't have the source directory established on your system,
552 you can get them through tarball extraction or by 535 you can get them through tarball extraction or by
553 cloning the <filename>poky</filename> Git repository. 536 cloning the <filename>poky</filename> Git repository.
554 This example uses <filename>poky</filename> as the root directory of the 537 This example uses <filename>poky</filename> as the root directory of the
555 local <link linkend='yocto-project-files'>Yocto Project Files</link> Git repository. 538 <link linkend='source-directory'>source directory</link>.
556 See the bulleted item 539 See the bulleted item
557 "<link linkend='local-yp-release'>Yocto Project Release</link>" 540 "<link linkend='local-yp-release'>Yocto Project Release</link>"
558 for information on how to get these files. 541 for information on how to get these files.
559 </para> 542 </para>
560 543
561 <para> 544 <para>
562 Once you have the repository set up, 545 Once you have the local copy of the repository set up,
563 you have many development branches from which you can work. 546 you have many development branches from which you can work.
564 From inside the repository you can see the branch names and the tag names used 547 From inside the repository you can see the branch names and the tag names used
565 in the Git repository using either of the following two commands: 548 in the upstream Git repository using either of the following commands:
566 <literallayout class='monospaced'> 549 <literallayout class='monospaced'>
567 $ cd poky 550 $ cd poky
568 $ git branch -a 551 $ git branch -a
@@ -680,7 +663,7 @@
680 to set kernel configurations. 663 to set kernel configurations.
681 You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment. 664 You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment.
682 Thus, the environment must be set up using the <filename>oe-init-build-env</filename> 665 Thus, the environment must be set up using the <filename>oe-init-build-env</filename>
683 script found in the Yocto Project files Git repository build directory. 666 script found in the build directory.
684 If you have not sourced this script do so with the following commands: 667 If you have not sourced this script do so with the following commands:
685 <literallayout class='monospaced'> 668 <literallayout class='monospaced'>
686 $ cd ~/poky 669 $ cd ~/poky
@@ -693,7 +676,7 @@
693 to use the tool to interactively change the kernel configuration. 676 to use the tool to interactively change the kernel configuration.
694 In this example, we are basing our changes on the <filename>linux-yocto-3.2</filename> 677 In this example, we are basing our changes on the <filename>linux-yocto-3.2</filename>
695 kernel. 678 kernel.
696 The Yocto Project build environment recognizes this kernel as 679 The OpenEmbedded build system recognizes this kernel as
697 <filename>linux-yocto</filename>. 680 <filename>linux-yocto</filename>.
698 Thus, the following commands from the shell in which you previously sourced the 681 Thus, the following commands from the shell in which you previously sourced the
699 environment initialization script cleans the shared state memory and the 682 environment initialization script cleans the shared state memory and the
@@ -727,8 +710,7 @@
727 is updated. 710 is updated.
728 This is the file that the build system uses to configure the Linux Yocto kernel 711 This is the file that the build system uses to configure the Linux Yocto kernel
729 when it is built. 712 when it is built.
730 You can find and examine this file in the Yocto Project Files Git repository in 713 You can find and examine this file in the build directory.
731 the build directory.
732 This example uses the following: 714 This example uses the following:
733 <literallayout class='monospaced'> 715 <literallayout class='monospaced'>
734 ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f... 716 ~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f...
@@ -762,7 +744,7 @@
762 <note> 744 <note>
763 Be sure to make a copy of the <filename>.config</filename> and don't just 745 Be sure to make a copy of the <filename>.config</filename> and don't just
764 rename it. 746 rename it.
765 The Yocto Project build system needs an existing <filename>.config</filename> 747 The build system needs an existing <filename>.config</filename>
766 from which to work. 748 from which to work.
767 </note> 749 </note>
768 </para> 750 </para>
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml
index 69e09e6466..a4120f84db 100644
--- a/documentation/dev-manual/dev-manual-model.xml
+++ b/documentation/dev-manual/dev-manual-model.xml
@@ -34,8 +34,8 @@
34 get the changes upstream and applied in the affected recipes.</para></listitem> 34 get the changes upstream and applied in the affected recipes.</para></listitem>
35 <listitem><para><emphasis>Image Development using Hob:</emphasis> 35 <listitem><para><emphasis>Image Development using Hob:</emphasis>
36 You can use the <ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob</ulink> to build 36 You can use the <ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob</ulink> to build
37 custom operating system images within the Yocto Project build environment. 37 custom operating system images within the build environment.
38 Hob provides an efficient interface to the Yocto Project build system.</para></listitem> 38 Hob provides an efficient interface to the OpenEmbedded build system.</para></listitem>
39 </itemizedlist> 39 </itemizedlist>
40</para> 40</para>
41 41
@@ -94,18 +94,20 @@
94 and the 94 and the
95 "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both 95 "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
96 in the Yocto Project Quick Start for requirements.</para></listitem> 96 in the Yocto Project Quick Start for requirements.</para></listitem>
97 <listitem><para><emphasis>Establish a local copy of the Yocto Project files on your 97 <listitem><para><emphasis>Establish a local copy of the project files on your
98 system</emphasis>: You need to have the Yocto Project files available on your host system. 98 system</emphasis>: You need this <link linkend='source-directory'>source
99 Having the Yocto Project files on your system gives you access to the build 99 directory</link> available on your host system.
100 Having these files on your system gives you access to the build
100 process and to the tools you need. 101 process and to the tools you need.
101 For information on how to get these files, see the 102 For information on how to set up the source directory, see the
102 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem> 103 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
103 <listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having 104 <listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having
104 the BSP files on your system gives you access to the build 105 the BSP files on your system gives you access to the build
105 process and to the tools you need for creating a BSP. 106 process and to the tools you need for creating a BSP.
106 For information on how to get these files, see the 107 For information on how to get these files, see the
107 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem> 108 "<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
108 <listitem><para><emphasis>Choose a Yocto Project-supported BSP as your base BSP</emphasis>: 109 <listitem><para><emphasis>Choose a BSP that is supported by the Yocto Project
110 as your base BSP</emphasis>:
109 The Yocto Project ships with several BSPs that support various hardware. 111 The Yocto Project ships with several BSPs that support various hardware.
110 It is best to base your new BSP on an existing BSP rather than create all the 112 It is best to base your new BSP on an existing BSP rather than create all the
111 recipes and configuration files from scratch. 113 recipes and configuration files from scratch.
@@ -138,7 +140,7 @@
138 The layer, in this case, would be where all the recipes that define those dependencies 140 The layer, in this case, would be where all the recipes that define those dependencies
139 are kept. 141 are kept.
140 The key point for a layer is that it is an isolated area that contains 142 The key point for a layer is that it is an isolated area that contains
141 all the relevant information for the project that the Yocto Project build 143 all the relevant information for the project that the OpenEmbedded build
142 system knows about. 144 system knows about.
143 For more information on layers, see the 145 For more information on layers, see the
144 "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>" 146 "<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>"
@@ -146,11 +148,11 @@
146 For more information on BSP layers, see the 148 For more information on BSP layers, see the
147 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" section in the 149 "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" section in the
148 Yocto Project Board Support Package (BSP) Developer's Guide.</para> 150 Yocto Project Board Support Package (BSP) Developer's Guide.</para>
149 <note>The Yocto Project supports four BSPs that are part of the 151 <note>Four BSPs exist that are part of the
150 Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>, 152 Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
151 <filename>mpc8315e</filename>, and <filename>routerstationpro</filename>. 153 <filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
152 The recipes and configurations for these four BSPs are located and dispersed 154 The recipes and configurations for these four BSPs are located and dispersed
153 within the <link linkend='yocto-project-files'>Yocto Project Files</link>. 155 within the <link linkend='source-directory'>source directory</link>.
154 On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest, 156 On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest,
155 N450, Cedar Trail, Fish River, Fish River Island II, Romley, sys940x, tlk, 157 N450, Cedar Trail, Fish River, Fish River Island II, Romley, sys940x, tlk,
156 and Sugar Bay exist in their own separate layers within the larger 158 and Sugar Bay exist in their own separate layers within the larger
@@ -163,7 +165,7 @@
163 configuration information. 165 configuration information.
164 You can see the standard layout for the Crown Bay BSP in this example by examining the 166 You can see the standard layout for the Crown Bay BSP in this example by examining the
165 directory structure of the <filename>meta-crownbay</filename> layer inside the 167 directory structure of the <filename>meta-crownbay</filename> layer inside the
166 local Yocto Project files.</para></listitem> 168 source directory.</para></listitem>
167 <listitem><para><emphasis>Make configuration changes to your new BSP 169 <listitem><para><emphasis>Make configuration changes to your new BSP
168 layer</emphasis>: The standard BSP layer structure organizes the files you need 170 layer</emphasis>: The standard BSP layer structure organizes the files you need
169 to edit in <filename>conf</filename> and several <filename>recipes-*</filename> 171 to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
@@ -177,15 +179,15 @@
177 </para></listitem> 179 </para></listitem>
178 <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
179 changes to your BSP layer, there remains a few things 181 changes to your BSP layer, there remains a few things
180 you need to do for the Yocto Project 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.
181 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
182 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.</para>
183 <para>The entire process for building an image is overviewed in the section 185 <para>The entire process for building an image is overviewed in the section
184 "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section 186 "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
185 of the Yocto Project Quick Start. 187 of the Yocto Project Quick Start.
186 You might want to reference this information.</para></listitem> 188 You might want to reference this information.</para></listitem>
187 <listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake 189 <listitem><para><emphasis>Build the image</emphasis>: The OpenEmbedded build system
188 tool to build images based on the type of image you want to create. 190 uses the BitBake tool to build images based on the type of image you want to create.
189 You can find more information on BitBake 191 You can find more information on BitBake
190 <ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para> 192 <ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
191 <para>The build process supports several types of images to satisfy different needs. 193 <para>The build process supports several types of images to satisfy different needs.
@@ -295,7 +297,7 @@
295 297
296 <para> 298 <para>
297 The overall result is a Git-maintained repository from which all the supported 299 The overall result is a Git-maintained repository from which all the supported
298 Yocto Project kernel types can be derived for all the supported Yocto Project devices. 300 kernel types can be derived for all the supported devices.
299 A big advantage to this scheme is the sharing of common features by keeping them in 301 A big advantage to this scheme is the sharing of common features by keeping them in
300 "larger" branches within the tree. 302 "larger" branches within the tree.
301 This practice eliminates redundant storage of similar features shared among kernels. 303 This practice eliminates redundant storage of similar features shared among kernels.
@@ -313,7 +315,7 @@
313 <para> 315 <para>
314 Storage of all the available kernel source code is one thing, while representing the 316 Storage of all the available kernel source code is one thing, while representing the
315 code on your host development system is another. 317 code on your host development system is another.
316 Conceptually, you can think of the Yocto Project kernel source repositories as all the 318 Conceptually, you can think of the kernel source repositories as all the
317 source files necessary for all the supported kernels. 319 source files necessary for all the supported kernels.
318 As a developer, you are just interested in the source files for the kernel on 320 As a developer, you are just interested in the source files for the kernel on
319 on which you are working. 321 on which you are working.
@@ -358,7 +360,7 @@
358 <para> 360 <para>
359 What happens during the build? 361 What happens during the build?
360 When you build the kernel on your development system all files needed for the build 362 When you build the kernel on your development system all files needed for the build
361 are taken from the Yocto Project source repositories pointed to by the 363 are taken from the source repositories pointed to by the
362 <filename>SRC_URI</filename> variable and gathered in a temporary work area 364 <filename>SRC_URI</filename> variable and gathered in a temporary work area
363 where they are subsequently used to create the unique kernel. 365 where they are subsequently used to create the unique kernel.
364 Thus, in a sense, the process constructs a local source tree specific to your 366 Thus, in a sense, the process constructs a local source tree specific to your
@@ -375,7 +377,7 @@
375 </para> 377 </para>
376 378
377 <para> 379 <para>
378 Again, for a complete discussion of the Yocto Project kernel's architcture and its 380 Again, for a complete discussion of the Yocto Project kernel's architecture and its
379 branching strategy, 381 branching strategy,
380 see <ulink url='&YOCTO_DOCS_KERNEL_URL;'> 382 see <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
381 The Yocto Project Kernel Architecture and Use Manual</ulink>. 383 The Yocto Project Kernel Architecture and Use Manual</ulink>.
@@ -404,18 +406,19 @@
404 "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and 406 "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
405 "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both 407 "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
406 in the Yocto Project Quick Start for requirements.</para></listitem> 408 in the Yocto Project Quick Start for requirements.</para></listitem>
407 <listitem><para><emphasis>Establish a local copy of the Yocto Project files on your 409 <listitem><para><emphasis>Establish a local copy of project files on your
408 system</emphasis>: Having the Yocto Project files on your system gives you access to 410 system</emphasis>: Having the <link linkend='source-directory'>source
409 the build process and tools you need. 411 directory</link> on your system gives you access to the build process and tools
412 you need.
410 For information on how to get these files, see the bulleted item 413 For information on how to get these files, see the bulleted item
411 "<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual. 414 "<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual.
412 </para></listitem> 415 </para></listitem>
413 <listitem><para><emphasis>Set up the <filename>poky-extras</filename> Git 416 <listitem><para><emphasis>Set up a local copy of the <filename>poky-extras</filename> Git
414 repository</emphasis>: This repository is the area for your configuration 417 repository</emphasis>: This local repository is the area for your configuration
415 fragments, new kernel recipes, and the kernel <filename>.bbappend</filename> 418 fragments, new kernel recipes, and the kernel <filename>.bbappend</filename>
416 file used during the build. 419 file used during the build.
417 It is good practice to set this repository up inside the local Yocto 420 It is good practice to set this repository up inside your local
418 Project files Git repository. 421 source directory.
419 For information on how to get these files, see the bulleted item 422 For information on how to get these files, see the bulleted item
420 "<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>" 423 "<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>"
421 earlier in this manual. 424 earlier in this manual.
@@ -453,9 +456,9 @@
453 <filename>.config</filename>. 456 <filename>.config</filename>.
454 Try to resist the temptation of directly editing the <filename>.config</filename> 457 Try to resist the temptation of directly editing the <filename>.config</filename>
455 file found in the 458 file found in the
456 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link> at 459 <link linkend='build-directory'>build directory</link> at
457 <filename>tmp/sysroots/&lt;machine-name&gt;/kernel</filename>. 460 <filename>tmp/sysroots/&lt;machine-name&gt;/kernel</filename>.
458 Doing so, can produce unexpected results when the Yocto Project build system 461 Doing so, can produce unexpected results when the OpenEmbedded build system
459 regenerates the configuration file.</para> 462 regenerates the configuration file.</para>
460 <para>Once you are satisfied with the configuration changes made using 463 <para>Once you are satisfied with the configuration changes made using
461 <filename>menuconfig</filename>, you can directly examine the 464 <filename>menuconfig</filename>, you can directly examine the
@@ -465,7 +468,7 @@
465 <listitem><para><emphasis>Add or extend kernel recipes if applicable</emphasis>: 468 <listitem><para><emphasis>Add or extend kernel recipes if applicable</emphasis>:
466 The standard 469 The standard
467 layer structure organizes recipe files inside the 470 layer structure organizes recipe files inside the
468 <filename>meta-kernel-dev</filename> layer that is within the 471 <filename>meta-kernel-dev</filename> layer that is within the local
469 <filename>poky-extras</filename> Git repository. 472 <filename>poky-extras</filename> Git repository.
470 If you need to add new kernel recipes, you add them within this layer. 473 If you need to add new kernel recipes, you add them within this layer.
471 Also within this area, you will find the <filename>.bbappend</filename> 474 Also within this area, you will find the <filename>.bbappend</filename>
@@ -475,7 +478,7 @@
475 <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the 478 <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
476 changes to your kernel (configurations, source code changes, recipe additions, 479 changes to your kernel (configurations, source code changes, recipe additions,
477 or recipe changes), there remains a few things 480 or recipe changes), there remains a few things
478 you need to do in order for the Yocto Project build system (BitBake) to create your image. 481 you need to do in order for the build system to create your image.
479 If you have not done so, you need to get the build environment ready by sourcing 482 If you have not done so, you need to get the build environment ready by sourcing
480 the environment setup script described earlier. 483 the environment setup script described earlier.
481 You also need to be sure two key configuration files 484 You also need to be sure two key configuration files
@@ -487,8 +490,8 @@
487 You might want to reference this information. 490 You might want to reference this information.
488 Also, you should look at the detailed examples found in the appendices at 491 Also, you should look at the detailed examples found in the appendices at
489 at the end of this manual.</para></listitem> 492 at the end of this manual.</para></listitem>
490 <listitem><para><emphasis>Build the image</emphasis>: The Yocto Project 493 <listitem><para><emphasis>Build the image</emphasis>: The OpenEmbedded
491 build system Poky uses the BitBake 494 build system uses the BitBake
492 tool to build images based on the type of image you want to create. 495 tool to build images based on the type of image you want to create.
493 You can find more information on BitBake 496 You can find more information on BitBake
494 <ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para> 497 <ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
@@ -514,7 +517,7 @@
514 </section> 517 </section>
515</section> 518</section>
516 519
517<section id='place-holder-section-two'> 520<section id='application-development-workflow'>
518 <title>Application Development Workflow</title> 521 <title>Application Development Workflow</title>
519 522
520 <para> 523 <para>
@@ -530,7 +533,7 @@
530 </para> 533 </para>
531 534
532 <para> 535 <para>
533 While we strongly suggest using the Yocto Project ADT to develop your application, you might 536 While we strongly suggest using the ADT to develop your application, you might
534 not want to. 537 not want to.
535 If this is the case, you can still use pieces of the Yocto Project for your development process. 538 If this is the case, you can still use pieces of the Yocto Project for your development process.
536 However, because the process can vary greatly, this manual does not provide detail on the process. 539 However, because the process can vary greatly, this manual does not provide detail on the process.
@@ -540,8 +543,7 @@
540 <title>Workflow Using the ADT and <trademark class='trade'>Eclipse</trademark></title> 543 <title>Workflow Using the ADT and <trademark class='trade'>Eclipse</trademark></title>
541 544
542 <para> 545 <para>
543 To help you understand how application development works in the Yocto Project ADT 546 To help you understand how application development works using the ADT, this section
544 environment, this section
545 provides an overview of the general development process. 547 provides an overview of the general development process.
546 If you want to see a detailed example of the process as it is used from within the Eclipse 548 If you want to see a detailed example of the process as it is used from within the Eclipse
547 IDE, see 549 IDE, see
@@ -550,7 +552,7 @@
550 </para> 552 </para>
551 553
552 <para> 554 <para>
553 This illustration and the following list summarizes the application development general workflow. 555 The following illustration and list summarize the application development general workflow.
554 </para> 556 </para>
555 557
556 <para> 558 <para>
@@ -565,27 +567,9 @@
565 "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and 567 "<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
566 "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both 568 "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
567 in the Yocto Project Quick Start for requirements.</para></listitem> 569 in the Yocto Project Quick Start for requirements.</para></listitem>
568
569<!--
570WRITER NOTE: The areas to get the kernel and root filesystem are located in the Index of
571 downloads. There are many forms of each. The files that have "rootfs" are just the
572 target root filesystems. The file that is very small and starts with bzImage is just
573 the kernel image isolated so that it can be written to a special on-board area of
574 flash memory. Some systems require this. In the machines directory there are
575 files that combine the kernel image and the root filesystem. These files are the ISO
576 and HDDIMG files. ISO images are designed to be deployed on a DVD or CD. The ISO
577 images are designed to be deployed on a USB stick. There might be some relics in
578 the machine directory. For example, there is the "emenlow-bernard-5.0.0.tar.bz2"
579 file. Nobody seems to know what this is. If a developer needs the image and the
580 root filesystem I think that they want the small kernel image and a matching root
581 filesystem. Although, Paul Eggleton says that the HDDIMG types could be used to
582 develop on. I am not sure that we can use one of those in the ADT though as they
583 want you to point to the kernel image and the target root filesystem. Maybe you
584 could just point to the same spot. I am not sure.
585-->
586
587 <listitem><para><emphasis>Secure the Linux Yocto Kernel Target Image</emphasis>: 570 <listitem><para><emphasis>Secure the Linux Yocto Kernel Target Image</emphasis>:
588 You must have a target kernel image that has been built using the Yocto Project.</para> 571 You must have a target kernel image that has been built using the OpenEmbeded
572 build system.</para>
589 <para>Depending on whether the Yocto Project has a pre-built image that matches your target 573 <para>Depending on whether the Yocto Project has a pre-built image that matches your target
590 architecture and where you are going to run the image while you develop your application 574 architecture and where you are going to run the image while you develop your application
591 (QEMU or real hardware), the area from which you get the image differs. 575 (QEMU or real hardware), the area from which you get the image differs.
@@ -616,7 +600,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
616 <listitem><para><emphasis>Install the ADT</emphasis>: 600 <listitem><para><emphasis>Install the ADT</emphasis>:
617 The ADT provides a target-specific cross-development toolchain, the root filesystem, 601 The ADT provides a target-specific cross-development toolchain, the root filesystem,
618 the QEMU emulator, and other tools that can help you develop your application. 602 the QEMU emulator, and other tools that can help you develop your application.
619 While it is possible to get these pieces separately, the Yocto Project provides an 603 While it is possible to get these pieces separately, the ADT Installer provides an
620 easy method. 604 easy method.
621 You can get these pieces by running an ADT installer script, which is configurable. 605 You can get these pieces by running an ADT installer script, which is configurable.
622 For information on how to install the ADT, see the 606 For information on how to install the ADT, see the
@@ -707,14 +691,14 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
707 <title>Modifying Temporary Source Code</title> 691 <title>Modifying Temporary Source Code</title>
708 692
709 <para> 693 <para>
710 Although the Yocto Project is typically used to build software, you might 694 You might
711 find it helpful during development to modify the temporary source code used by recipes 695 find it helpful during development to modify the temporary source code used by recipes
712 to build packages. 696 to build packages.
713 For example, suppose you are developing a patch and you need to experiment a bit 697 For example, suppose you are developing a patch and you need to experiment a bit
714 to figure out your solution. 698 to figure out your solution.
715 After you have initially built the package, you can iteratively tweak the 699 After you have initially built the package, you can iteratively tweak the
716 source code, which is located in the 700 source code, which is located in the
717 <link linkend='yocto-project-build-directory'>Yocto Project's Build Directory</link>, and then 701 <link linkend='build-directory'>build directory</link>, and then
718 you can force a re-compile and quickly test your altered code. 702 you can force a re-compile and quickly test your altered code.
719 Once you settle on a solution, you can then preserve your changes in the form of 703 Once you settle on a solution, you can then preserve your changes in the form of
720 patches. 704 patches.
@@ -728,12 +712,12 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
728 712
729 <para> 713 <para>
730 During a build, the unpacked temporary source code used by recipes 714 During a build, the unpacked temporary source code used by recipes
731 to build packages is available in the Yocto Project Build Directory as 715 to build packages is available in the build directory as
732 defined by the 716 defined by the
733 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink></filename> variable. 717 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink></filename> variable.
734 Below is the default value for the <filename>S</filename> variable as defined in the 718 Below is the default value for the <filename>S</filename> variable as defined in the
735 <filename>meta/conf/bitbake.conf</filename> configuration file in the 719 <filename>meta/conf/bitbake.conf</filename> configuration file in the
736 <link linkend='yocto-project-files'>Yocto Project Files</link>: 720 <link linkend='source-directory'>source directory</link>:
737 <literallayout class='monospaced'> 721 <literallayout class='monospaced'>
738 S = ${WORKDIR}/${BP} 722 S = ${WORKDIR}/${BP}
739 </literallayout> 723 </literallayout>
@@ -758,8 +742,8 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
758 ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}-${PV}-${PR} 742 ${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
759 </literallayout> 743 </literallayout>
760 Let's look at an example without variables. 744 Let's look at an example without variables.
761 Assuming a Yocto Project Files top-level directory named <filename>poky</filename> 745 Assuming a top-level source directory named <filename>poky</filename>
762 and a default Yocto Project Build Directory of <filename>poky/build</filename>, 746 and a default build directory of <filename>poky/build</filename>,
763 the following is the work directory for the <filename>acl</filename> package: 747 the following is the work directory for the <filename>acl</filename> package:
764 <literallayout class='monospaced'> 748 <literallayout class='monospaced'>
765 ~/poky/build/tmp/work/i586-poky-linux/acl-2.2.51-r3 749 ~/poky/build/tmp/work/i586-poky-linux/acl-2.2.51-r3
@@ -771,8 +755,8 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
771 <literallayout class='monospaced'> 755 <literallayout class='monospaced'>
772 ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}-${PV}-${PR} 756 ${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
773 </literallayout> 757 </literallayout>
774 Again, assuming a Yocto Project Files top-level directory named <filename>poky</filename> 758 Again, assuming top-level source directory named <filename>poky</filename>
775 and a default Yocto Project Build Directory of <filename>poky/build</filename>, the 759 and a default build directory of <filename>poky/build</filename>, the
776 following is the work directory for the <filename>acl</filename> package that is being 760 following is the work directory for the <filename>acl</filename> package that is being
777 built for a MIPS-based device: 761 built for a MIPS-based device:
778 <literallayout class='monospaced'> 762 <literallayout class='monospaced'>
@@ -781,7 +765,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
781 </para> 765 </para>
782 766
783 <note> 767 <note>
784 To better understand how the Yocto Project build system resolves directories during the 768 To better understand how the OpenEmbedded build system resolves directories during the
785 build process, see the glossary entries for the 769 build process, see the glossary entries for the
786 <ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>, 770 <ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>,
787 <ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>, 771 <ulink url='&YOCTO_DOCS_REF_URL;#var-TMPDIR'><filename>TMPDIR</filename></ulink>,
@@ -817,8 +801,8 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
817 Follow these general steps: 801 Follow these general steps:
818 <orderedlist> 802 <orderedlist>
819 <listitem><para><emphasis>Find the Source Code:</emphasis> 803 <listitem><para><emphasis>Find the Source Code:</emphasis>
820 The temporary source code used by the Yocto Project build system is kept in the 804 The temporary source code used by the OpenEmbedded build system is kept in the
821 Yocto Project Build Directory. 805 build directory.
822 See the 806 See the
823 "<link linkend='finding-the-temporary-source-code'>Finding the Temporary Source Code</link>" 807 "<link linkend='finding-the-temporary-source-code'>Finding the Temporary Source Code</link>"
824 section to learn how to locate the directory that has the temporary source code for a 808 section to learn how to locate the directory that has the temporary source code for a
@@ -875,7 +859,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
875 <listitem><para><emphasis>Copy the Patch File:</emphasis> 859 <listitem><para><emphasis>Copy the Patch File:</emphasis>
876 For simplicity, copy the patch file into a directory named <filename>files</filename>, 860 For simplicity, copy the patch file into a directory named <filename>files</filename>,
877 which you can create in the same directory as the recipe. 861 which you can create in the same directory as the recipe.
878 Placing the patch here guarantees that the Yocto Project build system will find 862 Placing the patch here guarantees that the OpenEmbedded build system will find
879 the patch. 863 the patch.
880 Next, add the patch into the 864 Next, add the patch into the
881 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename> 865 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename>
@@ -904,16 +888,15 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
904 888
905 <note> 889 <note>
906 This workflow uses Git only for its ability to manage local changes to the source code 890 This workflow uses Git only for its ability to manage local changes to the source code
907 and produce patches independent of any version control used on the Yocto Project 891 and produce patches independent of any version control system used with the Yocto Project.
908 Files.
909 </note> 892 </note>
910 893
911 <para> 894 <para>
912 Follow these general steps: 895 Follow these general steps:
913 <orderedlist> 896 <orderedlist>
914 <listitem><para><emphasis>Find the Source Code:</emphasis> 897 <listitem><para><emphasis>Find the Source Code:</emphasis>
915 The temporary source code used by the Yocto Project build system is kept in the 898 The temporary source code used by the OpenEmbedded build system is kept in the
916 Yocto Project Build Directory. 899 build directory.
917 See the 900 See the
918 "<link linkend='finding-the-temporary-source-code'>Finding the Temporary Source Code</link>" 901 "<link linkend='finding-the-temporary-source-code'>Finding the Temporary Source Code</link>"
919 section to learn how to locate the directory that has the temporary source code for a 902 section to learn how to locate the directory that has the temporary source code for a
@@ -1002,7 +985,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
1002 <listitem><para><emphasis>Copy the Patch File:</emphasis> 985 <listitem><para><emphasis>Copy the Patch File:</emphasis>
1003 For simplicity, copy the patch file into a directory named <filename>files</filename>, 986 For simplicity, copy the patch file into a directory named <filename>files</filename>,
1004 which you can create in the same directory as the recipe. 987 which you can create in the same directory as the recipe.
1005 Placing the patch here guarantees that the Yocto Project build system will find 988 Placing the patch here guarantees that the OpenEmbedded build system will find
1006 the patch. 989 the patch.
1007 Next, add the patch into the 990 Next, add the patch into the
1008 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename> 991 <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'>SRC_URI</ulink></filename>
@@ -1024,11 +1007,11 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
1024 <title>Image Development Using Hob</title> 1007 <title>Image Development Using Hob</title>
1025 1008
1026 <para> 1009 <para>
1027 The <ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob</ulink> is a graphical user interface for the Yocto 1010 The <ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob</ulink> is a graphical user interface for the
1028 Project build system based on BitBake. 1011 OpenEmbedded build system, which is based on BitBake.
1029 You can use the Hob to build custom operating system images within the Yocto Project build environment. 1012 You can use the Hob to build custom operating system images within the Yocto Project build environment.
1030 Hob simply provides a friendly interface over the build system used during system development. 1013 Hob simply provides a friendly interface over the build system used during system development.
1031 In other words, building images with the Hob lets you take care of common Yocto Project build tasks more easily. 1014 In other words, building images with the Hob lets you take care of common build tasks more easily.
1032 </para> 1015 </para>
1033 1016
1034 <para> 1017 <para>
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index 6a8d39caae..94f3471f13 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -55,7 +55,7 @@
55</section> 55</section>
56 56
57<section id="usingpoky-changes-collaborate"> 57<section id="usingpoky-changes-collaborate">
58 <title>Using The Yocto Project in a Team Environment</title> 58 <title>Using the Yocto Project in a Team Environment</title>
59 59
60 <para> 60 <para>
61 It might not be immediately clear how you can use the Yocto Project in a team environment, 61 It might not be immediately clear how you can use the Yocto Project in a team environment,
@@ -97,19 +97,20 @@
97 <para> 97 <para>
98 Most teams have many pieces of software undergoing active development at any given time. 98 Most teams have many pieces of software undergoing active development at any given time.
99 You can derive large benefits by putting these pieces under the control of a source 99 You can derive large benefits by putting these pieces under the control of a source
100 control system that is compatible with the Yocto Project (i.e. Git or Subversion (SVN)). 100 control system that is compatible (i.e. Git or Subversion (SVN)) with the OpenEmbeded
101 build system that the Yocto Project uses.
101 You can then set the autobuilder to pull the latest revisions of the packages 102 You can then set the autobuilder to pull the latest revisions of the packages
102 and test the latest commits by the builds. 103 and test the latest commits by the builds.
103 This practice quickly highlights issues. 104 This practice quickly highlights issues.
104 The Yocto Project easily supports testing configurations that use both a 105 The build system easily supports testing configurations that use both a
105 stable known good revision and a floating revision. 106 stable known good revision and a floating revision.
106 The Yocto Project can also take just the changes from specific source control branches. 107 The build system can also take just the changes from specific source control branches.
107 This capability allows you to track and test specific changes. 108 This capability allows you to track and test specific changes.
108 </para> 109 </para>
109 110
110 <para> 111 <para>
111 Perhaps the hardest part of setting this up is defining the software project or 112 Perhaps the hardest part of setting this up is defining the software project or
112 the Yocto Project metadata policies that surround the different source control systems. 113 the metadata policies that surround the different source control systems.
113 Of course circumstances will be different in each case. 114 Of course circumstances will be different in each case.
114 However, this situation reveals one of the Yocto Project's advantages - 115 However, this situation reveals one of the Yocto Project's advantages -
115 the system itself does not 116 the system itself does not
@@ -129,7 +130,7 @@
129 From the interface, you can click on any particular item in the "Name" column and 130 From the interface, you can click on any particular item in the "Name" column and
130 see the URL at the bottom of the page that you need to set up a Git repository for 131 see the URL at the bottom of the page that you need to set up a Git repository for
131 that particular item. 132 that particular item.
132 Having a local Git repository of the Yocto Project files allows you to 133 Having a local Git repository of the source directory (poky) allows you to
133 make changes, contribute to the history, and ultimately enhance the Yocto Project's 134 make changes, contribute to the history, and ultimately enhance the Yocto Project's
134 tools, Board Support Packages, and so forth. 135 tools, Board Support Packages, and so forth.
135 </para> 136 </para>
@@ -147,8 +148,8 @@
147 <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink> and get a 148 <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink> and get a
148 tarball of the release. 149 tarball of the release.
149 You can also go to this site to download any supported BSP tarballs. 150 You can also go to this site to download any supported BSP tarballs.
150 Unpacking the tarball gives you a hierarchical directory structure of Yocto Project 151 Unpacking the tarball gives you a hierarchical source directory that lets you develop
151 files that lets you develop using the Yocto Project. 152 using the Yocto Project.
152 </para> 153 </para>
153 154
154 <para> 155 <para>
@@ -157,22 +158,22 @@
157 </para> 158 </para>
158 159
159 <para> 160 <para>
160 In summary, here is where you can get the Yocto Project files needed for development: 161 In summary, here is where you can get the project files needed for development:
161 <itemizedlist> 162 <itemizedlist>
162 <listitem><para id='source-repositories'><emphasis><ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis> 163 <listitem><para id='source-repositories'><emphasis><ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis>
163 This area contains IDE Plugins, Matchbox, Poky, Poky Support, Tools, Yocto Linux Kernel, and Yocto 164 This area contains IDE Plugins, Matchbox, Poky, Poky Support, Tools, Yocto Linux Kernel, and Yocto
164 Metadata Layers. 165 Metadata Layers.
165 You can create Git repositories for each of these areas.</para> 166 You can create local copies of Git repositories for each of these areas.</para>
166 <para> 167 <para>
167 <imagedata fileref="figures/source-repos.png" align="center" width="6in" depth="4in" /> 168 <imagedata fileref="figures/source-repos.png" align="center" width="6in" depth="4in" />
168 </para></listitem> 169 </para></listitem>
169 <listitem><para><anchor id='index-downloads' /><emphasis><ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink></emphasis> 170 <listitem><para><anchor id='index-downloads' /><emphasis><ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink></emphasis>
170 This area contains index releases such as 171 This area contains index releases such as
171 the <trademark class='trade'>Eclipse</trademark> 172 the <trademark class='trade'>Eclipse</trademark>
172 Yocto Plug-in, miscellaneous support, Poky, pseudo, cross-development toolchains, 173 Yocto Plug-in, miscellaneous support, poky, pseudo, cross-development toolchains,
173 and all released versions of Yocto Project in the form of images or tarballs. 174 and all released versions of Yocto Project in the form of images or tarballs.
174 Downloading and extracting these files does not produce a Git repository but rather 175 Downloading and extracting these files does not produce a local copy of the
175 a snapshot of a particular release or image.</para> 176 Git repository but rather a snapshot of a particular release or image.</para>
176 <para> 177 <para>
177 <imagedata fileref="figures/index-downloads.png" align="center" width="6in" depth="4in" /> 178 <imagedata fileref="figures/index-downloads.png" align="center" width="6in" depth="4in" />
178 </para></listitem> 179 </para></listitem>
@@ -199,7 +200,7 @@
199 <listitem><para><emphasis>Append Files:</emphasis> Files that append build information to 200 <listitem><para><emphasis>Append Files:</emphasis> Files that append build information to
200 a recipe file. 201 a recipe file.
201 Append files are known as BitBake append files and <filename>.bbappend</filename> files. 202 Append files are known as BitBake append files and <filename>.bbappend</filename> files.
202 The Yocto Project build system expects every append file to have a corresponding and 203 The OpenEmbedded build system expects every append file to have a corresponding and
203 underlying recipe (<filename>.bb</filename>) file. 204 underlying recipe (<filename>.bb</filename>) file.
204 Furthermore, the append file and the underlying recipe must have the same root filename. 205 Furthermore, the append file and the underlying recipe must have the same root filename.
205 The filenames can differ only in the file type suffix used (e.g. 206 The filenames can differ only in the file type suffix used (e.g.
@@ -211,9 +212,49 @@
211 "<link linkend='changing-recipes-kernel'>Changing <filename>recipes-kernel</filename></link>" 212 "<link linkend='changing-recipes-kernel'>Changing <filename>recipes-kernel</filename></link>"
212 sections.</para></listitem> 213 sections.</para></listitem>
213 <listitem><para><emphasis>BitBake:</emphasis> The task executor and scheduler used by 214 <listitem><para><emphasis>BitBake:</emphasis> The task executor and scheduler used by
214 the Yocto Project to build images. 215 the OpenEmbedded build system to build images.
215 For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'> 216 For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'>
216 BitBake documentation</ulink>.</para></listitem> 217 BitBake documentation</ulink>.</para></listitem>
218 <listitem>
219 <para id='build-directory'><emphasis>Build Directory:</emphasis>
220 This term refers to the area used by the OpenEmbedded build system for builds.
221 The area is created when you <filename>source</filename> the setup
222 environment script that is found in the source directory
223 (i.e. <filename>oe-init-build-env</filename>).
224 The <ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink>
225 variable points to the build directory.</para>
226
227 <para>You have a lot of flexibility when creating the build directory.
228 Following are some examples that show how to create the directory:
229 <itemizedlist>
230 <listitem><para>Create the build directory in your current working directory
231 and name it <filename>build</filename>.
232 This is the default behavior.
233 <literallayout class='monospaced'>
234 $ source oe-init-build-env
235 </literallayout></para></listitem>
236 <listitem><para>Provide a directory path and specifically name the build
237 directory.
238 This next example creates a build directory named <filename>YP-&POKYVERSION;</filename>
239 in your home directory within the directory <filename>mybuilds</filename>.
240 If <filename>mybuilds</filename> does not exist, the directory is created for you:
241 <literallayout class='monospaced'>
242 $ source &OE_INIT_PATH; $HOME/mybuilds/YP-&POKYVERSION;
243 </literallayout></para></listitem>
244 <listitem><para>Provide an existing directory to use as the build directory.
245 This example uses the existing <filename>mybuilds</filename> directory
246 as the build directory.
247 <literallayout class='monospaced'>
248 $ source &OE_INIT_PATH; $HOME/mybuilds/
249 </literallayout></para></listitem>
250 </itemizedlist>
251 </para></listitem>
252 <listitem><para><emphasis>Build System:</emphasis> In the context of the Yocto Project
253 this term refers to the OpenEmbedded build system used by the project.
254 This build system is based on the project known as "Poky."
255 For some historical information about Poky, see the
256 <link linkend='poky'>poky</link> term further along in this section.
257 </para></listitem>
217 <listitem><para><emphasis>Classes:</emphasis> Files that provide for logic encapsulation 258 <listitem><para><emphasis>Classes:</emphasis> Files that provide for logic encapsulation
218 and inheritance allowing commonly used patterns to be defined once and easily used 259 and inheritance allowing commonly used patterns to be defined once and easily used
219 in multiple recipes. 260 in multiple recipes.
@@ -222,13 +263,14 @@
222 <listitem><para><emphasis>Configuration File:</emphasis> Configuration information in various 263 <listitem><para><emphasis>Configuration File:</emphasis> Configuration information in various
223 <filename>.conf</filename> files provides global definitions of variables. 264 <filename>.conf</filename> files provides global definitions of variables.
224 The <filename>conf/local.conf</filename> configuration file in the 265 The <filename>conf/local.conf</filename> configuration file in the
225 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link> 266 <link linkend='build-directory'>build directory</link>
226 contains user-defined variables that affect each build. 267 contains user-defined variables that affect each build.
227 The <filename>meta-yocto/conf/distro/poky.conf</filename> configuration file 268 The <filename>meta-yocto/conf/distro/poky.conf</filename> configuration file
228 defines Yocto ‘distro’ configuration 269 defines Yocto ‘distro’ configuration
229 variables used only when building with this policy. 270 variables used only when building with this policy.
230 Machine configuration files, which 271 Machine configuration files, which
231 are located throughout the Yocto Project file structure, define 272 are located throughout the
273 <link linkend='source-directory'>source directory</link>, define
232 variables for specific hardware and are only used when building for that target 274 variables for specific hardware and are only used when building for that target
233 (e.g. the <filename>machine/beagleboard.conf</filename> configuration file defines 275 (e.g. the <filename>machine/beagleboard.conf</filename> configuration file defines
234 variables for the Texas Instruments ARM Cortex-A8 development board). 276 variables for the Texas Instruments ARM Cortex-A8 development board).
@@ -239,7 +281,8 @@
239 tools and utilities that allow you to develop software for targeted architectures. 281 tools and utilities that allow you to develop software for targeted architectures.
240 This toolchain contains cross-compilers, linkers, and debuggers that are specific to 282 This toolchain contains cross-compilers, linkers, and debuggers that are specific to
241 an architecture. 283 an architecture.
242 You can use the Yocto Project to build cross-development toolchains in tarball form that, when 284 You can use the OpenEmbedded build system to build cross-development toolchains in tarball
285 form that, when
243 unpacked, contain the development tools you need to cross-compile and test your software. 286 unpacked, contain the development tools you need to cross-compile and test your software.
244 The Yocto Project ships with images that contain toolchains for supported architectures 287 The Yocto Project ships with images that contain toolchains for supported architectures
245 as well. 288 as well.
@@ -261,64 +304,63 @@
261 Metadata includes recipes, classes, and configuration files.</para></listitem> 304 Metadata includes recipes, classes, and configuration files.</para></listitem>
262 <listitem><para><emphasis>OE-Core:</emphasis> A core set of metadata originating 305 <listitem><para><emphasis>OE-Core:</emphasis> A core set of metadata originating
263 with OpenEmbedded (OE) that is shared between OE and the Yocto Project. 306 with OpenEmbedded (OE) that is shared between OE and the Yocto Project.
264 This metadata is found in the <filename>meta</filename> directory of the Yocto Project 307 This metadata is found in the <filename>meta</filename> directory of the source
265 files.</para></listitem> 308 directory.</para></listitem>
266 <listitem><para><emphasis>Package:</emphasis> The packaged output from a baked recipe. 309 <listitem><para><emphasis>Package:</emphasis> The packaged output from a baked recipe.
267 A package is generally the compiled binaries produced from the recipe's sources. 310 A package is generally the compiled binaries produced from the recipe's sources.
268 You ‘bake’ something by running it through BitBake.</para></listitem> 311 You ‘bake’ something by running it through BitBake.</para></listitem>
269 <listitem><para><emphasis>Poky:</emphasis> The build tool that the Yocto Project 312 <listitem><para id='poky'><emphasis>Poky:</emphasis> The term "poky" can mean several things.
270 uses to create images.</para></listitem> 313 In its most general sence, it is an open-source project that was initially developed
314 by OpenedHand. With OpenedHand, poky was developed off of the existing OpenEmbedded
315 build system becoming a build system for embedded images.
316 After Intel Corporation aquired OpenedHand, the project poky became the basis for
317 the Yocto Project's build system.
318 Within the Yocto Project source repositories, poky exists as a separate Git repository
319 that can be cloned to yield a local copy on the host system.
320 Thus, "poky" can refer to the local copy of the source directory used to develop within
321 the Yocto Project.</para></listitem>
271 <listitem><para><emphasis>Recipe:</emphasis> A set of instructions for building packages. 322 <listitem><para><emphasis>Recipe:</emphasis> A set of instructions for building packages.
272 A recipe describes where you get source code and which patches to apply. 323 A recipe describes where you get source code and which patches to apply.
273 Recipes describe dependencies for libraries or for other recipes, and they 324 Recipes describe dependencies for libraries or for other recipes, and they
274 also contain configuration and compilation options. 325 also contain configuration and compilation options.
275 Recipes contain the logical unit of execution, the software/images to build, and 326 Recipes contain the logical unit of execution, the software/images to build, and
276 use the <filename>.bb</filename> file extension.</para></listitem> 327 use the <filename>.bb</filename> file extension.</para></listitem>
277 <listitem><para><emphasis>Tasks:</emphasis> Arbitrary groups of software Recipes.
278 You simply use Tasks to hold recipes that, when built, usually accomplish a single task.
279 For example, a task could contain the recipes for a company’s proprietary or value-add software.
280 Or, the task could contain the recipes that enable graphics.
281 A task is really just another recipe.
282 Because task files are recipes, they end with the <filename>.bb</filename> filename
283 extension.</para></listitem>
284 <listitem><para><emphasis>Upstream:</emphasis> A reference to source code or repositories
285 that are not local to the development system but located in a master area that is controlled
286 by the maintainer of the source code.
287 For example, in order for a developer to work on a particular piece of code, they need to
288 first get a copy of it from an "upstream" source.</para></listitem>
289 <listitem> 328 <listitem>
290 <para id='yocto-project-files'><emphasis>Yocto Project Files:</emphasis> 329 <para id='source-directory'><emphasis>Source Directory:</emphasis>
291 This term refers to the directory structure created as a result of either downloading 330 This term refers to the directory structure created as a result of either downloading
292 and unpacking a Yocto Project release tarball or setting up a Git repository 331 and unpacking a Yocto Project release tarball or creating a local copy of
293 by cloning <filename>git://git.yoctoproject.org/poky</filename>. 332 <filename>poky</filename> Git repository <filename>git://git.yoctoproject.org/poky</filename>.
294 Sometimes the term "the Yocto Project Files structure" is used as well.</para> 333 Sometimes you might here the term "poky directory" used to refer to this
295 334 directory structure.</para>
296 <para>The Yocto Project Files contain BitBake, Documentation, metadata and 335
297 other files that all support the development environment. 336 <para>The source directory contains BitBake, Documentation, metadata and
298 Consequently, you must have the Yocto Project Files in place on your development 337 other files that all support the Yocto Project.
338 Consequently, you must have the source directory in place on your development
299 system in order to do any development using the Yocto Project.</para> 339 system in order to do any development using the Yocto Project.</para>
300 340
301 <para>The name of the top-level directory of the Yocto Project Files structure 341 <para>For tarball expansion, the name of the top-level directory of the source directory
302 is derived from the Yocto Project release tarball. 342 is derived from the Yocto Project release tarball.
303 For example, downloading and unpacking <filename>&YOCTO_POKY_TARBALL;</filename> 343 For example, downloading and unpacking <filename>&YOCTO_POKY_TARBALL;</filename>
304 results in a Yocto Project file structure whose Yocto Project source directory is named 344 results in a source directory whose top-level folder is named
305 <filename>&YOCTO_POKY;</filename>. 345 <filename>&YOCTO_POKY;</filename>.
306 If you create a Git repository, then you can name the repository anything you like. 346 If you create a local copy of the Git repository, then you can name the repository
307 Throughout much of the documentation, the name of the Git repository is used as the 347 anything you like.
308 name for the local folder. 348 Throughout much of the documentation, <filename>poky</filename> is used as the name of
349 the top-level folder of the local copy of the poky Git repository.
309 So, for example, cloning the <filename>poky</filename> Git repository results in a 350 So, for example, cloning the <filename>poky</filename> Git repository results in a
310 local Git repository also named <filename>poky</filename>.</para> 351 local Git repository whose top-level folder is also named <filename>poky</filename>.</para>
311 352
312 <para>It is important to understand the differences between Yocto Project Files created 353 <para>It is important to understand the differences between the source directory created
313 by unpacking a release tarball as compared to cloning 354 by unpacking a released tarball as compared to cloning
314 <filename>git://git.yoctoproject.org/poky</filename>. 355 <filename>git://git.yoctoproject.org/poky</filename>.
315 When you unpack a tarball, you have an exact copy of the files based on the time of 356 When you unpack a tarball, you have an exact copy of the files based on the time of
316 release - a fixed release point. 357 release - a fixed release point.
317 Any changes you make to your local Yocto Project Files are on top of the release. 358 Any changes you make to your local files in the source directory are on top of the release.
318 On the other hand, when you clone the Yocto Project Git repository, you have an 359 On the other hand, when you clone the <filename>poky</filename> Git repository, you have an
319 active development repository. 360 active development repository.
320 In this case, any local changes you make to the Yocto Project can be later applied 361 In this case, any local changes you make to the source directory can be later applied
321 to active development branches of the upstream Yocto Project Git repository.</para> 362 to active development branches of the upstream <filename>poky</filename> Git
363 repository.</para>
322 364
323 <para>Finally, if you want to track a set of local changes while starting from the same point 365 <para>Finally, if you want to track a set of local changes while starting from the same point
324 as a release tarball, you can create a local Git branch that 366 as a release tarball, you can create a local Git branch that
@@ -329,41 +371,18 @@
329 see the 371 see the
330 "<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>" 372 "<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>"
331 section.</para></listitem> 373 section.</para></listitem>
332 <listitem> 374 <listitem><para><emphasis>Tasks:</emphasis> Arbitrary groups of software Recipes.
333 <para id='yocto-project-build-directory'><emphasis>Yocto Project Build Directory:</emphasis> 375 You simply use Tasks to hold recipes that, when built, usually accomplish a single task.
334 This term refers to the area used by the Yocto Project for builds. 376 For example, a task could contain the recipes for a company’s proprietary or value-add software.
335 The area is created when you <filename>source</filename> the Yocto Project setup 377 Or, the task could contain the recipes that enable graphics.
336 environment script that is found in the Yocto Project files area 378 A task is really just another recipe.
337 (i.e. <filename>oe-init-build-env</filename>). 379 Because task files are recipes, they end with the <filename>.bb</filename> filename
338 The <ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink> 380 extension.</para></listitem>
339 variable points to the build directory.</para> 381 <listitem><para><emphasis>Upstream:</emphasis> A reference to source code or repositories
340 382 that are not local to the development system but located in a master area that is controlled
341 <para>You have a lot of flexibility when creating the Yocto Project Build Directory. 383 by the maintainer of the source code.
342 Following are some examples that show how to create the directory: 384 For example, in order for a developer to work on a particular piece of code, they need to
343 <itemizedlist> 385 first get a copy of it from an "upstream" source.</para></listitem>
344 <listitem><para>Create the build directory in your current working directory
345 and name it <filename>build</filename>.
346 This is the default behavior.
347 <literallayout class='monospaced'>
348 $ cd ~/poky
349 $ source oe-init-build-env
350 </literallayout></para></listitem>
351 <listitem><para>Provide a directory path and specifically name the build
352 directory.
353 This next example creates a build directory named <filename>YP-&POKYVERSION;</filename>
354 in your home directory within the directory <filename>mybuilds</filename>.
355 If <filename>mybuilds</filename> does not exist, the directory is created for you:
356 <literallayout class='monospaced'>
357 $ source &OE_INIT_PATH; $HOME/mybuilds/YP-&POKYVERSION;
358 </literallayout></para></listitem>
359 <listitem><para>Provide an existing directory to use as the build directory.
360 This example uses the existing <filename>mybuilds</filename> directory
361 as the build directory.
362 <literallayout class='monospaced'>
363 $ source &OE_INIT_PATH; $HOME/mybuilds/
364 </literallayout></para></listitem>
365 </itemizedlist>
366 </para></listitem>
367 </itemizedlist> 386 </itemizedlist>
368 </para> 387 </para>
369</section> 388</section>
@@ -403,7 +422,7 @@
403 <filename>meta/files/common-licenses</filename>. 422 <filename>meta/files/common-licenses</filename>.
404 Once the build completes, the list of all licenses found and used during that build are 423 Once the build completes, the list of all licenses found and used during that build are
405 kept in the 424 kept in the
406 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link> at 425 <link linkend='build-directory'>build directory</link> at
407 <filename>tmp/deploy/images/licenses</filename>. 426 <filename>tmp/deploy/images/licenses</filename>.
408 </para> 427 </para>
409 428
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index 4dc2cfca00..15748ebfac 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -24,14 +24,15 @@
24 24
25 <para> 25 <para>
26 The Yocto Project is an open-source collaboration project focused on embedded Linux development. 26 The Yocto Project is an open-source collaboration project focused on embedded Linux development.
27 The project currently provides a build system, which is sometimes referred to as "Poky", 27 The project currently provides a build system, which is
28 and provides various ancillary tools suitable for the embedded developer. 28 referred to as the OpenEmbedded build system in the Yocto Project documentation.
29 The Yocto Project also features the Sato reference User Interface, which is optimized for 29 The Yocto Project provides various ancillary tools suitable for the embedded developer
30 and also features the Sato reference User Interface, which is optimized for
30 stylus driven, low-resolution screens. 31 stylus driven, low-resolution screens.
31 </para> 32 </para>
32 33
33 <para> 34 <para>
34 You can use the Yocto Project build system, which uses 35 You can use the OpenEmbedded build system, which uses
35 <ulink url='http://bitbake.berlios.de/manual/'>BitBake</ulink>, to develop complete Linux 36 <ulink url='http://bitbake.berlios.de/manual/'>BitBake</ulink>, to develop complete Linux
36 images and associated user-space applications for architectures based on ARM, MIPS, PowerPC, 37 images and associated user-space applications for architectures based on ARM, MIPS, PowerPC,
37 x86 and x86-64. 38 x86 and x86-64.
@@ -53,56 +54,50 @@
53 <listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current 54 <listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current
54 Linux-based host system. 55 Linux-based host system.
55 You will have the best results with a recent release of Fedora, 56 You will have the best results with a recent release of Fedora,
56 OpenSUSE, or Ubuntu as these releases are frequently tested against the Yocto Project 57 OpenSUSE, Ubuntu, or CentOS as these releases are frequently tested against the Yocto Project
57 and officially supported. 58 and officially supported.
58 You should also have about 100 gigabytes of free disk space for building images. 59 You should also have about 100 gigabytes of free disk space for building images.
59 </para></listitem> 60 </para></listitem>
60 <listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages 61 <listitem><para><emphasis>Packages:</emphasis> The OpenEmbedded build system
61 exist on your development system (e.g. Python 2.6 or 2.7). 62 requires certain packages exist on your development system (e.g. Python 2.6 or 2.7).
62 See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" 63 See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
63 section in the Yocto Project Quick Start for the exact package 64 section in the Yocto Project Quick Start for the exact package
64 requirements and the installation commands to install them 65 requirements and the installation commands to install them
65 for the supported distributions.</para></listitem> 66 for the supported distributions.</para></listitem>
66 <listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis> 67 <listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
67 You need a release of the Yocto Project. 68 You need a release of the Yocto Project.
68 You can get set up with local 69 You set up a with local <link linkend='source-directory'>source directory</link>
69 <link linkend='yocto-project-files'>Yocto Project Files</link> one of two ways 70 one of two ways depending on whether you
70 depending on whether you 71 are going to contribute back into the Yocto Project or not.
71 are going to be contributing back into the Yocto Project source repository or not.
72 <note> 72 <note>
73 Regardless of the method you use, this manual refers to the resulting 73 Regardless of the method you use, this manual refers to the resulting local
74 hierarchical set of files as the "Yocto Project Files" or the "Yocto Project File 74 hierarchical set of files as the "source directory."
75 Structure."
76 </note> 75 </note>
77 <itemizedlist> 76 <itemizedlist>
78 <listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute 77 <listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute
79 back into the Yocto Project, you can simply download the Yocto Project release you want 78 back into the Yocto Project, you can simply download a Yocto Project release you want
80 from the website’s <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink>. 79 from the website’s <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink>.
81 Once you have the tarball, just extract it into a directory of your choice.</para> 80 Once you have the tarball, just extract it into a directory of your choice.</para>
82 <para>For example, the following command extracts the Yocto Project &DISTRO; 81 <para>For example, the following command extracts the Yocto Project &DISTRO;
83 release tarball 82 release tarball
84 into the current working directory and sets up the Yocto Project file structure 83 into the current working directory and sets up the local source directory
85 with a top-level directory named <filename>&YOCTO_POKY;</filename>: 84 with a top-level folder named <filename>&YOCTO_POKY;</filename>:
86 <literallayout class='monospaced'> 85 <literallayout class='monospaced'>
87 $ tar xfj &YOCTO_POKY_TARBALL; 86 $ tar xfj &YOCTO_POKY_TARBALL;
88 </literallayout></para> 87 </literallayout></para>
89 <para>This method does not produce a Git repository. 88 <para>This method does not produce a local Git repository.
90 Instead, you simply end up with a local snapshot of the 89 Instead, you simply end up with a snapshot of the release.</para></listitem>
91 Yocto Project files that are based on the particular release in the
92 tarball.</para></listitem>
93 <listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing 90 <listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing
94 back into the Yocto Project or you simply want to keep up 91 back into the Yocto Project or you simply want to keep up
95 with the latest developments, you should use Git commands to set up a local 92 with the latest developments, you should use Git commands to set up a local
96 Git repository of the Yocto Project Files. 93 Git repository of the upstream <filename>poky</filename> source repository.
97 Doing so creates a Git repository with a complete history of changes and allows 94 Doing so creates a repository with a complete history of changes and allows
98 you to easily submit your changes upstream to the project. 95 you to easily submit your changes upstream to the project.
99 Because you cloned the repository, you have access to all the Yocto Project development 96 Because you cloned the repository, you have access to all the Yocto Project development
100 branches and tag names used in the upstream repository.</para> 97 branches and tag names used in the upstream repository.</para>
101 <para>The following transcript shows how to clone the Yocto Project Files' 98 <para>The following transcript shows how to clone the <filename>poky</filename>
102 Git repository into the current working directory. 99 Git repository into the current working directory.
103 <note>The name of the Yocto Project Files Git repository in the Yocto Project Files 100 <note>You can view the Yocto Project Source Repositories at
104 Source Repositories is <filename>poky</filename>.
105 You can view the Yocto Project Source Repositories at
106 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink></note> 101 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink></note>
107 The command creates the local repository in a directory named <filename>poky</filename>. 102 The command creates the local repository in a directory named <filename>poky</filename>.
108 For information on Git used within the Yocto Project, see the 103 For information on Git used within the Yocto Project, see the
@@ -131,7 +126,7 @@
131 copying that cloned repository. 126 copying that cloned repository.
132 You can create the bare clone and the copy of the bare clone anywhere you like. 127 You can create the bare clone and the copy of the bare clone anywhere you like.
133 For simplicity, it is recommended that you create these structures outside of the 128 For simplicity, it is recommended that you create these structures outside of the
134 Yocto Project Files Git repository.</para> 129 source directory (usually <filename>poky</filename>).</para>
135 <para>As an example, the following transcript shows how to create the bare clone 130 <para>As an example, the following transcript shows how to create the bare clone
136 of the <filename>linux-yocto-3.2</filename> kernel and then create a copy of 131 of the <filename>linux-yocto-3.2</filename> kernel and then create a copy of
137 that clone. 132 that clone.
@@ -166,15 +161,14 @@
166 edit to point to your locally modified kernel source files and to build the kernel 161 edit to point to your locally modified kernel source files and to build the kernel
167 image. 162 image.
168 Pointing to these local files is much more efficient than requiring a download of the 163 Pointing to these local files is much more efficient than requiring a download of the
169 source files from upstream each time you make changes to the kernel.</para> 164 kernel's source files from upstream each time you make changes to the kernel.</para>
170 <para>You can find the <filename>poky-extras</filename> Git Repository in the 165 <para>You can find the <filename>poky-extras</filename> Git Repository in the
171 "Yocto Metadata Layers" area of the Yocto Project Source Repositories at 166 "Yocto Metadata Layers" area of the Yocto Project Source Repositories at
172 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>. 167 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
173 It is good practice to create this Git repository inside the Yocto Project 168 It is good practice to create this Git repository inside the source directory.</para>
174 files Git repository.</para>
175 <para>Following is an example that creates the <filename>poky-extras</filename> Git 169 <para>Following is an example that creates the <filename>poky-extras</filename> Git
176 repository inside the Yocto Project files Git repository, which is named 170 repository inside the source directory, which is named <filename>poky</filename>
177 <filename>poky</filename> in this case: 171 in this case:
178 <literallayout class='monospaced'> 172 <literallayout class='monospaced'>
179 $ git clone git://git.yoctoproject.org/poky-extras poky-extras 173 $ git clone git://git.yoctoproject.org/poky-extras poky-extras
180 Initialized empty Git repository in /home/scottrif/poky/poky-extras/.git/ 174 Initialized empty Git repository in /home/scottrif/poky/poky-extras/.git/
@@ -194,7 +188,7 @@
194 layer. 188 layer.
195 You can get set up for BSP development one of two ways: tarball extraction or 189 You can get set up for BSP development one of two ways: tarball extraction or
196 with a local Git repository. 190 with a local Git repository.
197 It is a good idea to use the same method used to set up the Yocto Project Files. 191 It is a good idea to use the same method that you used to set up the source directory.
198 Regardless of the method you use, the Yocto Project uses the following BSP layer 192 Regardless of the method you use, the Yocto Project uses the following BSP layer
199 naming scheme: 193 naming scheme:
200 <literallayout class='monospaced'> 194 <literallayout class='monospaced'>
@@ -220,16 +214,16 @@
220 Again, this method just produces a snapshot of the BSP layer in the form 214 Again, this method just produces a snapshot of the BSP layer in the form
221 of a hierarchical directory structure.</para></listitem> 215 of a hierarchical directory structure.</para></listitem>
222 <listitem><para><emphasis>Git Repository Method:</emphasis> If you are working 216 <listitem><para><emphasis>Git Repository Method:</emphasis> If you are working
223 with a Yocto Project Files Git repository, you should also use this method 217 with a local Git repository for your source directory, you should also use this method
224 to set up the <filename>meta-intel</filename> Git repository. 218 to set up the <filename>meta-intel</filename> Git repository.
225 You can locate the <filename>meta-intel</filename> Git repository in the 219 You can locate the <filename>meta-intel</filename> Git repository in the
226 "Yocto Metadata Layers" area of the Yocto Project Source Repositories at 220 "Yocto Metadata Layers" area of the Yocto Project Source Repositories at
227 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para> 221 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
228 <para>Typically, you set up the <filename>meta-intel</filename> Git repository inside 222 <para>Typically, you set up the <filename>meta-intel</filename> Git repository inside
229 the Yocto Project Files Git repository. 223 the source directory.
230 For example, the following transcript shows the steps to clone the 224 For example, the following transcript shows the steps to clone the
231 <filename>meta-intel</filename> 225 <filename>meta-intel</filename>
232 Git repository inside the <filename>poky</filename> Git repository. 226 Git repository inside the local <filename>poky</filename> Git repository.
233 <literallayout class='monospaced'> 227 <literallayout class='monospaced'>
234 $ git clone git://git.yoctoproject.org/meta-intel.git 228 $ git clone git://git.yoctoproject.org/meta-intel.git
235 Initialized empty Git repository in /home/scottrif/poky/meta-intel/.git/ 229 Initialized empty Git repository in /home/scottrif/poky/meta-intel/.git/
@@ -268,13 +262,13 @@
268 <para> 262 <para>
269 The build process is as follows: 263 The build process is as follows:
270 <orderedlist> 264 <orderedlist>
271 <listitem><para>Make sure you have the Yocto Project files as described in the 265 <listitem><para>Make sure you have set up the source directory described in the
272 previous section.</para></listitem> 266 previous section.</para></listitem>
273 <listitem><para>Initialize the build environment by sourcing a build environment 267 <listitem><para>Initialize the build environment by sourcing a build environment
274 script.</para></listitem> 268 script.</para></listitem>
275 <listitem><para>Optionally ensure the <filename>conf/local.conf</filename> configuration file, 269 <listitem><para>Optionally ensure the <filename>conf/local.conf</filename> configuration file,
276 which is found in the 270 which is found in the
277 <link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>, 271 <link linkend='build-directory'>build directory</link>,
278 is set up how you want it. 272 is set up how you want it.
279 This file defines many aspects of the build environment including 273 This file defines many aspects of the build environment including
280 the target machine architecture through the 274 the target machine architecture through the