summaryrefslogtreecommitdiffstats
path: root/documentation/poky-ref-manual/ref-structure.xml
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2010-12-02 09:56:23 -0800
committerSaul Wold <Saul.Wold@intel.com>2010-12-10 22:01:25 -0800
commit252cecf3791cf8268b707c8b061bbe97a4524c86 (patch)
treee0318d8387f18db4ccf7b18e6476a68838e103a6 /documentation/poky-ref-manual/ref-structure.xml
parent57d38a7e7a6178647de2389bd540ef2bddeba7c2 (diff)
downloadpoky-252cecf3791cf8268b707c8b061bbe97a4524c86.tar.gz
documentation/poky-ref-manual: English scrub performed for consistency.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Diffstat (limited to 'documentation/poky-ref-manual/ref-structure.xml')
-rw-r--r--documentation/poky-ref-manual/ref-structure.xml362
1 files changed, 194 insertions, 168 deletions
diff --git a/documentation/poky-ref-manual/ref-structure.xml b/documentation/poky-ref-manual/ref-structure.xml
index 296ea54eb3..74687c50a5 100644
--- a/documentation/poky-ref-manual/ref-structure.xml
+++ b/documentation/poky-ref-manual/ref-structure.xml
@@ -6,9 +6,9 @@
6<title>Reference: Directory Structure</title> 6<title>Reference: Directory Structure</title>
7 7
8<para> 8<para>
9 Poky consists of several components and understanding what these are 9 Poky consists of several components.
10 and where they're located is one of the keys to using it. This section walks 10 Understanding them and knowing where they are located is key to using Poky well.
11 through the Poky directory structure giving information about the various 11 This appendix describes the Poky directory structure and gives information about the various
12 files and directories. 12 files and directories.
13</para> 13</para>
14 14
@@ -19,17 +19,20 @@
19 <title><filename class="directory">bitbake/</filename></title> 19 <title><filename class="directory">bitbake/</filename></title>
20 20
21 <para> 21 <para>
22 A copy of BitBake is included within Poky for ease of use, and should 22 Poky includes a copy of BitBake for ease of use.
23 usually match the current BitBake stable release from the BitBake project. 23 The copy usually matches the current stable BitBake release from the BitBake project.
24 Bitbake, a metadata interpreter, reads the Poky metadata and runs the tasks 24 BitBake, a metadata interpreter, reads the Poky metadata and runs the tasks
25 defined in the Poky metadata. Failures are usually from the metadata, not 25 defined by that data.
26 BitBake itself, so most users don't need to worry about BitBake. The 26 Failures are usually from the metadata and not
27 <filename class="directory">bitbake/bin/</filename> directory is placed 27 from BitBake itself.
28 into the PATH environment variable by the <link 28 Consequently, most users do not need to worry about BitBake.
29 linkend="structure-core-script">poky-init-build-env</link> script. 29 The <filename class="directory">bitbake/bin/</filename> directory is placed
30 into the PATH environment variable by the
31 <link linkend="structure-core-script">poky-init-build-env</link> script.
30 </para> 32 </para>
33
31 <para> 34 <para>
32 For more information on BitBake please see the BitBake project site at 35 For more information on BitBake, see the BitBake project site at
33 <ulink url="http://bitbake.berlios.de/"/> 36 <ulink url="http://bitbake.berlios.de/"/>
34 and the BitBake on-line manual at <ulink url="http://bitbake.berlios.de/manual/"/>. 37 and the BitBake on-line manual at <ulink url="http://bitbake.berlios.de/manual/"/>.
35 </para> 38 </para>
@@ -41,9 +44,11 @@
41 <para> 44 <para>
42 This directory contains user configuration files and the output 45 This directory contains user configuration files and the output
43 generated by Poky in its standard configuration where the source tree is 46 generated by Poky in its standard configuration where the source tree is
44 combined with the output. It is also possible to place output and configuration 47 combined with the output.
45 files in a directory separate from the Poky source, see the section <link 48 It is also possible to place output and configuration
46 linkend='structure-core-script'>seperate output directory</link>. 49 files in a directory separate from the Poky source.
50 For information on separating output from the Poky source, see <link
51 linkend='structure-core-script'>poky-init-build-env</link>.
47 </para> 52 </para>
48 </section> 53 </section>
49 54
@@ -51,8 +56,8 @@
51 <title><filename class="directory">meta/</filename></title> 56 <title><filename class="directory">meta/</filename></title>
52 57
53 <para> 58 <para>
54 This directory contains the core metadata, a key part of Poky. Within this 59 This directory contains the core metadata, which is a key part of Poky.
55 directory there are definitions of the machines, the Poky distribution 60 This directory contains the machine definitions, the Poky distribution,
56 and the packages that make up a given system. 61 and the packages that make up a given system.
57 </para> 62 </para>
58 </section> 63 </section>
@@ -61,9 +66,9 @@
61 <title><filename class="directory">meta-extras/</filename></title> 66 <title><filename class="directory">meta-extras/</filename></title>
62 67
63 <para> 68 <para>
64 This directory is similar to <filename class="directory">meta/</filename>, 69 This directory is similar to <filename class="directory">meta/</filename>.
65 and contains some extra metadata not included in standard Poky. These are 70 The directory contains extra metadata not included in standard Poky.
66 disabled by default, and are not supported as part of Poky. 71 This metadata is disabled by default and is not supported as part of Poky.
67 </para> 72 </para>
68 </section> 73 </section>
69 74
@@ -71,8 +76,8 @@
71 <title><filename class="directory">meta-***/</filename></title> 76 <title><filename class="directory">meta-***/</filename></title>
72 77
73 <para> 78 <para>
74 These directories are optional layers to be added to core metadata, which 79 These directories are optional layers that are added to core metadata.
75 are enabled by adding them to conf/bblayers.conf. 80 The layers are enabled by adding them to the <filename>conf/bblayers.conf</filename> file.
76 </para> 81 </para>
77 </section> 82 </section>
78 83
@@ -80,10 +85,10 @@
80 <title><filename class="directory">scripts/</filename></title> 85 <title><filename class="directory">scripts/</filename></title>
81 86
82 <para> 87 <para>
83 This directory contains various integration scripts which implement 88 This directory contains various integration scripts that implement
84 extra functionality in the Poky environment, such as the QEMU 89 extra functionality in the Poky environment (e.g. QEMU scripts).
85 scripts. This directory is appended to the PATH environment variable by the 90 The <link linkend="structure-core-script">poky-init-build-env</link> script appends this
86 <link linkend="structure-core-script">poky-init-build-env</link> script. 91 directory to the PATH environment variable.
87 </para> 92 </para>
88 </section> 93 </section>
89 94
@@ -91,40 +96,42 @@
91 <title><filename class="directory">sources/</filename></title> 96 <title><filename class="directory">sources/</filename></title>
92 97
93 <para> 98 <para>
94 While not part of a checkout, Poky will create this directory as 99 This directory receives downloads as specified by the
95 part of any build. Any downloads are placed in this directory (as 100 <glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm> variable.
96 specified by the <glossterm><link linkend='var-DL_DIR'>DL_DIR</link> 101 Even though the directory is not part of a checkout, Poky creates it during a build.
97 </glossterm> variable). This directory can be shared between Poky 102 You can use this directory to share downloading files between Poky builds.
98 builds to save downloading files multiple times. SCM checkouts are 103 This practice can save you from downloading files multiple times.
99 also stored here as e.g. <filename class="directory">sources/svn/ 104 <note><para>
100 </filename>, <filename class="directory">sources/cvs/</filename> or 105 You can override the location for this directory by setting
101 <filename class="directory">sources/git/</filename> and the 106 the DL_DIR variable in <filename>local.conf</filename>.
102 sources directory may contain archives of checkouts for various 107 </para></note>
103 revisions or dates.
104 </para> 108 </para>
105 109
106 <para> 110 <para>
107 It's worth noting that BitBake creates <filename class="extension">.md5 111 This directory also contains SCM checkouts (e.g. <filename class="directory">sources/svn/
108 </filename> stamp files for downloads. It uses these to mark downloads as 112 </filename>, <filename class="directory">sources/cvs/</filename> or
109 complete as well as for checksum and access accounting purposes. If you add 113 <filename class="directory">sources/git/</filename>).
110 a file manually to the directory, you need to touch the corresponding 114 The <filename class="directory">sources</filename> directory can contain archives of
111 <filename class="extension">.md5</filename> file too. 115 checkouts for various revisions or dates.
112 </para> 116 </para>
113 117
114 <para> 118 <para>
115 This location can be overridden by setting <glossterm><link 119 It's worth noting that BitBake creates <filename class="extension">.md5
116 linkend='var-DL_DIR'>DL_DIR</link></glossterm> in <filename>local.conf 120 </filename> stamp files for downloads.
117 </filename>. This directory can be shared between builds and even between 121 BitBake uses these files to mark downloads as
118 machines via NFS, so downloads are only made once, speeding up builds. 122 complete as well as for checksum and access accounting purposes.
123 If you manually add a file to the directory, you need to touch the corresponding
124 <filename class="extension">.md5</filename> file as well.
119 </para> 125 </para>
120
121 </section> 126 </section>
122 127
123 <section id='handbook'> 128 <section id='handbook'>
124 <title><filename class="directory">documentation</filename></title> 129 <title><filename class="directory">documentation</filename></title>
125 130
126 <para> 131 <para>
127 This is the location for documentaiton about poky including this handbook. 132 This directory holds the source for the documentation. Each manual is contained in
133 a sub-folder. For example, the files for this manual reside in
134 <filename class="directory">poky-ref-manual</filename>.
128 </para> 135 </para>
129 </section> 136 </section>
130 137
@@ -132,46 +139,50 @@
132 <title><filename>poky-init-build-env</filename></title> 139 <title><filename>poky-init-build-env</filename></title>
133 140
134 <para> 141 <para>
135 This script is used to setup the Poky build environment. Sourcing this file in 142 This script sets up the Poky build environment.
143 Sourcing this file in
136 a shell makes changes to PATH and sets other core BitBake variables based on the 144 a shell makes changes to PATH and sets other core BitBake variables based on the
137 current working directory. You need to use this before running Poky commands. 145 current working directory.
138 Internally it uses scripts within the <filename class="directory">scripts/ 146 You need to run this script before running Poky commands.
139 </filename> directory to do the bulk of the work. This script supports 147 The script uses other scripts within the <filename class="directory">scripts/
140 specifying any directory as the build output: 148 </filename> directory to do the bulk of the work.
149 You can use this script to specify any directory for the build's output by doing the following:
141 </para> 150 </para>
142 151
143 <programlisting> 152 <literallayout class='monospaced'>
144source POKY_SRC/poky-init-build-env [BUILDDIR] 153 $ source POKY_SRC/poky-init-build-env [BUILDDIR]
145 </programlisting> 154 </literallayout>
146 155
147 <para> 156 <para>
148 The above command can be typed from any directory, as long as POKY_SRC points to 157 You can enter the above command from any directory, as long as POKY_SRC points to
149 the desired Poky source tree. The optional BUILDDIR could be any directory you'd 158 the desired Poky source tree.
150 like Poky to generate the build output into. 159 The optional BUILDDIR can be any directory into which you would
160 like Poky to generate the build output.
151 </para> 161 </para>
152 </section> 162 </section>
153</section> 163</section>
154 164
155<section id='structure-build'> 165<section id='structure-build'>
156 <title><filename class="directory">build/</filename> - The Build Directory</title> 166 <title>The Build Directory - <filename class="directory">build/</filename></title>
157 167
158 <section id='structure-build-conf-local.conf'> 168 <section id='structure-build-conf-local.conf'>
159 <title><filename>build/conf/local.conf</filename></title> 169 <title><filename>build/conf/local.conf</filename></title>
160 170
161 <para> 171 <para>
162 This file contains all the local user configuration of Poky. If there 172 This file contains all the local user configuration of Poky.
163 is no <filename>local.conf</filename> present, it is created from 173 If there is no <filename>local.conf</filename> present, it is created from
164 <filename>local.conf.sample</filename>. The <filename>local.conf</filename> 174 <filename>local.conf.sample</filename>.
165 file contains documentation on the various configuration options. Any 175 The <filename>local.conf</filename> file contains documentation on the various configuration options.
166 variable set here overrides any variable set elsewhere within Poky unless 176 Any variable set here overrides any variable set elsewhere within Poky unless
167 that variable is hardcoded within Poky (e.g. by using '=' instead of '?='). 177 that variable is hard-coded within Poky (e.g. by using '=' instead of '?=').
168 Some variables are hardcoded for various reasons but these variables are 178 Some variables are hard-coded for various reasons but these variables are
169 relatively rare. 179 relatively rare.
170 </para> 180 </para>
171 181
172 <para> 182 <para>
173 Edit this file to set the <glossterm><link linkend='var-MACHINE'>MACHINE</link></glossterm> for which you want to build, which package types you 183 Edit this file to set the <glossterm><link linkend='var-MACHINE'>MACHINE</link></glossterm>
174 wish to use (PACKAGE_CLASSES) or where downloaded files should go 184 for which you want to build, which package types you
185 wish to use (PACKAGE_CLASSES) or where you want to downloaded files
175 (<glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm>). 186 (<glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm>).
176 </para> 187 </para>
177 </section> 188 </section>
@@ -180,9 +191,10 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
180 <title><filename>build/conf/bblayers.conf</filename></title> 191 <title><filename>build/conf/bblayers.conf</filename></title>
181 192
182 <para> 193 <para>
183 This file defines layers walked by bitbake. If there's no <filename> 194 This file defines layers, which is a directory tree, traversed (or walked) by BitBake.
184 bblayers.conf</filename> present, it is created from <filename>bblayers.conf.sample 195 If <filename>bblayers.conf</filename>
185 </filename> when the environment setup script is sourced. 196 is not present, it is created from <filename>bblayers.conf.sample</filename> when the environment
197 setup script is sourced.
186 </para> 198 </para>
187 </section> 199 </section>
188 200
@@ -190,10 +202,12 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
190 <title><filename class="directory">build/tmp/</filename></title> 202 <title><filename class="directory">build/tmp/</filename></title>
191 203
192 <para> 204 <para>
193 This is created by BitBake if it doesn't exist and is where all the Poky output 205 This directory receives all the Poky output.
194 is placed. To clean Poky and start a build from scratch (other than downloads), 206 BitBake creates this directory if it does not exist.
195 you can wipe this directory. The <filename class="directory">tmp/ 207 To clean Poky and start a build from scratch (other than downloads),
196 </filename> directory has some important sub-components detailed below. 208 you can remove everything in this directory or get rid of the directory completely.
209 The <filename class="directory">tmp/</filename> directory has some important
210 sub-components detailed below.
197 </para> 211 </para>
198 </section> 212 </section>
199 213
@@ -201,24 +215,24 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
201 <title><filename class="directory">build/tmp/cache/</filename></title> 215 <title><filename class="directory">build/tmp/cache/</filename></title>
202 216
203 <para> 217 <para>
204 When BitBake parses the metadata it creates a cache file of the result which can 218 When BitBake parses the metadata it creates a cache file of the result that can
205 be used when subsequently running commands. These are stored here on 219 be used when subsequently running commands.
206 a per machine basis. 220 These results are stored here on a per-machine basis.
207 </para> 221 </para>
208 </section> 222 </section>
209 223
210 <section id='structure-build-tmp-deploy'> 224 <section id='structure-build-tmp-deploy'>
211 <title><filename class="directory">build/tmp/deploy/</filename></title> 225 <title><filename class="directory">build/tmp/deploy/</filename></title>
212 226
213 <para>Any 'end result' output from Poky is placed under here.</para> 227 <para>This directory contains any 'end result' output from Poky.</para>
214 </section> 228 </section>
215 229
216 <section id='structure-build-tmp-deploy-deb'> 230 <section id='structure-build-tmp-deploy-deb'>
217 <title><filename class="directory">build/tmp/deploy/deb/</filename></title> 231 <title><filename class="directory">build/tmp/deploy/deb/</filename></title>
218 232
219 <para> 233 <para>
220 Any .deb packages emitted by Poky are placed here, sorted into feeds for 234 This directory receives any .deb packages produced by Poky.
221 different architecture types. 235 The packages are sorted into feeds for different architecture types.
222 </para> 236 </para>
223 </section> 237 </section>
224 238
@@ -226,8 +240,8 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
226 <title><filename class="directory">build/tmp/deploy/rpm/</filename></title> 240 <title><filename class="directory">build/tmp/deploy/rpm/</filename></title>
227 241
228 <para> 242 <para>
229 Any .rpm packages emitted by Poky are placed here, sorted into feeds for 243 This directory receives any .rpm packages produced by Poky.
230 different architecture types. 244 The packages re sorted into feeds for different architecture types.
231 </para> 245 </para>
232 </section> 246 </section>
233 247
@@ -235,24 +249,25 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
235 <title><filename class="directory">build/tmp/deploy/images/</filename></title> 249 <title><filename class="directory">build/tmp/deploy/images/</filename></title>
236 250
237 <para> 251 <para>
238 Complete filesystem images are placed here. If you want to flash the resulting 252 This directory receives complete filesystem images.
239 image from a build onto a device, look here for them. 253 If you want to flash the resulting image from a build onto a device, look here for the image.
240 </para> 254 </para>
241 </section> 255 </section>
242 256
243 <section id='structure-build-tmp-deploy-ipk'> 257 <section id='structure-build-tmp-deploy-ipk'>
244 <title><filename class="directory">build/tmp/deploy/ipk/</filename></title> 258 <title><filename class="directory">build/tmp/deploy/ipk/</filename></title>
245 259
246 <para>Any resulting .ipk packages emitted by Poky are placed here.</para> 260 <para>This directory receives .ipk packages produced by Poky.</para>
247 </section> 261 </section>
248 262
249 <section id='structure-build-tmp-sysroots'> 263 <section id='structure-build-tmp-sysroots'>
250 <title><filename class="directory">build/tmp/sysroots/</filename></title> 264 <title><filename class="directory">build/tmp/sysroots/</filename></title>
251 265
252 <para> 266 <para>
253 Any package needing to share output with other packages does so within sysroots. 267 This directory contains shared header files and libraries as well as other shared
254 This means it contains any shared header files and any shared libraries amongst 268 data.
255 other data. It is subdivided by architecture so multiple builds can run within 269 Packages that need to share output with other packages do so within this directory.
270 The directory is subdivided by architecture so multiple builds can run within
256 the one build directory. 271 the one build directory.
257 </para> 272 </para>
258 </section> 273 </section>
@@ -261,9 +276,11 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
261 <title><filename class="directory">build/tmp/stamps/</filename></title> 276 <title><filename class="directory">build/tmp/stamps/</filename></title>
262 277
263 <para> 278 <para>
264 This is used by BitBake for accounting purposes to keep track of which tasks 279 This directory holds information that that BitBake uses for accounting purposes
265 have been run and when. It is also subdivided by architecture. The files are 280 to track what tasks have run and when they have run.
266 empty and the important information is the filenames and timestamps. 281 The directory is sub-divided by architecture.
282 The files in the directory are empty of data.
283 However, BitBake uses the filenames and timestamps for tracking purposes.
267 </para> 284 </para>
268 </section> 285 </section>
269 286
@@ -271,9 +288,9 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
271 <title><filename class="directory">build/tmp/log/</filename></title> 288 <title><filename class="directory">build/tmp/log/</filename></title>
272 289
273 <para> 290 <para>
274 This contains some general logs if not placing in a package's 291 This directory contains general logs that are not otherwise placed using the
275 <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>, such as 292 package's <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>.
276 the log output from check_pkg or distro_check tasks. 293 Examples of logs are the output from the "check_pkg" or "distro_check" tasks.
277 </para> 294 </para>
278 </section> 295 </section>
279 296
@@ -281,9 +298,8 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
281 <title><filename class="directory">build/tmp/pkgdata/</filename></title> 298 <title><filename class="directory">build/tmp/pkgdata/</filename></title>
282 299
283 <para> 300 <para>
284 This is an intermediate place for saving packaging data, which will be used 301 This directory contains intermediate packaging data that is used later in the packaging process.
285 in later packaging process. For detail please refer to <link linkend='ref-classes-package'> 302 For more information, see <link linkend='ref-classes-package'>package.bbclass</link>.
286 package.bbclass</link>.
287 </para> 303 </para>
288 </section> 304 </section>
289 305
@@ -291,9 +307,9 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
291 <title><filename class="directory">build/tmp/pstagelogs/</filename></title> 307 <title><filename class="directory">build/tmp/pstagelogs/</filename></title>
292 308
293 <para> 309 <para>
294 This directory contains manifest for task based prebuilt. Each manifest is basically 310 This directory contains manifest for task-based pre-built.
295 a file list for installed files from a given task, which would be useful for later 311 Each manifest is basically a file list for installed files from a given task.
296 packaging or cleanup process. 312 Manifests are useful for later packaging or cleanup processes.
297 </para> 313 </para>
298 </section> 314 </section>
299 315
@@ -301,62 +317,63 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
301 <title><filename class="directory">build/tmp/work/</filename></title> 317 <title><filename class="directory">build/tmp/work/</filename></title>
302 318
303 <para> 319 <para>
304 This directory contains various subdirectories for each architecture, and each package built by BitBake has its own work directory under the appropriate architecture subdirectory. All tasks are executed from this work directory. As an example, the source for a particular package will be unpacked, patched, configured and compiled all within its own work directory. 320 This directory contains architecture-specific work sub-directories for packages built by BitBake.
321 All tasks execute from a work directory.
322 For example, the source for a particular package is unpacked, patched, configured and compiled all
323 within its own work directory.
305 </para> 324 </para>
306 325
307 <para> 326 <para>
308 It is worth considering the structure of a typical work directory. An 327 It is worth considering the structure of a typical work directory.
309 example is the linux-rp kernel, version 2.6.20 r7 on the machine spitz 328 As an example consider the linux-rp kernel, version 2.6.20 r7 on the machine spitz
310 built within Poky. For this package a work directory of <filename 329 built within Poky.
311 class="directory">tmp/work/spitz-poky-linux-gnueabi/linux-rp-2.6.20-r7/ 330 For this package a work directory of
312 </filename>, referred to as <glossterm><link linkend='var-WORKDIR'>WORKDIR 331 <filename class="directory">tmp/work/spitz-poky-linux-gnueabi/linux-rp-2.6.20-r7/</filename>,
313 </link></glossterm>, is created. Within this directory, the source is 332 referred to as <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>, is created.
314 unpacked to linux-2.6.20 and then patched by quilt (see <link 333 Within this directory, the source is unpacked to linux-2.6.20 and then patched by quilt
315 linkend="usingpoky-modifying-packages-quilt">Section 3.5.1</link>). 334 (see <link linkend="usingpoky-modifying-packages-quilt">Section 3.5.1</link>).
316 Within the <filename class="directory">linux-2.6.20</filename> directory, 335 Within the <filename class="directory">linux-2.6.20</filename> directory,
317 standard Quilt directories <filename class="directory">linux-2.6.20/patches</filename> 336 standard quilt directories <filename class="directory">linux-2.6.20/patches</filename>
318 and <filename class="directory">linux-2.6.20/.pc</filename> are created, 337 and <filename class="directory">linux-2.6.20/.pc</filename> are created,
319 and standard quilt commands can be used. 338 and standard quilt commands can be used.
320 </para> 339 </para>
321 340
322 <para> 341 <para>
323 There are other directories generated within <glossterm><link 342 There are other directories generated within WORKDIR.
324 linkend='var-WORKDIR'>WORKDIR</link></glossterm>. The most important 343 The most important directory is WORKDIR
325 is <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm><filename class="directory">/temp/</filename> which has log files for each 344 <filename class="directory">/temp/</filename>, which has log files for each
326 task (<filename>log.do_*.pid</filename>) and the scripts BitBake runs for 345 task (<filename>log.do_*.pid</filename>) and contains the scripts BitBake runs for
327 each task (<filename>run.do_*.pid</filename>). The <glossterm><link 346 each task (<filename>run.do_*.pid</filename>).
328 linkend='var-WORKDIR'>WORKDIR</link></glossterm><filename 347 The WORKDIR<filename class="directory">/image/</filename> directory is where "make
329 class="directory">/image/</filename> directory is where <command>make 348 install" places its output that is then split into sub-packages
330 install</command> places its output which is then split into subpackages 349 within WORKDIR<filename class="directory">/packages-split/</filename>.
331 within <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>
332 <filename class="directory">/packages-split/</filename>.
333 </para> 350 </para>
334 </section> 351 </section>
335</section> 352</section>
336 353
337<section id='structure-meta'> 354<section id='structure-meta'>
338 <title><filename class="directory">meta/</filename> - The Metadata</title> 355 <title>The Metadata - <filename class="directory">meta/</filename></title>
339 356
340 <para> 357 <para>
341 As mentioned previously, this is the core of Poky. It has several 358 As mentioned previously, metadata is the core of Poky.
342 important subdivisions: 359 Metadata has several important subdivisions:
343 </para> 360 </para>
344 361
345 <section id='structure-meta-classes'> 362 <section id='structure-meta-classes'>
346 <title><filename class="directory">meta/classes/</filename></title> 363 <title><filename class="directory">meta/classes/</filename></title>
347 364
348 <para> 365 <para>
349 Contains the <filename class="extension">*.bbclass</filename> files. Class 366 This directory contains the <filename class="extension">*.bbclass</filename> files.
350 files are used to abstract common code allowing it to be reused by multiple 367 Class files are used to abstract common code so it can be reused by multiple
351 packages. The <filename>base.bbclass</filename> file is inherited by every 368 packages.
352 package. Examples of other important classes are 369 Every package inherits the <filename>base.bbclass</filename> file.
353 <filename>autotools.bbclass</filename> that in theory allows any 370 Examples of other important classes are <filename>autotools.bbclass</filename>, which
354 Autotool-enabled package to work with Poky with minimal effort, or 371 in theory allows any Autotool-enabled package to work with Poky with minimal effort.
355 <filename>kernel.bbclass</filename> that contains common code and functions 372 Another example is <filename>kernel.bbclass</filename> that contains common code and functions
356 for working with the linux kernel. Functions like image generation or 373 for working with the Linux kernel.
357 packaging also have their specific class files (<filename>image.bbclass 374 Functions like image generation or packaging also have their specific class files
358 </filename>, <filename>rootfs_*.bbclass</filename> and 375 such as <filename>image.bbclass</filename>, <filename>rootfs_*.bbclass</filename> and
359 <filename>package*.bbclass</filename>). 376 <filename>package*.bbclass</filename>.
360 </para> 377 </para>
361 </section> 378 </section>
362 379
@@ -364,13 +381,14 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
364 <title><filename class="directory">meta/conf/</filename></title> 381 <title><filename class="directory">meta/conf/</filename></title>
365 382
366 <para> 383 <para>
367 This is the core set of configuration files which start from 384 This directory contains the core set of configuration files that start from
368 <filename>bitbake.conf</filename> and from which all other configuration 385 <filename>bitbake.conf</filename> and from which all other configuration
369 files are included (see the includes at the end of the file, even 386 files are included.
370 <filename>local.conf</filename> is loaded from there!). While 387 See the includes at the end of the file and you will note that even
371 <filename>bitbake.conf</filename> sets up the defaults, these can often be 388 <filename>local.conf</filename> is loaded from there!
372 overridden by user (<filename>local.conf</filename>), machine or 389 While <filename>bitbake.conf</filename> sets up the defaults, you can often override
373 distribution configuration files. 390 these by using the (<filename>local.conf</filename>) file, machine file or
391 the distribution configuration file.
374 </para> 392 </para>
375 </section> 393 </section>
376 394
@@ -378,10 +396,11 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
378 <title><filename class="directory">meta/conf/machine/</filename></title> 396 <title><filename class="directory">meta/conf/machine/</filename></title>
379 397
380 <para> 398 <para>
381 Contains all the machine configuration files. If you set MACHINE="spitz", the 399 This directory contains all the machine configuration files.
382 end result is Poky looking for a <filename>spitz.conf</filename> file in this directory. The includes 400 If you set MACHINE="spitz", Poky looks for a <filename>spitz.conf</filename> file in this
383 directory contains various data common to multiple machines. If you want to add 401 directory.
384 support for a new machine to Poky, this is the directory to look in. 402 The includes directory contains various data common to multiple machines.
403 If you want to add support for a new machine to Poky, look in this directory.
385 </para> 404 </para>
386 </section> 405 </section>
387 406
@@ -389,12 +408,12 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
389 <title><filename class="directory">meta/conf/distro/</filename></title> 408 <title><filename class="directory">meta/conf/distro/</filename></title>
390 409
391 <para> 410 <para>
392 Any distribution specific configuration is controlled from here. OpenEmbedded 411 Any distribution-specific configuration is controlled from this directory.
393 supports multiple distributions of which Poky is one. Poky only contains the 412 Poky only contains the Poky distribution so <filename>poky.conf</filename>
394 Poky distribution so poky.conf is the main file here. This includes the 413 is the main file here.
395 versions and SRCDATES for applications which are configured here. An example of 414 This directory includes the versions and SRCDATES for applications that are configured here.
396 an alternative configuration is poky-bleeding.conf although this mainly inherits 415 An example of an alternative configuration is <filename>poky-bleeding.conf</filename>
397 its configuration from Poky itself. 416 although this file mainly inherits its configuration from Poky itself.
398 </para> 417 </para>
399 </section> 418 </section>
400 419
@@ -402,8 +421,8 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
402 <title><filename class="directory">meta/recipes-bsp/</filename></title> 421 <title><filename class="directory">meta/recipes-bsp/</filename></title>
403 422
404 <para> 423 <para>
405 Anything linking to specific hardware or hardware configuration information 424 This directory contains anything linking to specific hardware or hardware configuration information
406 are placed here, such as uboot, grub, etc. 425 such as "uboot" and "grub".
407 </para> 426 </para>
408 </section> 427 </section>
409 428
@@ -411,7 +430,7 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
411 <title><filename class="directory">meta/recipes-connectivity/</filename></title> 430 <title><filename class="directory">meta/recipes-connectivity/</filename></title>
412 431
413 <para> 432 <para>
414 Libraries and applications related to communication with other devices 433 This directory contains libraries and applications related to communication with other devices.
415 </para> 434 </para>
416 </section> 435 </section>
417 436
@@ -419,7 +438,8 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
419 <title><filename class="directory">meta/recipes-core/</filename></title> 438 <title><filename class="directory">meta/recipes-core/</filename></title>
420 439
421 <para> 440 <para>
422 What's needed to build a basic working Linux image including commonly used dependencies 441 This directory contains what is needed to build a basic working Linux image
442 including commonly used dependencies.
423 </para> 443 </para>
424 </section> 444 </section>
425 445
@@ -427,7 +447,8 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
427 <title><filename class="directory">meta/recipes-devtools/</filename></title> 447 <title><filename class="directory">meta/recipes-devtools/</filename></title>
428 448
429 <para> 449 <para>
430 Tools primarily used by the build system (but can also be used on targets) 450 This directory contains tools that are primarily used by the build system.
451 The tools, however, can also be used on targets.
431 </para> 452 </para>
432 </section> 453 </section>
433 454
@@ -435,8 +456,10 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
435 <title><filename class="directory">meta/recipes-extended/</filename></title> 456 <title><filename class="directory">meta/recipes-extended/</filename></title>
436 457
437 <para> 458 <para>
438 Applications which whilst not essential add features compared to the alternatives in 459 This directory contains non-essential applications that add features compared to the
439 core. May be needed for full tool functionality or LSB compliance. 460 alternatives in core.
461 You might need this directory for full tool functionality or for Linux Standard Base (LSB)
462 compliance.
440 </para> 463 </para>
441 </section> 464 </section>
442 465
@@ -444,7 +467,7 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
444 <title><filename class="directory">meta/recipes-gnome/</filename></title> 467 <title><filename class="directory">meta/recipes-gnome/</filename></title>
445 468
446 <para> 469 <para>
447 All things related to the GTK+ application framework 470 This directory contains all things related to the GTK+ application framework.
448 </para> 471 </para>
449 </section> 472 </section>
450 473
@@ -452,7 +475,7 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
452 <title><filename class="directory">meta/recipes-graphics/</filename></title> 475 <title><filename class="directory">meta/recipes-graphics/</filename></title>
453 476
454 <para> 477 <para>
455 X and other graphically related system libraries 478 This directory contains X and other graphically related system libraries
456 </para> 479 </para>
457 </section> 480 </section>
458 481
@@ -460,7 +483,8 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
460 <title><filename class="directory">meta/recipes-kernel/</filename></title> 483 <title><filename class="directory">meta/recipes-kernel/</filename></title>
461 484
462 <para> 485 <para>
463 The kernel and generic applications/libraries with strong kernel dependencies 486 This directory contains the kernel and generic applications and libraries that
487 have strong kernel dependencies.
464 </para> 488 </para>
465 </section> 489 </section>
466 490
@@ -468,7 +492,7 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
468 <title><filename class="directory">meta/recipes-multimedia/</filename></title> 492 <title><filename class="directory">meta/recipes-multimedia/</filename></title>
469 493
470 <para> 494 <para>
471 Codecs and support utilties for audio, images and video 495 This directory contains codecs and support utilities for audio, images and video.
472 </para> 496 </para>
473 </section> 497 </section>
474 498
@@ -476,7 +500,7 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
476 <title><filename class="directory">meta/recipes-qt/</filename></title> 500 <title><filename class="directory">meta/recipes-qt/</filename></title>
477 501
478 <para> 502 <para>
479 All things related to the QT application framework 503 This directory contains all things related to the QT application framework.
480 </para> 504 </para>
481 </section> 505 </section>
482 506
@@ -484,7 +508,8 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
484 <title><filename class="directory">meta/recipes-sato/</filename></title> 508 <title><filename class="directory">meta/recipes-sato/</filename></title>
485 509
486 <para> 510 <para>
487 The Sato demo/reference UI/UX, its associated apps and configuration 511 This directory contains the Sato demo/reference UI/UX and its associated applications
512 and configuration data.
488 </para> 513 </para>
489 </section> 514 </section>
490 515
@@ -492,9 +517,10 @@ source POKY_SRC/poky-init-build-env [BUILDDIR]
492 <title><filename class="directory">meta/site/</filename></title> 517 <title><filename class="directory">meta/site/</filename></title>
493 518
494 <para> 519 <para>
495 Certain autoconf test results cannot be determined when cross compiling since it 520 This directory contains a list of cached results for various architectures.
496 can't run tests on a live system. This directory therefore contains a list of 521 Because certain "autoconf" test results cannot be determined when cross-compiling due to
497 cached results for various architectures which is passed to autoconf. 522 the tests not able to run on a live system, the information in this directory is
523 passed to "autoconf" for the various architectures.
498 </para> 524 </para>
499 </section> 525 </section>
500</section> 526</section>