diff options
| -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>. |
