diff options
author | Scott Rifenbark <scott.m.rifenbark@intel.com> | 2011-08-19 09:29:54 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-08-23 18:47:05 -0700 |
commit | 39de08c1052fc988f1a9ecb51a94cc4ba97f711e (patch) | |
tree | bfff08bc9270c518d780d5e2bace74ecfb274131 /documentation | |
parent | cde376cc041f1483be93c4ffa4843ac13a309628 (diff) | |
download | poky-39de08c1052fc988f1a9ecb51a94cc4ba97f711e.tar.gz |
documentation/poky-ref-manual/ref-structure.xml: Scrubbed for Poky and edits
I converted "Poky" to "the Yocto Project." I also updated several examples.
In particular the build/tmp/work example.
(From yocto-docs rev: eb82bc36904f502fb4f314ff05eb86cff27ce0b6)
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/poky-ref-manual/ref-structure.xml | 352 |
1 files changed, 168 insertions, 184 deletions
diff --git a/documentation/poky-ref-manual/ref-structure.xml b/documentation/poky-ref-manual/ref-structure.xml index 6b5e6460b2..b5e2e3550f 100644 --- a/documentation/poky-ref-manual/ref-structure.xml +++ b/documentation/poky-ref-manual/ref-structure.xml | |||
@@ -6,28 +6,36 @@ | |||
6 | <title>Reference: Directory Structure</title> | 6 | <title>Reference: Directory Structure</title> |
7 | 7 | ||
8 | <para> | 8 | <para> |
9 | Poky consists of several components. | 9 | The Yocto Project consists of several components. |
10 | Understanding them and knowing where they are located is key to using Poky well. | 10 | Understanding them and knowing where they are located is key to using the Yocto Project well. |
11 | This appendix describes the Poky directory structure and gives information about the various | 11 | This appendix describes the Yocto Project file's directory structure and gives information about the various |
12 | files and directories. | 12 | files and directories. |
13 | </para> | 13 | </para> |
14 | 14 | ||
15 | <para> | ||
16 | For information on how to establish the Yocto Project files on your local development system, see the | ||
17 | <ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html#getting-started'> | ||
18 | Getting Setup</ulink> section in the | ||
19 | <ulink url='http://www.yoctoproject.org/docs/1.1/dev-manual/dev-manual.html'> | ||
20 | The Yocto Project Development Manual</ulink>. | ||
21 | </para> | ||
22 | |||
15 | <section id='structure-core'> | 23 | <section id='structure-core'> |
16 | <title>Top level core components</title> | 24 | <title>Top level core components</title> |
17 | 25 | ||
18 | <section id='structure-core-bitbake'> | 26 | <section id='structure-core-bitbake'> |
19 | <title><filename class="directory">bitbake/</filename></title> | 27 | <title><filename>bitbake/</filename></title> |
20 | 28 | ||
21 | <para> | 29 | <para> |
22 | Poky includes a copy of BitBake for ease of use. | 30 | The Yocto Project includes a copy of BitBake for ease of use. |
23 | The copy usually matches the current stable BitBake release from the BitBake project. | 31 | 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 | 32 | BitBake, a metadata interpreter, reads the Yocto Project metadata and runs the tasks |
25 | defined by that data. | 33 | defined by that data. |
26 | Failures are usually from the metadata and not | 34 | Failures are usually from the metadata and not |
27 | from BitBake itself. | 35 | from BitBake itself. |
28 | Consequently, most users do not need to worry about BitBake. | 36 | Consequently, most users do not need to worry about BitBake. |
29 | The <filename class="directory">bitbake/bin/</filename> directory is placed | 37 | The <filename>bitbake/bin/</filename> directory is placed |
30 | into the PATH environment variable by the | 38 | into the <filename>PATH</filename> environment variable by the |
31 | <link linkend="structure-core-script">oe-init-build-env</link> script. | 39 | <link linkend="structure-core-script">oe-init-build-env</link> script. |
32 | </para> | 40 | </para> |
33 | 41 | ||
@@ -38,118 +46,88 @@ | |||
38 | </section> | 46 | </section> |
39 | 47 | ||
40 | <section id='structure-core-build'> | 48 | <section id='structure-core-build'> |
41 | <title><filename class="directory">build/</filename></title> | 49 | <title><filename>build/</filename></title> |
42 | 50 | ||
43 | <para> | 51 | <para> |
44 | This directory contains user configuration files and the output | 52 | This directory contains user configuration files and the output |
45 | generated by Poky in its standard configuration where the source tree is | 53 | generated by the Yocto Project in its standard configuration where the source tree is |
46 | combined with the output. | 54 | combined with the output. |
55 | The build directory is created initially when you <filename>source</filename> | ||
56 | the Yocto Project environment setup script <filename>oe-init-build-env</filename>. | ||
57 | </para> | ||
58 | |||
59 | <para> | ||
47 | It is also possible to place output and configuration | 60 | It is also possible to place output and configuration |
48 | files in a directory separate from the Poky source. | 61 | files in a directory separate from the Yocto Project files |
49 | For information on separating output from the Poky source, see <link | 62 | by providing a directory name when you <filename>source</filename> |
63 | the setup script. | ||
64 | For information on separating output from the Yocto Project files, see <link | ||
50 | linkend='structure-core-script'>oe-init-build-env</link>. | 65 | linkend='structure-core-script'>oe-init-build-env</link>. |
51 | </para> | 66 | </para> |
52 | </section> | 67 | </section> |
53 | 68 | ||
54 | <section id='structure-core-meta'> | 69 | <section id='handbook'> |
55 | <title><filename class="directory">meta/</filename></title> | 70 | <title><filename>documentation</filename></title> |
56 | 71 | ||
57 | <para> | 72 | <para> |
58 | This directory contains the core metadata, which is a key part of Poky. | 73 | This directory holds the source for the Yocto Project documentation |
59 | This directory contains the machine definitions, the Poky distribution, | 74 | as well as templates and tools that allow you to generate PDF and HTML |
60 | and the packages that make up a given system. | 75 | versions of the manuals. |
76 | Each manual is contained in a sub-folder. | ||
77 | For example, the files for this manual reside in | ||
78 | <filename>poky-ref-manual</filename>. | ||
61 | </para> | 79 | </para> |
62 | </section> | 80 | </section> |
63 | 81 | ||
64 | <!-- <section id='structure-core-meta-extras'> | 82 | <section id='structure-core-meta'> |
65 | <title><filename class="directory">meta-extras/</filename></title> | 83 | <title><filename>meta/</filename></title> |
66 | 84 | ||
67 | <para> | 85 | <para> |
68 | This directory is similar to <filename class="directory">meta/</filename>. | 86 | This directory contains the Yocto Project core metadata. |
69 | The directory contains extra metadata not included in standard Poky. | 87 | The directory holds machine definitions, the Yocto Project distribution, |
70 | This metadata is disabled by default and is not supported as part of Poky. | 88 | and the packages that make up a given system. |
71 | </para> | 89 | </para> |
72 | </section> | 90 | </section> |
73 | --> | ||
74 | 91 | ||
75 | <section id='structure-core-meta-demoapps'> | 92 | <section id='structure-core-meta-demoapps'> |
76 | <title><filename class="directory">meta-demoapps/</filename></title> | 93 | <title><filename>meta-demoapps/</filename></title> |
77 | 94 | ||
78 | <para> | 95 | <para> |
79 | This directory contains recipes for applications and demos that are not core. | 96 | This directory contains recipes for applications and demos that are not part of the |
97 | Yocto Project core. | ||
80 | </para> | 98 | </para> |
81 | </section> | 99 | </section> |
82 | 100 | ||
83 | <section id='structure-core-meta-rt'> | 101 | <section id='structure-core-meta-rt'> |
84 | <title><filename class="directory">meta-rt/</filename></title> | 102 | <title><filename>meta-rt/</filename></title> |
85 | 103 | ||
86 | <para> | 104 | <para> |
87 | This directory contains recipes for RealTime. | 105 | This directory contains recipes for real-time kernels. |
88 | </para> | 106 | </para> |
89 | </section> | 107 | </section> |
90 | 108 | ||
91 | <!-- <section id='structure-core-meta-***'> | 109 | <section id='structure-meta-skeleton'> |
92 | <title><filename class="directory">meta-***/</filename></title> | 110 | <title><filename>meta-skeleton/</filename></title> |
93 | 111 | ||
94 | <para> | 112 | <para> |
95 | These directories are optional layers that are added to core metadata. | 113 | This directory contains template recipes for BSP and kernel development. |
96 | The layers are enabled by adding them to the <filename>conf/bblayers.conf</filename> file. | ||
97 | </para> | 114 | </para> |
98 | </section> | 115 | </section> |
99 | --> | ||
100 | 116 | ||
101 | <section id='structure-core-scripts'> | 117 | <section id='structure-core-scripts'> |
102 | <title><filename class="directory">scripts/</filename></title> | 118 | <title><filename>scripts/</filename></title> |
103 | 119 | ||
104 | <para> | 120 | <para> |
105 | This directory contains various integration scripts that implement | 121 | This directory contains various integration scripts that implement |
106 | extra functionality in the Poky environment (e.g. QEMU scripts). | 122 | extra functionality in the Yocto Project environment (e.g. QEMU scripts). |
107 | The <link linkend="structure-core-script">oe-init-build-env</link> script appends this | 123 | The <link linkend="structure-core-script">oe-init-build-env</link> script appends this |
108 | directory to the PATH environment variable. | 124 | directory to the <filename>PATH</filename> environment variable. |
109 | </para> | ||
110 | </section> | ||
111 | |||
112 | <!-- <section id='structure-core-sources'> | ||
113 | <title><filename class="directory">sources/</filename></title> | ||
114 | |||
115 | <para> | ||
116 | This directory receives downloads as specified by the | ||
117 | <glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm> variable. | ||
118 | Even though the directory is not part of a checkout, Poky creates it during a build. | ||
119 | You can use this directory to share downloading files between Poky builds. | ||
120 | This practice can save you from downloading files multiple times. | ||
121 | <note><para> | ||
122 | You can override the location for this directory by setting | ||
123 | the DL_DIR variable in <filename>local.conf</filename>. | ||
124 | </para></note> | ||
125 | </para> | ||
126 | |||
127 | <para> | ||
128 | This directory also contains SCM checkouts (e.g. <filename class="directory">sources/svn/ | ||
129 | </filename>, <filename class="directory">sources/cvs/</filename> or | ||
130 | <filename class="directory">sources/git/</filename>). | ||
131 | The <filename class="directory">sources</filename> directory can contain archives of | ||
132 | checkouts for various revisions or dates. | ||
133 | </para> | ||
134 | |||
135 | <para> | ||
136 | It's worth noting that BitBake creates <filename class="extension">.md5 | ||
137 | </filename> stamp files for downloads. | ||
138 | BitBake uses these files to mark downloads as | ||
139 | complete as well as for checksum and access accounting purposes. | ||
140 | If you manually add a file to the directory, you need to touch the corresponding | ||
141 | <filename class="extension">.md5</filename> file as well. | ||
142 | </para> | 125 | </para> |
143 | </section> | ||
144 | --> | ||
145 | |||
146 | <section id='handbook'> | ||
147 | <title><filename class="directory">documentation</filename></title> | ||
148 | 126 | ||
149 | <para> | 127 | <para> |
150 | This directory holds the source for the documentation. Each manual is contained in | 128 | The <filename>scripts</filename> directory has useful scripts that assist contributing |
151 | a sub-folder. For example, the files for this manual reside in | 129 | back to the Yocto Project, such as <filename>create_pull_request</filename> and |
152 | <filename class="directory">poky-ref-manual</filename>. | 130 | <filename>send_pull_request</filename>. |
153 | </para> | 131 | </para> |
154 | </section> | 132 | </section> |
155 | 133 | ||
@@ -157,25 +135,25 @@ | |||
157 | <title><filename>oe-init-build-env</filename></title> | 135 | <title><filename>oe-init-build-env</filename></title> |
158 | 136 | ||
159 | <para> | 137 | <para> |
160 | This script sets up the Poky build environment. | 138 | This script sets up the Yocto Project build environment. |
161 | Sourcing this file in | 139 | Running this script with the <filename>source</filename> command in |
162 | a shell makes changes to PATH and sets other core BitBake variables based on the | 140 | a shell makes changes to <filename>PATH</filename> and sets other core BitBake variables based on the |
163 | current working directory. | 141 | current working directory. |
164 | You need to run this script before running Poky commands. | 142 | You need to run this script before running BitBake commands. |
165 | The script uses other scripts within the <filename class="directory">scripts/ | 143 | The script uses other scripts within the <filename>scripts</filename> directory to do |
166 | </filename> directory to do the bulk of the work. | 144 | the bulk of the work. |
167 | You can use this script to specify any directory for the build's output by doing the following: | ||
168 | </para> | 145 | </para> |
169 | 146 | ||
170 | <literallayout class='monospaced'> | ||
171 | $ source POKY_SRC/oe-init-build-env [BUILDDIR] | ||
172 | </literallayout> | ||
173 | |||
174 | <para> | 147 | <para> |
175 | You can enter the above command from any directory, as long as POKY_SRC points to | 148 | By default, running this script without a build directory argument creates the |
176 | the desired Poky source tree. | 149 | <filename>build</filename> directory. |
177 | The optional BUILDDIR can be any directory into which you would | 150 | If you provide a build directory argument when you <filename>source</filename> |
178 | like Poky to generate the build output. | 151 | the script, you direct the Yocto Project to create a build directory of your choice. |
152 | For example, the following command creates a build directory named | ||
153 | <filename>mybuilds</filename> that is outside of the Yocto Project files: | ||
154 | <literallayout class='monospaced'> | ||
155 | $ source oe-init-build-env ~/mybuilds | ||
156 | </literallayout> | ||
179 | </para> | 157 | </para> |
180 | </section> | 158 | </section> |
181 | 159 | ||
@@ -189,14 +167,14 @@ | |||
189 | </section> | 167 | </section> |
190 | 168 | ||
191 | <section id='structure-build'> | 169 | <section id='structure-build'> |
192 | <title>The Build Directory - <filename class="directory">build/</filename></title> | 170 | <title>The Build Directory - <filename>build/</filename></title> |
193 | 171 | ||
194 | <section id='structure-build-pseudodone'> | 172 | <section id='structure-build-pseudodone'> |
195 | <title><filename>build/pseudodone</filename></title> | 173 | <title><filename>build/pseudodone</filename></title> |
196 | 174 | ||
197 | <para> | 175 | <para> |
198 | This tag file indicates that the intitial pseudo binar was created. | 176 | This tag file indicates that the intitial pseudo binary was created. |
199 | The first time BitBake is invoked this file is built. | 177 | The file is built the first time BitBake is invoked. |
200 | </para> | 178 | </para> |
201 | </section> | 179 | </section> |
202 | 180 | ||
@@ -204,21 +182,21 @@ | |||
204 | <title><filename>build/conf/local.conf</filename></title> | 182 | <title><filename>build/conf/local.conf</filename></title> |
205 | 183 | ||
206 | <para> | 184 | <para> |
207 | This file contains all the local user configuration of Poky. | 185 | This file contains all the local user configuration of the Yocto Project. |
208 | If there is no <filename>local.conf</filename> present, it is created from | 186 | If there is no <filename>local.conf</filename> present, it is created from |
209 | <filename>local.conf.sample</filename>. | 187 | <filename>local.conf.sample</filename>. |
210 | The <filename>local.conf</filename> file contains documentation on the various configuration options. | 188 | The <filename>local.conf</filename> file contains documentation on the various configuration options. |
211 | Any variable set here overrides any variable set elsewhere within Poky unless | 189 | Any variable set here overrides any variable set elsewhere within the Yocto Project unless |
212 | that variable is hard-coded within Poky (e.g. by using '=' instead of '?='). | 190 | that variable is hard-coded within the Yocto Project (e.g. by using '=' instead of '?='). |
213 | Some variables are hard-coded for various reasons but these variables are | 191 | Some variables are hard-coded for various reasons but these variables are |
214 | relatively rare. | 192 | relatively rare. |
215 | </para> | 193 | </para> |
216 | 194 | ||
217 | <para> | 195 | <para> |
218 | Edit this file to set the <glossterm><link linkend='var-MACHINE'>MACHINE</link></glossterm> | 196 | Edit this file to set the <filename><link linkend='var-MACHINE'>MACHINE</link></filename> |
219 | for which you want to build, which package types you | 197 | for which you want to build, which package types you |
220 | wish to use (PACKAGE_CLASSES) or where you want to downloaded files | 198 | wish to use (<filename>PACKAGE_CLASSES</filename>), or where you want to downloaded files |
221 | (<glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm>). | 199 | (<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>). |
222 | </para> | 200 | </para> |
223 | </section> | 201 | </section> |
224 | 202 | ||
@@ -228,8 +206,8 @@ | |||
228 | <para> | 206 | <para> |
229 | This file defines layers, which is a directory tree, traversed (or walked) by BitBake. | 207 | This file defines layers, which is a directory tree, traversed (or walked) by BitBake. |
230 | If <filename>bblayers.conf</filename> | 208 | If <filename>bblayers.conf</filename> |
231 | is not present, it is created from <filename>bblayers.conf.sample</filename> when the environment | 209 | is not present, it is created from <filename>bblayers.conf.sample</filename> when |
232 | setup script is sourced. | 210 | you <filename>source</filename> the environment setup script. |
233 | </para> | 211 | </para> |
234 | </section> | 212 | </section> |
235 | 213 | ||
@@ -248,7 +226,7 @@ | |||
248 | This directory is used for the upstream source tarballs. | 226 | This directory is used for the upstream source tarballs. |
249 | The directory can be reused by multiple builds or moved to another location. | 227 | The directory can be reused by multiple builds or moved to another location. |
250 | You can control the location of this directory through the | 228 | You can control the location of this directory through the |
251 | <glossterm><link linkend='var-DL_DIR'>DL_DIR</link></glossterm> variable. | 229 | <filename><link linkend='var-DL_DIR'>DL_DIR</link></filename> variable. |
252 | </para> | 230 | </para> |
253 | </section> | 231 | </section> |
254 | 232 | ||
@@ -259,25 +237,25 @@ | |||
259 | This directory is used for the shared state cache. | 237 | This directory is used for the shared state cache. |
260 | The directory can be reused by multiple builds or moved to another location. | 238 | The directory can be reused by multiple builds or moved to another location. |
261 | You can control the location of this directory through the | 239 | You can control the location of this directory through the |
262 | <glossterm><link linkend='var-SSTATE_DIR'>SSTATE_DIR</link></glossterm> variable. | 240 | <filename><link linkend='var-SSTATE_DIR'>SSTATE_DIR</link></filename> variable. |
263 | </para> | 241 | </para> |
264 | </section> | 242 | </section> |
265 | 243 | ||
266 | <section id='structure-build-tmp'> | 244 | <section id='structure-build-tmp'> |
267 | <title><filename class="directory">build/tmp/</filename></title> | 245 | <title><filename>build/tmp/</filename></title> |
268 | 246 | ||
269 | <para> | 247 | <para> |
270 | This directory receives all the Poky output. | 248 | This directory receives all the Yocto Project output. |
271 | BitBake creates this directory if it does not exist. | 249 | BitBake creates this directory if it does not exist. |
272 | To clean Poky and start a build from scratch (other than downloads), | 250 | As a last resort, to clean the Yocto Project and start a build from scratch (other than downloads), |
273 | you can remove everything in this directory or get rid of the directory completely. | 251 | you can remove everything in this directory or get rid of the directory completely. |
274 | The <filename class="directory">tmp/</filename> directory has some important | 252 | If you do, you should also completely remove the <filename>build/sstate-cache</filename> |
275 | sub-components detailed below. | 253 | directory as well. |
276 | </para> | 254 | </para> |
277 | </section> | 255 | </section> |
278 | 256 | ||
279 | <section id='structure-build-tmp-buildstats'> | 257 | <section id='structure-build-tmp-buildstats'> |
280 | <title><filename class="directory">build/tmp/buildstats/</filename></title> | 258 | <title><filename>build/tmp/buildstats/</filename></title> |
281 | 259 | ||
282 | <para> | 260 | <para> |
283 | This directory stores the build statistics. | 261 | This directory stores the build statistics. |
@@ -285,56 +263,68 @@ | |||
285 | </section> | 263 | </section> |
286 | 264 | ||
287 | <section id='structure-build-tmp-cache'> | 265 | <section id='structure-build-tmp-cache'> |
288 | <title><filename class="directory">build/tmp/cache/</filename></title> | 266 | <title><filename>build/tmp/cache/</filename></title> |
289 | 267 | ||
290 | <para> | 268 | <para> |
291 | When BitBake parses the metadata it creates a cache file of the result that can | 269 | When BitBake parses the metadata, it creates a cache file of the result that can |
292 | be used when subsequently running commands. | 270 | be used when subsequently running commands. |
293 | These results are stored here on a per-machine basis. | 271 | These results are stored here on a per-machine basis. |
294 | </para> | 272 | </para> |
295 | </section> | 273 | </section> |
296 | 274 | ||
297 | <section id='structure-build-tmp-deploy'> | 275 | <section id='structure-build-tmp-deploy'> |
298 | <title><filename class="directory">build/tmp/deploy/</filename></title> | 276 | <title><filename>build/tmp/deploy/</filename></title> |
299 | 277 | ||
300 | <para>This directory contains any 'end result' output from Poky.</para> | 278 | <para> |
279 | This directory contains any 'end result' output from the Yocto Project build process. | ||
280 | </para> | ||
301 | </section> | 281 | </section> |
302 | 282 | ||
303 | <section id='structure-build-tmp-deploy-deb'> | 283 | <section id='structure-build-tmp-deploy-deb'> |
304 | <title><filename class="directory">build/tmp/deploy/deb/</filename></title> | 284 | <title><filename>build/tmp/deploy/deb/</filename></title> |
305 | 285 | ||
306 | <para> | 286 | <para> |
307 | This directory receives any <filename>.deb</filename> packages produced by Poky. | 287 | This directory receives any <filename>.deb</filename> packages produced by the Yocto Project. |
308 | The packages are sorted into feeds for different architecture types. | 288 | The packages are sorted into feeds for different architecture types. |
309 | </para> | 289 | </para> |
310 | </section> | 290 | </section> |
311 | 291 | ||
312 | <section id='structure-build-tmp-deploy-rpm'> | 292 | <section id='structure-build-tmp-deploy-rpm'> |
313 | <title><filename class="directory">build/tmp/deploy/rpm/</filename></title> | 293 | <title><filename>build/tmp/deploy/rpm/</filename></title> |
314 | 294 | ||
315 | <para> | 295 | <para> |
316 | This directory receives any <filename>.rpm</filename> packages produced by Poky. | 296 | This directory receives any <filename>.rpm</filename> packages produced by the Yocto Project. |
317 | The packages are sorted into feeds for different architecture types. | 297 | The packages are sorted into feeds for different architecture types. |
318 | </para> | 298 | </para> |
319 | </section> | 299 | </section> |
320 | 300 | ||
321 | <section id='structure-build-tmp-deploy-images'> | 301 | <section id='structure-build-tmp-deploy-images'> |
322 | <title><filename class="directory">build/tmp/deploy/images/</filename></title> | 302 | <title><filename>build/tmp/deploy/images/</filename></title> |
323 | 303 | ||
324 | <para> | 304 | <para> |
325 | This directory receives complete filesystem images. | 305 | This directory receives complete filesystem images. |
326 | If you want to flash the resulting image from a build onto a device, look here for the image. | 306 | If you want to flash the resulting image from a build onto a device, look here for the image. |
327 | </para> | 307 | </para> |
308 | |||
309 | <para> | ||
310 | Note, you should not remove any files from this directory by hand in an attempt | ||
311 | to rebuild an image. | ||
312 | If you want to clean out the cache, re-run the build using the following | ||
313 | BitBake command: | ||
314 | <literallayout class='monospaced'> | ||
315 | $ bitbake -c cleanall <target> | ||
316 | </literallayout> | ||
317 | </para> | ||
328 | </section> | 318 | </section> |
329 | 319 | ||
330 | <section id='structure-build-tmp-deploy-ipk'> | 320 | <section id='structure-build-tmp-deploy-ipk'> |
331 | <title><filename class="directory">build/tmp/deploy/ipk/</filename></title> | 321 | <title><filename>build/tmp/deploy/ipk/</filename></title> |
332 | 322 | ||
333 | <para>This directory receives <filename>.ipk</filename> packages produced by Poky.</para> | 323 | <para>This directory receives <filename>.ipk</filename> packages produced by the Yocto Project.</para> |
334 | </section> | 324 | </section> |
335 | 325 | ||
336 | <section id='structure-build-tmp-sysroots'> | 326 | <section id='structure-build-tmp-sysroots'> |
337 | <title><filename class="directory">build/tmp/sysroots/</filename></title> | 327 | <title><filename>build/tmp/sysroots/</filename></title> |
338 | 328 | ||
339 | <para> | 329 | <para> |
340 | This directory contains shared header files and libraries as well as other shared | 330 | This directory contains shared header files and libraries as well as other shared |
@@ -346,7 +336,7 @@ | |||
346 | </section> | 336 | </section> |
347 | 337 | ||
348 | <section id='structure-build-tmp-stamps'> | 338 | <section id='structure-build-tmp-stamps'> |
349 | <title><filename class="directory">build/tmp/stamps/</filename></title> | 339 | <title><filename>build/tmp/stamps/</filename></title> |
350 | 340 | ||
351 | <para> | 341 | <para> |
352 | This directory holds information that that BitBake uses for accounting purposes | 342 | This directory holds information that that BitBake uses for accounting purposes |
@@ -358,17 +348,18 @@ | |||
358 | </section> | 348 | </section> |
359 | 349 | ||
360 | <section id='structure-build-tmp-log'> | 350 | <section id='structure-build-tmp-log'> |
361 | <title><filename class="directory">build/tmp/log/</filename></title> | 351 | <title><filename>build/tmp/log/</filename></title> |
362 | 352 | ||
363 | <para> | 353 | <para> |
364 | This directory contains general logs that are not otherwise placed using the | 354 | This directory contains general logs that are not otherwise placed using the |
365 | package's <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>. | 355 | package's <filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>. |
366 | Examples of logs are the output from the "check_pkg" or "distro_check" tasks. | 356 | Examples of logs are the output from the <filename>check_pkg</filename> or |
357 | <filename>distro_check</filename> tasks. | ||
367 | </para> | 358 | </para> |
368 | </section> | 359 | </section> |
369 | 360 | ||
370 | <section id='structure-build-tmp-pkgdata'> | 361 | <section id='structure-build-tmp-pkgdata'> |
371 | <title><filename class="directory">build/tmp/pkgdata/</filename></title> | 362 | <title><filename>build/tmp/pkgdata/</filename></title> |
372 | 363 | ||
373 | <para> | 364 | <para> |
374 | This directory contains intermediate packaging data that is used later in the packaging process. | 365 | This directory contains intermediate packaging data that is used later in the packaging process. |
@@ -376,72 +367,65 @@ | |||
376 | </para> | 367 | </para> |
377 | </section> | 368 | </section> |
378 | 369 | ||
379 | <section id='structure-build-tmp-pstagelogs'> | ||
380 | <title><filename class="directory">build/tmp/pstagelogs/</filename></title> | ||
381 | |||
382 | <para> | ||
383 | This directory contains manifest for task-based pre-built. | ||
384 | Each manifest is basically a file list for installed files from a given task. | ||
385 | Manifests are useful for later packaging or cleanup processes. | ||
386 | </para> | ||
387 | </section> | ||
388 | |||
389 | <section id='structure-build-tmp-work'> | 370 | <section id='structure-build-tmp-work'> |
390 | <title><filename class="directory">build/tmp/work/</filename></title> | 371 | <title><filename>build/tmp/work/</filename></title> |
391 | 372 | ||
392 | <para> | 373 | <para> |
393 | This directory contains architecture-specific work sub-directories for packages built by BitBake. | 374 | This directory contains architecture-specific work sub-directories for packages built by BitBake. |
394 | All tasks execute from a work directory. | 375 | All tasks execute from a work directory. |
395 | For example, the source for a particular package is unpacked, patched, configured and compiled all | 376 | For example, the source for a particular package is unpacked, patched, configured and compiled all |
396 | within its own work directory. | 377 | within its own work directory. |
378 | Within the work directory, organization is based on the package group for which the source | ||
379 | is being compiled. | ||
397 | </para> | 380 | </para> |
398 | 381 | ||
399 | <para> | 382 | <para> |
400 | It is worth considering the structure of a typical work directory. | 383 | It is worth considering the structure of a typical work directory. |
401 | As an example consider the linux-rp kernel, version 2.6.20 r7 on the machine spitz | 384 | As an example, consider the linux-yocto kernel 3.0 on the machine <filename>qemux86</filename> |
402 | built within Poky. | 385 | built within the Yocto Project. |
403 | For this package a work directory of | 386 | For this package, a work directory of |
404 | <filename class="directory">tmp/work/spitz-poky-linux-gnueabi/linux-rp-2.6.20-r7/</filename>, | 387 | <filename>tmp/work/qemux86-poky-linux/linux-yocto-3.0+git1+<.....></filename>, |
405 | referred to as <glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>, is created. | 388 | referred to as <filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>, is created. |
406 | Within this directory, the source is unpacked to linux-2.6.20 and then patched by quilt | 389 | Within this directory, the source is unpacked to |
407 | (see <link linkend="usingpoky-modifying-packages-quilt">Section 3.5.1</link>). | 390 | <filename>linux-qemux86-standard-build</filename> and then patched by Quilt |
408 | Within the <filename class="directory">linux-2.6.20</filename> directory, | 391 | (see the <link linkend="usingpoky-modifying-packages-quilt">Modifying Package Source Code |
409 | standard quilt directories <filename class="directory">linux-2.6.20/patches</filename> | 392 | With Quilt</link> section). |
410 | and <filename class="directory">linux-2.6.20/.pc</filename> are created, | 393 | Within the <filename>linux-qemux86-standard-build</filename> directory, |
411 | and standard quilt commands can be used. | 394 | standard Quilt directories <filename>linux-3.0/patches</filename> |
395 | and <filename>linux-3.0/.pc</filename> are created, | ||
396 | and standard Quilt commands can be used. | ||
412 | </para> | 397 | </para> |
413 | 398 | ||
414 | <para> | 399 | <para> |
415 | There are other directories generated within WORKDIR. | 400 | There are other directories generated within WORKDIR. |
416 | The most important directory is WORKDIR | 401 | The most important directory is WORKDIR<filename>/temp/</filename>, which has log files for each |
417 | <filename class="directory">/temp/</filename>, which has log files for each | ||
418 | task (<filename>log.do_*.pid</filename>) and contains the scripts BitBake runs for | 402 | task (<filename>log.do_*.pid</filename>) and contains the scripts BitBake runs for |
419 | each task (<filename>run.do_*.pid</filename>). | 403 | each task (<filename>run.do_*.pid</filename>). |
420 | The WORKDIR<filename class="directory">/image/</filename> directory is where "make | 404 | The WORKDIR<filename>/image/</filename> directory is where "make |
421 | install" places its output that is then split into sub-packages | 405 | install" places its output that is then split into sub-packages |
422 | within WORKDIR<filename class="directory">/packages-split/</filename>. | 406 | within WORKDIR<filename>/packages-split/</filename>. |
423 | </para> | 407 | </para> |
424 | </section> | 408 | </section> |
425 | </section> | 409 | </section> |
426 | 410 | ||
427 | <section id='structure-meta'> | 411 | <section id='structure-meta'> |
428 | <title>The Metadata - <filename class="directory">meta/</filename></title> | 412 | <title>The Metadata - <filename>meta/</filename></title> |
429 | 413 | ||
430 | <para> | 414 | <para> |
431 | As mentioned previously, metadata is the core of Poky. | 415 | As mentioned previously, metadata is the core of the Yocto Project. |
432 | Metadata has several important subdivisions: | 416 | Metadata has several important subdivisions: |
433 | </para> | 417 | </para> |
434 | 418 | ||
435 | <section id='structure-meta-classes'> | 419 | <section id='structure-meta-classes'> |
436 | <title><filename class="directory">meta/classes/</filename></title> | 420 | <title><filename>meta/classes/</filename></title> |
437 | 421 | ||
438 | <para> | 422 | <para> |
439 | This directory contains the <filename class="extension">*.bbclass</filename> files. | 423 | This directory contains the <filename>*.bbclass</filename> files. |
440 | Class files are used to abstract common code so it can be reused by multiple | 424 | Class files are used to abstract common code so it can be reused by multiple |
441 | packages. | 425 | packages. |
442 | Every package inherits the <filename>base.bbclass</filename> file. | 426 | Every package inherits the <filename>base.bbclass</filename> file. |
443 | Examples of other important classes are <filename>autotools.bbclass</filename>, which | 427 | Examples of other important classes are <filename>autotools.bbclass</filename>, which |
444 | in theory allows any Autotool-enabled package to work with Poky with minimal effort. | 428 | in theory allows any Autotool-enabled package to work with the Yocto Project with minimal effort. |
445 | Another example is <filename>kernel.bbclass</filename> that contains common code and functions | 429 | Another example is <filename>kernel.bbclass</filename> that contains common code and functions |
446 | for working with the Linux kernel. | 430 | for working with the Linux kernel. |
447 | Functions like image generation or packaging also have their specific class files | 431 | Functions like image generation or packaging also have their specific class files |
@@ -451,14 +435,14 @@ | |||
451 | </section> | 435 | </section> |
452 | 436 | ||
453 | <section id='structure-meta-conf'> | 437 | <section id='structure-meta-conf'> |
454 | <title><filename class="directory">meta/conf/</filename></title> | 438 | <title><filename>meta/conf/</filename></title> |
455 | 439 | ||
456 | <para> | 440 | <para> |
457 | This directory contains the core set of configuration files that start from | 441 | This directory contains the core set of configuration files that start from |
458 | <filename>bitbake.conf</filename> and from which all other configuration | 442 | <filename>bitbake.conf</filename> and from which all other configuration |
459 | files are included. | 443 | files are included. |
460 | See the includes at the end of the file and you will note that even | 444 | See the include statements at the end of the file and you will note that even |
461 | <filename>local.conf</filename> is loaded from there! | 445 | <filename>local.conf</filename> is loaded from there. |
462 | While <filename>bitbake.conf</filename> sets up the defaults, you can often override | 446 | While <filename>bitbake.conf</filename> sets up the defaults, you can often override |
463 | these by using the (<filename>local.conf</filename>) file, machine file or | 447 | these by using the (<filename>local.conf</filename>) file, machine file or |
464 | the distribution configuration file. | 448 | the distribution configuration file. |
@@ -466,32 +450,32 @@ | |||
466 | </section> | 450 | </section> |
467 | 451 | ||
468 | <section id='structure-meta-conf-machine'> | 452 | <section id='structure-meta-conf-machine'> |
469 | <title><filename class="directory">meta/conf/machine/</filename></title> | 453 | <title><filename>meta/conf/machine/</filename></title> |
470 | 454 | ||
471 | <para> | 455 | <para> |
472 | This directory contains all the machine configuration files. | 456 | This directory contains all the machine configuration files. |
473 | If you set MACHINE="spitz", Poky looks for a <filename>spitz.conf</filename> file in this | 457 | If you set MACHINE="spitz", Yocto Project looks for a <filename>spitz.conf</filename> file in this |
474 | directory. | 458 | directory. |
475 | The includes directory contains various data common to multiple machines. | 459 | The <filename>include</filename> directory contains various data common to multiple machines. |
476 | If you want to add support for a new machine to Poky, look in this directory. | 460 | If you want to add support for a new machine to the Yocto Project, look in this directory. |
477 | </para> | 461 | </para> |
478 | </section> | 462 | </section> |
479 | 463 | ||
480 | <section id='structure-meta-conf-distro'> | 464 | <section id='structure-meta-conf-distro'> |
481 | <title><filename class="directory">meta/conf/distro/</filename></title> | 465 | <title><filename>meta/conf/distro/</filename></title> |
482 | 466 | ||
483 | <para> | 467 | <para> |
484 | Any distribution-specific configuration is controlled from this directory. | 468 | Any distribution-specific configuration is controlled from this directory. |
485 | Poky only contains the Poky distribution so <filename>poky.conf</filename> | 469 | The Yocto Project only contains the Yocto Project distribution so |
486 | is the main file here. | 470 | <filename>defaultsetup.conf</filename> is the main file here. |
487 | This directory includes the versions and SRCDATES for applications that are configured here. | 471 | This directory includes the versions and SRCDATES for applications that are configured here. |
488 | An example of an alternative configuration is <filename>poky-bleeding.conf</filename> | 472 | An example of an alternative configuration is <filename>poky-bleeding.conf</filename> |
489 | although this file mainly inherits its configuration from Poky itself. | 473 | although this file mainly inherits its configuration from the Yocto Project itself. |
490 | </para> | 474 | </para> |
491 | </section> | 475 | </section> |
492 | 476 | ||
493 | <section id='structure-meta-recipes-bsp'> | 477 | <section id='structure-meta-recipes-bsp'> |
494 | <title><filename class="directory">meta/recipes-bsp/</filename></title> | 478 | <title><filename>meta/recipes-bsp/</filename></title> |
495 | 479 | ||
496 | <para> | 480 | <para> |
497 | This directory contains anything linking to specific hardware or hardware configuration information | 481 | This directory contains anything linking to specific hardware or hardware configuration information |
@@ -500,7 +484,7 @@ | |||
500 | </section> | 484 | </section> |
501 | 485 | ||
502 | <section id='structure-meta-recipes-connectivity'> | 486 | <section id='structure-meta-recipes-connectivity'> |
503 | <title><filename class="directory">meta/recipes-connectivity/</filename></title> | 487 | <title><filename>meta/recipes-connectivity/</filename></title> |
504 | 488 | ||
505 | <para> | 489 | <para> |
506 | This directory contains libraries and applications related to communication with other devices. | 490 | This directory contains libraries and applications related to communication with other devices. |
@@ -508,7 +492,7 @@ | |||
508 | </section> | 492 | </section> |
509 | 493 | ||
510 | <section id='structure-meta-recipes-core'> | 494 | <section id='structure-meta-recipes-core'> |
511 | <title><filename class="directory">meta/recipes-core/</filename></title> | 495 | <title><filename>meta/recipes-core/</filename></title> |
512 | 496 | ||
513 | <para> | 497 | <para> |
514 | This directory contains what is needed to build a basic working Linux image | 498 | This directory contains what is needed to build a basic working Linux image |
@@ -517,7 +501,7 @@ | |||
517 | </section> | 501 | </section> |
518 | 502 | ||
519 | <section id='structure-meta-recipes-devtools'> | 503 | <section id='structure-meta-recipes-devtools'> |
520 | <title><filename class="directory">meta/recipes-devtools/</filename></title> | 504 | <title><filename>meta/recipes-devtools/</filename></title> |
521 | 505 | ||
522 | <para> | 506 | <para> |
523 | This directory contains tools that are primarily used by the build system. | 507 | This directory contains tools that are primarily used by the build system. |
@@ -526,7 +510,7 @@ | |||
526 | </section> | 510 | </section> |
527 | 511 | ||
528 | <section id='structure-meta-recipes-extended'> | 512 | <section id='structure-meta-recipes-extended'> |
529 | <title><filename class="directory">meta/recipes-extended/</filename></title> | 513 | <title><filename>meta/recipes-extended/</filename></title> |
530 | 514 | ||
531 | <para> | 515 | <para> |
532 | This directory contains non-essential applications that add features compared to the | 516 | This directory contains non-essential applications that add features compared to the |
@@ -537,7 +521,7 @@ | |||
537 | </section> | 521 | </section> |
538 | 522 | ||
539 | <section id='structure-meta-recipes-gnome'> | 523 | <section id='structure-meta-recipes-gnome'> |
540 | <title><filename class="directory">meta/recipes-gnome/</filename></title> | 524 | <title><filename>meta/recipes-gnome/</filename></title> |
541 | 525 | ||
542 | <para> | 526 | <para> |
543 | This directory contains all things related to the GTK+ application framework. | 527 | This directory contains all things related to the GTK+ application framework. |
@@ -545,7 +529,7 @@ | |||
545 | </section> | 529 | </section> |
546 | 530 | ||
547 | <section id='structure-meta-recipes-graphics'> | 531 | <section id='structure-meta-recipes-graphics'> |
548 | <title><filename class="directory">meta/recipes-graphics/</filename></title> | 532 | <title><filename>meta/recipes-graphics/</filename></title> |
549 | 533 | ||
550 | <para> | 534 | <para> |
551 | This directory contains X and other graphically related system libraries | 535 | This directory contains X and other graphically related system libraries |
@@ -553,7 +537,7 @@ | |||
553 | </section> | 537 | </section> |
554 | 538 | ||
555 | <section id='structure-meta-recipes-kernel'> | 539 | <section id='structure-meta-recipes-kernel'> |
556 | <title><filename class="directory">meta/recipes-kernel/</filename></title> | 540 | <title><filename>meta/recipes-kernel/</filename></title> |
557 | 541 | ||
558 | <para> | 542 | <para> |
559 | This directory contains the kernel and generic applications and libraries that | 543 | This directory contains the kernel and generic applications and libraries that |
@@ -562,7 +546,7 @@ | |||
562 | </section> | 546 | </section> |
563 | 547 | ||
564 | <section id='structure-meta-recipes-multimedia'> | 548 | <section id='structure-meta-recipes-multimedia'> |
565 | <title><filename class="directory">meta/recipes-multimedia/</filename></title> | 549 | <title><filename>meta/recipes-multimedia/</filename></title> |
566 | 550 | ||
567 | <para> | 551 | <para> |
568 | This directory contains codecs and support utilities for audio, images and video. | 552 | This directory contains codecs and support utilities for audio, images and video. |
@@ -570,7 +554,7 @@ | |||
570 | </section> | 554 | </section> |
571 | 555 | ||
572 | <section id='structure-meta-recipes-qt'> | 556 | <section id='structure-meta-recipes-qt'> |
573 | <title><filename class="directory">meta/recipes-qt/</filename></title> | 557 | <title><filename>meta/recipes-qt/</filename></title> |
574 | 558 | ||
575 | <para> | 559 | <para> |
576 | This directory contains all things related to the QT application framework. | 560 | This directory contains all things related to the QT application framework. |
@@ -578,7 +562,7 @@ | |||
578 | </section> | 562 | </section> |
579 | 563 | ||
580 | <section id='structure-meta-recipes-sato'> | 564 | <section id='structure-meta-recipes-sato'> |
581 | <title><filename class="directory">meta/recipes-sato/</filename></title> | 565 | <title><filename>meta/recipes-sato/</filename></title> |
582 | 566 | ||
583 | <para> | 567 | <para> |
584 | This directory contains the Sato demo/reference UI/UX and its associated applications | 568 | This directory contains the Sato demo/reference UI/UX and its associated applications |
@@ -587,7 +571,7 @@ | |||
587 | </section> | 571 | </section> |
588 | 572 | ||
589 | <section id='structure-meta-recipes-support'> | 573 | <section id='structure-meta-recipes-support'> |
590 | <title><filename class="directory">meta/recipes-support/</filename></title> | 574 | <title><filename>meta/recipes-support/</filename></title> |
591 | 575 | ||
592 | <para> | 576 | <para> |
593 | This directory contains recipes that used by other recipes, but that are not directly | 577 | This directory contains recipes that used by other recipes, but that are not directly |
@@ -596,7 +580,7 @@ | |||
596 | </section> | 580 | </section> |
597 | 581 | ||
598 | <section id='structure-meta-site'> | 582 | <section id='structure-meta-site'> |
599 | <title><filename class="directory">meta/site/</filename></title> | 583 | <title><filename>meta/site/</filename></title> |
600 | 584 | ||
601 | <para> | 585 | <para> |
602 | This directory contains a list of cached results for various architectures. | 586 | This directory contains a list of cached results for various architectures. |
@@ -607,7 +591,7 @@ | |||
607 | </section> | 591 | </section> |
608 | 592 | ||
609 | <section id='structure-meta-recipes-txt'> | 593 | <section id='structure-meta-recipes-txt'> |
610 | <title><filename class="directory">meta/recipes.txt/</filename></title> | 594 | <title><filename>meta/recipes.txt/</filename></title> |
611 | 595 | ||
612 | <para> | 596 | <para> |
613 | This file is a description of the contents of <filename>recipes-*</filename>. | 597 | This file is a description of the contents of <filename>recipes-*</filename>. |