summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2011-08-16 09:17:55 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-23 18:46:36 -0700
commit1e789e60b5bffc2947e421129fc2ad8ea543874d (patch)
treec3f1a683f2c6f5d7f92ae3fc85e0f588e29948de /documentation/dev-manual
parent0a2e82c0070c0143b73ac45731d6e79d6c8ce066 (diff)
downloadpoky-1e789e60b5bffc2947e421129fc2ad8ea543874d.tar.gz
documentation/dev-manual: Incorporated Joshua Lock's review comments.
(From yocto-docs rev: d4bf6343d7575ff96030242e2025570db52b515b) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-model.xml4
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml55
-rw-r--r--documentation/dev-manual/dev-manual-start.xml30
3 files changed, 52 insertions, 37 deletions
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml
index c6662d3199..2dfc46e740 100644
--- a/documentation/dev-manual/dev-manual-model.xml
+++ b/documentation/dev-manual/dev-manual-model.xml
@@ -170,8 +170,8 @@
170 </para> 170 </para>
171 171
172 <para> 172 <para>
173 You can view a video presentation of the BSP creation process 173 You can view a video presentation on "Building Custom Embedded Images with Yocto"
174 <ulink url='http://free-electrons.com/blog/elc-2011-videos'>here</ulink>. 174 at <ulink url='http://free-electrons.com/blog/elc-2011-videos'>Free Electrons</ulink>.
175 You can also find supplemental information in the 175 You can also find supplemental information in the
176 <ulink url='http://yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'> 176 <ulink url='http://yoctoproject.org/docs/1.1/bsp-guide/bsp-guide.html'>
177 Board Support Package (BSP) Development Guide</ulink>. 177 Board Support Package (BSP) Development Guide</ulink>.
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index ad5f3c9ecf..fbb9d5faef 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -82,7 +82,7 @@
82 <para> 82 <para>
83 For any supported release of Yocto Project you can go to the Yocto Project website’s 83 For any supported release of Yocto Project you can go to the Yocto Project website’s
84 <ulink url='http://www.yoctoproject.org/download'>download page</ulink> and get a 84 <ulink url='http://www.yoctoproject.org/download'>download page</ulink> and get a
85 <filename>.bz2</filename> tarball of the release. 85 tarball of the release.
86 You can also go to this site to download any supported BSP tarballs. 86 You can also go to this site to download any supported BSP tarballs.
87 Unpacking the tarball gives you a hierarchical directory structure of Yocto Project 87 Unpacking the tarball gives you a hierarchical directory structure of Yocto Project
88 files that lets you develop using the Yocto Project. 88 files that lets you develop using the Yocto Project.
@@ -133,50 +133,57 @@
133 Some terms are universal but are included here just in case: 133 Some terms are universal but are included here just in case:
134 <itemizedlist> 134 <itemizedlist>
135 <listitem><para><emphasis>Image</emphasis> - An image is a collection of recipes created 135 <listitem><para><emphasis>Image</emphasis> - An image is a collection of recipes created
136 with BitBake (baked) and made part of a root filesystem.</para></listitem> 136 with BitBake (baked) and made part of a root filesystem.
137 Images are both the binary output that runs on specific hardware and for specific
138 use cases as well as a metadata recipe that BitBake processes to generate the
139 binary output.</para></listitem>
137 <listitem><para><emphasis>Recipe</emphasis> - A set of instructions for building packages. 140 <listitem><para><emphasis>Recipe</emphasis> - A set of instructions for building packages.
138 A recipe describes where you get source code and which patches to apply. 141 A recipe describes where you get source code and which patches to apply.
139 Recipes describe dependencies for libraries or for other recipes and they 142 Recipes describe dependencies for libraries or for other recipes and they
140 also contain configuration and compilation options. 143 also contain configuration and compilation options.
141 Recipes also let you customize how software is installed into images. 144 Recipes contain the logical unit of execution, the software/images to build, and
142 Recipes contain the logical unit of execution, the software/images to build and
143 use the <filename>.bb</filename> file extension.</para></listitem> 145 use the <filename>.bb</filename> file extension.</para></listitem>
144 <listitem><para><emphasis>BitBake</emphasis> - The task executor and scheduler used by Yocto Project 146 <listitem><para><emphasis>BitBake</emphasis> - The task executor and scheduler used by Yocto Project
145 to build images. 147 to build images.
146 For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'> 148 For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'>
147 BitBake documentation</ulink>.</para></listitem> 149 BitBake documentation</ulink>.</para></listitem>
148 <listitem><para><emphasis>Package</emphasis> - The output from a baked recipe. 150 <listitem><para><emphasis>Package</emphasis> - The packaged output from a baked recipe.
149 A package is generally the compiled binaries produced from the recipe's sources. 151 A package is generally the compiled binaries produced from the recipe's sources.
150 You ‘bake’ something by running it through BitBake.</para></listitem> 152 You ‘bake’ something by running it through BitBake.</para></listitem>
151 <listitem><para><emphasis>Layer</emphasis> - A logical collection of recipes representing the core, 153 <listitem><para><emphasis>Layer</emphasis> - A collection of recipes representing the core,
152 a BSP, or an application stack.</para></listitem> 154 a BSP, or an application stack.</para></listitem>
153 <listitem><para><emphasis>Metadata</emphasis> - Information for a build that is generally 155 <listitem><para><emphasis>Metadata</emphasis> - A term used throughout the Yocto Project
154 architecture-independent. 156 documentation that refers to the files that BitBake parses when building an image.
155 This information includes Task definitions in recipes, classes, and configuration 157 Metadata includes recipes, classes, and configuration files.</para></listitem>
156 information.</para></listitem>
157 <listitem><para><emphasis>Configuration File</emphasis>: Configuration information in the 158 <listitem><para><emphasis>Configuration File</emphasis>: Configuration information in the
158 <filename>.conf</filename> files provides global definitions of variables. 159 <filename>.conf</filename> files provides global definitions of variables.
159 The <filename>build/conf/local.conf</filename> configuration file defines local user-defined variables. 160 The <filename>build/conf/local.conf</filename> configuration file defines user-defined variables
161 that effect each build.
160 The <filename>distro/poky.conf</filename> configuration file defines Yocto ‘distro’ configuration 162 The <filename>distro/poky.conf</filename> configuration file defines Yocto ‘distro’ configuration
161 variables. 163 variables used only when building with this policy.
162 The <filename>machine/beagleboard.conf</filename> configuration file defines machine-specific variables 164 The <filename>machine/beagleboard.conf</filename> configuration file defines variables
163 (i.e. Texas Instruments ARM Cortex-A8 development board in this example. 165 for the Beagleboard and are only used when building for that target
166 (i.e. Texas Instruments ARM Cortex-A8 development board).
164 Configuration files end with a <filename>.conf</filename> filename extension.</para></listitem> 167 Configuration files end with a <filename>.conf</filename> filename extension.</para></listitem>
165 <listitem><para><emphasis>Classes</emphasis> - Files that encapsulate and inherit logic. 168 <listitem><para><emphasis>Classes</emphasis> - Files that provide for logic encapsulation
169 and inheritance allowing commonly used pattrerns to be defined once and easily used
170 in multiple recipes.
166 Class files end with the <filename>.bbclass</filename> filename extension.</para></listitem> 171 Class files end with the <filename>.bbclass</filename> filename extension.</para></listitem>
167 <listitem><para><emphasis>Append Files</emphasis> - Files that append build information to 172 <listitem><para><emphasis>Append Files</emphasis> - Files that append build information to
168 a recipe file. 173 a recipe file.
169 Information in append files override the information in the similarly-named recipe file. 174 Information in append files override the information in the similarly-named recipe file.
170 Append files use the <filename>.bbappend</filename> filename suffix.</para></listitem> 175 Append files use the <filename>.bbappend</filename> filename suffix.</para></listitem>
171 <listitem><para><emphasis>Tasks</emphasis> - Arbitrary groups of software used to contain Recipes. 176 <listitem><para><emphasis>Tasks</emphasis> - Arbitrary groups of software Recipes.
172 You simply use Tasks to hold recipes that when build usually accomplished a single task. 177 You simply use Tasks to hold recipes that when built usually accomplish a single task.
173 For example, a task could contain the recipes for a company’s proprietary or value-add software. 178 For example, a task could contain the recipes for a company’s proprietary or value-add software.
174 Or the task could contain the recipes that enable graphics. 179 Or the task could contain the recipes that enable graphics.
175 A task is really just another recipe. 180 A task is really just another recipe.
176 Because task files are recipes, they end with the <filename>.bb</filename> filename 181 Because task files are recipes, they end with the <filename>.bb</filename> filename
177 extension.</para></listitem> 182 extension.</para></listitem>
178 <listitem><para><emphasis>OE-Core</emphasis> - A core set of metadata originating 183 <listitem><para><emphasis>OE-Core</emphasis> - A core set of metadata originating
179 with OpenEmbedded (OE) that is shared between OE and the Yocto Project.</para></listitem> 184 with OpenEmbedded (OE) that is shared between OE and the Yocto Project.
185 This metadata is found in the <filename>meta</filename> directory of the Yocto Project
186 files.</para></listitem>
180 <listitem><para><emphasis>Upstream</emphasis> - A reference to source code or repositories 187 <listitem><para><emphasis>Upstream</emphasis> - A reference to source code or repositories
181 that are not local to the development system but located in a master area that is controlled 188 that are not local to the development system but located in a master area that is controlled
182 by the maintainer of the source code. 189 by the maintainer of the source code.
@@ -223,7 +230,9 @@
223 <filename>&lt;build_directory&gt;/tmp/deploy/images/licenses</filename>. 230 <filename>&lt;build_directory&gt;/tmp/deploy/images/licenses</filename>.
224 If a module requires a license that is not in the base list, the build process 231 If a module requires a license that is not in the base list, the build process
225 generates a warning during the build. 232 generates a warning during the build.
226 It is up to the developer to resolve potential licensing issues. 233 These tools make it easier for a developer to be certain of the licenses with which
234 their shipped products must comply.
235 However, it is still up to the developer to resolve potential licensing issues.
227 </para> 236 </para>
228 237
229 <para> 238 <para>
@@ -470,8 +479,10 @@
470 </para> 479 </para>
471 480
472 <para> 481 <para>
473 Sometimes it is helpful to submit, investigate, or track a bug against the Yocto Project itself. 482 Sometimes it is helpful to submit, investigate, or track a bug against the Yocto Project itself
474 While normally this is a process relevant only to Yocto Project developers, you can find information 483 such as when discovering an issue with some component of the build system that acts contrary
484 to the documentation or expectations.
485 You can find information
475 for Bugzilla configuration and bug tracking procedures specific to the Yocto Project 486 for Bugzilla configuration and bug tracking procedures specific to the Yocto Project
476 <ulink url='https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>. 487 <ulink url='https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>.
477 </para> 488 </para>
@@ -487,7 +498,7 @@
487 Here are some things to remember when dealing with bugs against the Yocto Project: 498 Here are some things to remember when dealing with bugs against the Yocto Project:
488 <itemizedlist> 499 <itemizedlist>
489 <listitem><para>The Yocto Project follows a naming bug-naming convention: 500 <listitem><para>The Yocto Project follows a naming bug-naming convention:
490 <filename>[YOCTO &lt;number&gt;]</filename>, where <filename>&lt;number&gt;</filename> is the 501 <filename>[YOCTO #&lt;number&gt;]</filename>, where <filename>&lt;number&gt;</filename> is the
491 assigned defect ID used in Bugzilla. 502 assigned defect ID used in Bugzilla.
492 So, for example, a valid way to refer to a defect when creating a commit comment 503 So, for example, a valid way to refer to a defect when creating a commit comment
493 would be <filename>[YOCTO 1011]</filename>. 504 would be <filename>[YOCTO 1011]</filename>.
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index 48f98b50b5..07caed3132 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -24,15 +24,16 @@
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 provides a recent Linux kernel along with a set of system commands, libraries, 27 The project currently provides a build system and various ancillary tools suitable for the
28 and system components suitable for the embedded developer. 28 embedded developer.
29 The Yocto Project also features the Sato reference User Interface should you be dealing with 29 The Yocto Project also features the Sato reference User Interface, which is optimized for
30 devices with restricted screens. 30 stylus driven, low-resolution screens.
31 </para> 31 </para>
32 32
33 <para> 33 <para>
34 You can use the Yocto Project, which uses the BitBake build tool, to develop complete Linux 34 You can use the Yocto Project, which uses the BitBake build tool, to develop complete Linux
35 images and user-space applications for architectures based on ARM, MIPS, PowerPC, x86 and x86-64. 35 images and associated user-space applications for architectures based on ARM, MIPS, PowerPC,
36 x86 and x86-64.
36 You can perform target-level testing and debugging as well as test in a hardware emulated environment. 37 You can perform target-level testing and debugging as well as test in a hardware emulated environment.
37 And, if you are an Eclipse user, you can install an Eclipse Yocto Plug-in to allow you to 38 And, if you are an Eclipse user, you can install an Eclipse Yocto Plug-in to allow you to
38 develop within that familiar environment. 39 develop within that familiar environment.
@@ -45,16 +46,18 @@
45 <para> 46 <para>
46 Here is what you need to get set up to use the Yocto Project: 47 Here is what you need to get set up to use the Yocto Project:
47 <itemizedlist> 48 <itemizedlist>
48 <listitem><para><emphasis>Host System:</emphasis> You need a recent release of Fedora, 49 <listitem><para><emphasis>Host System:</emphasis> You should have a reasonably current
49 OpenSUSE, Debian, or Ubuntu. 50 Linux-based host system.
50 You should have a reasonably current Linux-based host system. 51 You will have the best results with a recent release of Fedora,
52 OpenSUSE, or Ubuntu as these releases are frequently tested and officially supported
53 host systems.
51 You should also have about 100 gigabytes of free disk space for building images. 54 You should also have about 100 gigabytes of free disk space for building images.
52 </para></listitem> 55 </para></listitem>
53 <listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages 56 <listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
54 exist on your development system. 57 exist on your development system (e.g. Python 2.6 or 2.7).
55 See the <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#packages'> 58 See <ulink url='http://www.yoctoproject.org/docs/yocto-quick-start/yocto-project-qs.html#packages'>
56 The Packages</ulink> section in the Yocto Project Quick start for the exact package 59 The Packages</ulink> section in the Yocto Project Quick start for the exact package
57 requirements.</para></listitem> 60 requirements and the installation commands for the supported distributions.</para></listitem>
58 <listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis> 61 <listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
59 You need a release of the Yocto Project. 62 You need a release of the Yocto Project.
60 You can get set up with local Yocto Project files one of two ways depending on whether you 63 You can get set up with local Yocto Project files one of two ways depending on whether you
@@ -210,7 +213,8 @@
210 wiki page</ulink> referenced earlier covers how to 213 wiki page</ulink> referenced earlier covers how to
211 set up the <filename>meta-intel</filename> Git repository.</para></listitem> 214 set up the <filename>meta-intel</filename> Git repository.</para></listitem>
212 </itemizedlist></para></listitem> 215 </itemizedlist></para></listitem>
213 <listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing using the 216 <listitem><para><emphasis>Eclipse Yocto Plug-in:</emphasis> If you are developing
217 applications using the
214 Eclipse Integrated Development Environment (IDE) you will need this plug-in. 218 Eclipse Integrated Development Environment (IDE) you will need this plug-in.
215 See the 219 See the
216 <ulink url='http://www.yoctoproject.org/docs/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'> 220 <ulink url='http://www.yoctoproject.org/docs/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'>
@@ -237,7 +241,7 @@
237 previous section.</para></listitem> 241 previous section.</para></listitem>
238 <listitem><para>Initialize the build environment by sourcing a build environment 242 <listitem><para>Initialize the build environment by sourcing a build environment
239 script.</para></listitem> 243 script.</para></listitem>
240 <listitem><para>Make sure the <filename>conf/local.conf</filename> configuration file is set 244 <listitem><para>Optionally ensure the <filename>conf/local.conf</filename> configuration file is set
241 up how you want it. 245 up how you want it.
242 This file defines the target machine architecture and and other build options.</para></listitem> 246 This file defines the target machine architecture and and other build options.</para></listitem>
243 <listitem><para>Build the image using the BitBake command. 247 <listitem><para>Build the image using the BitBake command.