diff options
Diffstat (limited to 'handbook/ref-structure.xml')
-rw-r--r-- | handbook/ref-structure.xml | 200 |
1 files changed, 179 insertions, 21 deletions
diff --git a/handbook/ref-structure.xml b/handbook/ref-structure.xml index 3cc7295b7e..3d7c3c9db7 100644 --- a/handbook/ref-structure.xml +++ b/handbook/ref-structure.xml | |||
@@ -7,7 +7,7 @@ | |||
7 | 7 | ||
8 | <para> | 8 | <para> |
9 | Poky consists of several components and understanding what these are | 9 | Poky consists of several components and understanding what these are |
10 | and where they're located is one of the keys to using it. This section walks | 10 | and where they're located is one of the keys to use it. This section walks |
11 | through the Poky directory structure giving information about the various | 11 | through the Poky directory structure giving information about the various |
12 | files and directories. | 12 | files and directories. |
13 | </para> | 13 | </para> |
@@ -40,7 +40,10 @@ | |||
40 | 40 | ||
41 | <para> | 41 | <para> |
42 | This directory contains user configuration files and the output | 42 | This directory contains user configuration files and the output |
43 | from Poky. | 43 | from Poky. It's now deprecated to be a sub-directory in Poky source tree, |
44 | though it's still supported. The desired way is to use <link | ||
45 | linkend='structure-core-script'>seperate output directory</link> for build | ||
46 | outside of Poky source tree. | ||
44 | </para> | 47 | </para> |
45 | </section> | 48 | </section> |
46 | 49 | ||
@@ -64,6 +67,15 @@ | |||
64 | </para> | 67 | </para> |
65 | </section> | 68 | </section> |
66 | 69 | ||
70 | <section id='structure-core-meta-***'> | ||
71 | <title><filename class="directory">meta-***/</filename></title> | ||
72 | |||
73 | <para> | ||
74 | These directories are optional layers to be added to core metadata, which | ||
75 | are enabled by adding them to conf/bblayers.conf. | ||
76 | </para> | ||
77 | </section> | ||
78 | |||
67 | <section id='structure-core-scripts'> | 79 | <section id='structure-core-scripts'> |
68 | <title><filename class="directory">scripts/</filename></title> | 80 | <title><filename class="directory">scripts/</filename></title> |
69 | 81 | ||
@@ -108,6 +120,14 @@ | |||
108 | 120 | ||
109 | </section> | 121 | </section> |
110 | 122 | ||
123 | <section id='handbook'> | ||
124 | <title><filename class="directory">handbook</filename></title> | ||
125 | |||
126 | <para> | ||
127 | This is the location where this handbook is generated | ||
128 | </para> | ||
129 | </section> | ||
130 | |||
111 | <section id='structure-core-script'> | 131 | <section id='structure-core-script'> |
112 | <title><filename>poky-init-build-env</filename></title> | 132 | <title><filename>poky-init-build-env</filename></title> |
113 | 133 | ||
@@ -116,7 +136,18 @@ | |||
116 | a shell makes changes to PATH and sets other core BitBake variables based on the | 136 | a shell makes changes to PATH and sets other core BitBake variables based on the |
117 | current working directory. You need to use this before running Poky commands. | 137 | current working directory. You need to use this before running Poky commands. |
118 | Internally it uses scripts within the <filename class="directory">scripts/ | 138 | Internally it uses scripts within the <filename class="directory">scripts/ |
119 | </filename> directory to do the bulk of the work. | 139 | </filename> directory to do the bulk of the work. Now this script supports |
140 | specifying any directory as the build output: | ||
141 | </para> | ||
142 | |||
143 | <programlisting> | ||
144 | source POKY_SRC/poky-init-build-env [BUILDDIR] | ||
145 | </programlisting> | ||
146 | |||
147 | <para> | ||
148 | Above command can be typed 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 | ||
150 | like to contain output contents. | ||
120 | </para> | 151 | </para> |
121 | </section> | 152 | </section> |
122 | </section> | 153 | </section> |
@@ -145,6 +176,16 @@ | |||
145 | </para> | 176 | </para> |
146 | </section> | 177 | </section> |
147 | 178 | ||
179 | <section id='structure-build-conf-bblayers.conf'> | ||
180 | <title><filename>build/conf/bblayers.conf</filename></title> | ||
181 | |||
182 | <para> | ||
183 | This file defines layers walked by bitbake. If there's no <filename> | ||
184 | bblayers.conf</filename> present, it is created from <filename>bblayers.conf.sample | ||
185 | </filename>. | ||
186 | </para> | ||
187 | </section> | ||
188 | |||
148 | <section id='structure-build-tmp'> | 189 | <section id='structure-build-tmp'> |
149 | <title><filename class="directory">build/tmp/</filename></title> | 190 | <title><filename class="directory">build/tmp/</filename></title> |
150 | 191 | ||
@@ -181,6 +222,15 @@ | |||
181 | </para> | 222 | </para> |
182 | </section> | 223 | </section> |
183 | 224 | ||
225 | <section id='structure-build-tmp-deploy-rpm'> | ||
226 | <title><filename class="directory">build/tmp/deploy/rpm/</filename></title> | ||
227 | |||
228 | <para> | ||
229 | Any .rpm packages emitted by Poky are placed here, sorted into feeds for | ||
230 | different architecture types. | ||
231 | </para> | ||
232 | </section> | ||
233 | |||
184 | <section id='structure-build-tmp-deploy-images'> | 234 | <section id='structure-build-tmp-deploy-images'> |
185 | <title><filename class="directory">build/tmp/deploy/images/</filename></title> | 235 | <title><filename class="directory">build/tmp/deploy/images/</filename></title> |
186 | 236 | ||
@@ -196,17 +246,6 @@ | |||
196 | <para>Any resulting .ipk packages emitted by Poky are placed here.</para> | 246 | <para>Any resulting .ipk packages emitted by Poky are placed here.</para> |
197 | </section> | 247 | </section> |
198 | 248 | ||
199 | <section id='structure-build-tmp-rootfs'> | ||
200 | <title><filename class="directory">build/tmp/rootfs/</filename></title> | ||
201 | |||
202 | <para> | ||
203 | This is a temporary scratch area used when creating filesystem images. It is run | ||
204 | under fakeroot and is not useful once that fakeroot session has ended as | ||
205 | information is lost. It is left around since it is still useful in debugging | ||
206 | image creation problems. | ||
207 | </para> | ||
208 | </section> | ||
209 | |||
210 | <section id='structure-build-tmp-sysroots'> | 249 | <section id='structure-build-tmp-sysroots'> |
211 | <title><filename class="directory">build/tmp/sysroots/</filename></title> | 250 | <title><filename class="directory">build/tmp/sysroots/</filename></title> |
212 | 251 | ||
@@ -224,7 +263,38 @@ | |||
224 | <para> | 263 | <para> |
225 | This is used by BitBake for accounting purposes to keep track of which tasks | 264 | This is used by BitBake for accounting purposes to keep track of which tasks |
226 | have been run and when. It is also subdivided by architecture. The files are | 265 | have been run and when. It is also subdivided by architecture. The files are |
227 | empty and the important information is the filenames and timestamps.</para> | 266 | empty and the important information is the filenames and timestamps. |
267 | </para> | ||
268 | </section> | ||
269 | |||
270 | <section id='structure-build-tmp-log'> | ||
271 | <title><filename class="directory">build/tmp/log/</filename></title> | ||
272 | |||
273 | <para> | ||
274 | This contains some general logs if not placing in a package's | ||
275 | <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>, such as | ||
276 | the log output from check_pkg or distro_check tasks. | ||
277 | </para> | ||
278 | </section> | ||
279 | |||
280 | <section id='structure-build-tmp-pkgdata'> | ||
281 | <title><filename class="directory">build/tmp/pkgdata/</filename></title> | ||
282 | |||
283 | <para> | ||
284 | This is an intermediate place for saving packaging data, which will be used | ||
285 | in later packaging process. For detail please refer to <link linkend='ref-classes-package'> | ||
286 | package.bbclass</link>. | ||
287 | </para> | ||
288 | </section> | ||
289 | |||
290 | <section id='structure-build-tmp-pstagelogs'> | ||
291 | <title><filename class="directory">build/tmp/pstagelogs/</filename></title> | ||
292 | |||
293 | <para> | ||
294 | This directory contains manifest for task based prebuilt. Each manifest is basically | ||
295 | a file list for installed files from a given task, which would be useful for later | ||
296 | packaging or cleanup process. | ||
297 | </para> | ||
228 | </section> | 298 | </section> |
229 | 299 | ||
230 | <section id='structure-build-tmp-work'> | 300 | <section id='structure-build-tmp-work'> |
@@ -258,7 +328,8 @@ | |||
258 | linkend='var-WORKDIR'>WORKDIR</link></glossterm><filename | 328 | linkend='var-WORKDIR'>WORKDIR</link></glossterm><filename |
259 | class="directory">/image/</filename> directory is where <command>make | 329 | class="directory">/image/</filename> directory is where <command>make |
260 | install</command> places its output which is then split into subpackages | 330 | install</command> places its output which is then split into subpackages |
261 | within <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm><filename class="directory">/install/</filename>. | 331 | within <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm> |
332 | <filename class="directory">/packages-split/</filename>. | ||
262 | </para> | 333 | </para> |
263 | </section> | 334 | </section> |
264 | </section> | 335 | </section> |
@@ -327,15 +398,102 @@ | |||
327 | </para> | 398 | </para> |
328 | </section> | 399 | </section> |
329 | 400 | ||
401 | <section id='structure-meta-recipes-bsp'> | ||
402 | <title><filename class="directory">meta/recipes-bsp/</filename></title> | ||
403 | |||
404 | <para> | ||
405 | Anything linking to specific hardware or hardware configuration information | ||
406 | are placed here, such as uboot, grub, etc. | ||
407 | </para> | ||
408 | </section> | ||
409 | |||
410 | <section id='structure-meta-recipes-connectivity'> | ||
411 | <title><filename class="directory">meta/recipes-connectivity/</filename></title> | ||
412 | |||
413 | <para> | ||
414 | Libraries and applications related to communication with other devices | ||
415 | </para> | ||
416 | </section> | ||
417 | |||
418 | <section id='structure-meta-recipes-core'> | ||
419 | <title><filename class="directory">meta/recipes-core/</filename></title> | ||
420 | |||
421 | <para> | ||
422 | What's needed to build a basic working Linux image including commonly used dependencies | ||
423 | </para> | ||
424 | </section> | ||
425 | |||
426 | <section id='structure-meta-recipes-devtools'> | ||
427 | <title><filename class="directory">meta/recipes-devtools/</filename></title> | ||
428 | |||
429 | <para> | ||
430 | Tools primarily used by the build system (but can also be used on targets) | ||
431 | </para> | ||
432 | </section> | ||
433 | |||
434 | <section id='structure-meta-recipes-extended'> | ||
435 | <title><filename class="directory">meta/recipes-extended/</filename></title> | ||
436 | |||
437 | <para> | ||
438 | Applications which whilst not essential add features compared to the alternatives in | ||
439 | core. May be needed for full tool functionality or LSB compliance. | ||
440 | </para> | ||
441 | </section> | ||
442 | |||
443 | <section id='structure-meta-recipes-gnome'> | ||
444 | <title><filename class="directory">meta/recipes-gnome/</filename></title> | ||
445 | |||
446 | <para> | ||
447 | All things related to the GTK+ application framework | ||
448 | </para> | ||
449 | </section> | ||
450 | |||
451 | <section id='structure-meta-recipes-graphics'> | ||
452 | <title><filename class="directory">meta/recipes-graphics/</filename></title> | ||
453 | |||
454 | <para> | ||
455 | X and other graphically related system libraries | ||
456 | </para> | ||
457 | </section> | ||
458 | |||
459 | <section id='structure-meta-recipes-kernel'> | ||
460 | <title><filename class="directory">meta/recipes-kernel/</filename></title> | ||
461 | |||
462 | <para> | ||
463 | The kernel and generic applications/libraries with strong kernel dependencies | ||
464 | </para> | ||
465 | </section> | ||
466 | |||
467 | <section id='structure-meta-recipes-multimedia'> | ||
468 | <title><filename class="directory">meta/recipes-multimedia/</filename></title> | ||
469 | |||
470 | <para> | ||
471 | Codecs and support utilties for audio, images and video | ||
472 | </para> | ||
473 | </section> | ||
474 | |||
475 | <section id='structure-meta-recipes-qt'> | ||
476 | <title><filename class="directory">meta/recipes-qt/</filename></title> | ||
477 | |||
478 | <para> | ||
479 | All things related to the QT application framework | ||
480 | </para> | ||
481 | </section> | ||
482 | |||
483 | <section id='structure-meta-recipes-sato'> | ||
484 | <title><filename class="directory">meta/recipes-sato/</filename></title> | ||
485 | |||
486 | <para> | ||
487 | The Sato demo/reference UI/UX, its associated apps and configuration | ||
488 | </para> | ||
489 | </section> | ||
490 | |||
330 | <section id='structure-meta-packages'> | 491 | <section id='structure-meta-packages'> |
331 | <title><filename class="directory">meta/packages/</filename></title> | 492 | <title><filename class="directory">meta/packages/</filename></title> |
332 | 493 | ||
333 | <para> | 494 | <para> |
334 | Each application (package) Poky can build has an associated .bb file which are | 495 | this is a catch-all place for the rest which not fits into above |
335 | all stored under this directory. Poky finds them through the BBFILES variable | 496 | recipes-***. Images and tasks are also placed here. |
336 | which defaults to packages/*/*.bb. Adding a new piece of software to Poky | ||
337 | consists of adding the appropriate .bb file. The .bb files from OpenEmbedded | ||
338 | upstream are usually compatible although they are not supported. | ||
339 | </para> | 497 | </para> |
340 | </section> | 498 | </section> |
341 | 499 | ||