diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-08-16 09:17:55 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-08-23 18:46:36 -0700 |
commit | 1e789e60b5bffc2947e421129fc2ad8ea543874d (patch) | |
tree | c3f1a683f2c6f5d7f92ae3fc85e0f588e29948de | |
parent | 0a2e82c0070c0143b73ac45731d6e79d6c8ce066 (diff) | |
download | poky-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>
-rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 4 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 55 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-start.xml | 30 |
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><build_directory>/tmp/deploy/images/licenses</filename>. | 230 | <filename><build_directory>/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 <number>]</filename>, where <filename><number></filename> is the | 501 | <filename>[YOCTO #<number>]</filename>, where <filename><number></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. |