diff options
| -rw-r--r-- | documentation/ref-manual/ref-structure.xml | 126 |
1 files changed, 63 insertions, 63 deletions
diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index 08699d8ec4..27f17dd919 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml | |||
| @@ -8,11 +8,11 @@ | |||
| 8 | 8 | ||
| 9 | <para> | 9 | <para> |
| 10 | The <link linkend='source-directory'>Source Directory</link> | 10 | The <link linkend='source-directory'>Source Directory</link> |
| 11 | consists of several components. | 11 | consists of numerous files, directories and subdirectories; |
| 12 | Understanding them and knowing where they are located is key to using the | 12 | understanding their locations and contents is key to using the |
| 13 | Yocto Project well. | 13 | Yocto Project effectively. |
| 14 | This chapter describes the Source Directory and gives information about | 14 | This chapter describes the Source Directory and gives information about |
| 15 | the various files and directories. | 15 | those files and directories. |
| 16 | </para> | 16 | </para> |
| 17 | 17 | ||
| 18 | <para> | 18 | <para> |
| @@ -22,12 +22,12 @@ | |||
| 22 | section in the Yocto Project Development Tasks Manual. | 22 | section in the Yocto Project Development Tasks Manual. |
| 23 | </para> | 23 | </para> |
| 24 | 24 | ||
| 25 | <note> | 25 | <note> |
| 26 | The OpenEmbedded build system does not support file or directory names that | 26 | The OpenEmbedded build system does not support file or directory names that |
| 27 | contain spaces. | 27 | contain spaces. |
| 28 | Be sure that the Source Directory you use does not contain these types | 28 | Be sure that the Source Directory you use does not contain these types |
| 29 | of names. | 29 | of names. |
| 30 | </note> | 30 | </note> |
| 31 | 31 | ||
| 32 | <section id='structure-core'> | 32 | <section id='structure-core'> |
| 33 | <title>Top-Level Core Components</title> | 33 | <title>Top-Level Core Components</title> |
| @@ -48,18 +48,18 @@ | |||
| 48 | <link linkend='metadata'>Metadata</link> | 48 | <link linkend='metadata'>Metadata</link> |
| 49 | interpreter, reads the Yocto Project Metadata and runs the tasks | 49 | interpreter, reads the Yocto Project Metadata and runs the tasks |
| 50 | defined by that data. | 50 | defined by that data. |
| 51 | Failures are usually from the Metadata and not from BitBake itself. | 51 | Failures are usually caused by errors in your Metadata and not from BitBake itself; |
| 52 | Consequently, most users do not need to worry about BitBake. | 52 | consequently, most users do not need to worry about BitBake. |
| 53 | </para> | 53 | </para> |
| 54 | 54 | ||
| 55 | <para> | 55 | <para> |
| 56 | When you run the <filename>bitbake</filename> command, the | 56 | When you run the <filename>bitbake</filename> command, the |
| 57 | main BitBake executable, which resides in the | 57 | main BitBake executable (which resides in the |
| 58 | <filename>bitbake/bin/</filename> directory, starts. | 58 | <filename>bitbake/bin/</filename> directory) starts. |
| 59 | Sourcing the environment setup script (i.e. | 59 | Sourcing the environment setup script (i.e. |
| 60 | <link linkend="structure-core-script"><filename>&OE_INIT_FILE;</filename></link>) | 60 | <link linkend="structure-core-script"><filename>&OE_INIT_FILE;</filename></link>) |
| 61 | places the <filename>scripts</filename> and | 61 | places the <filename>scripts/</filename> and |
| 62 | <filename>bitbake/bin</filename> directories (in that order) into | 62 | <filename>bitbake/bin/</filename> directories (in that order) into |
| 63 | the shell's <filename>PATH</filename> environment variable. | 63 | the shell's <filename>PATH</filename> environment variable. |
| 64 | </para> | 64 | </para> |
| 65 | 65 | ||
| @@ -91,7 +91,7 @@ | |||
| 91 | by providing a directory name when you <filename>source</filename> | 91 | by providing a directory name when you <filename>source</filename> |
| 92 | the setup script. | 92 | the setup script. |
| 93 | For information on separating output from your local | 93 | For information on separating output from your local |
| 94 | Source Directory files, see the | 94 | Source Directory files (commonly described as an "out of tree" build), see the |
| 95 | "<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>" | 95 | "<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>" |
| 96 | section. | 96 | section. |
| 97 | </para> | 97 | </para> |
| @@ -104,8 +104,8 @@ | |||
| 104 | This directory holds the source for the Yocto Project documentation | 104 | This directory holds the source for the Yocto Project documentation |
| 105 | as well as templates and tools that allow you to generate PDF and HTML | 105 | as well as templates and tools that allow you to generate PDF and HTML |
| 106 | versions of the manuals. | 106 | versions of the manuals. |
| 107 | Each manual is contained in a sub-folder. | 107 | Each manual is contained in its own sub-folder; |
| 108 | For example, the files for this manual reside in | 108 | for example, the files for this reference manual reside in |
| 109 | the <filename>ref-manual/</filename> directory. | 109 | the <filename>ref-manual/</filename> directory. |
| 110 | </para> | 110 | </para> |
| 111 | </section> | 111 | </section> |
| @@ -114,9 +114,9 @@ | |||
| 114 | <title><filename>meta/</filename></title> | 114 | <title><filename>meta/</filename></title> |
| 115 | 115 | ||
| 116 | <para> | 116 | <para> |
| 117 | This directory contains the OpenEmbedded-Core metadata. | 117 | This directory contains the minimal, underlying OpenEmbedded-Core metadata. |
| 118 | The directory holds recipes, common classes, and machine | 118 | The directory holds recipes, common classes, and machine |
| 119 | configuration for emulated targets (<filename>qemux86</filename>, | 119 | configuration for strictly emulated targets (<filename>qemux86</filename>, |
| 120 | <filename>qemuarm</filename>, and so forth.) | 120 | <filename>qemuarm</filename>, and so forth.) |
| 121 | </para> | 121 | </para> |
| 122 | </section> | 122 | </section> |
| @@ -125,8 +125,8 @@ | |||
| 125 | <title><filename>meta-poky/</filename></title> | 125 | <title><filename>meta-poky/</filename></title> |
| 126 | 126 | ||
| 127 | <para> | 127 | <para> |
| 128 | This directory contains the configuration for the Poky | 128 | Designed above the <filename>meta/</filename> content, this directory |
| 129 | reference distribution. | 129 | adds just enough metadata to define the Poky reference distribution. |
| 130 | </para> | 130 | </para> |
| 131 | </section> | 131 | </section> |
| 132 | 132 | ||
| @@ -148,9 +148,6 @@ | |||
| 148 | This directory adds additional recipes and append files | 148 | This directory adds additional recipes and append files |
| 149 | used by the OpenEmbedded selftests to verify the behavior | 149 | used by the OpenEmbedded selftests to verify the behavior |
| 150 | of the build system. | 150 | of the build system. |
| 151 | </para> | ||
| 152 | |||
| 153 | <para> | ||
| 154 | You do not have to add this layer to your | 151 | You do not have to add this layer to your |
| 155 | <filename>bblayers.conf</filename> file unless you want to run the | 152 | <filename>bblayers.conf</filename> file unless you want to run the |
| 156 | selftests. | 153 | selftests. |
| @@ -172,7 +169,7 @@ | |||
| 172 | This directory contains various integration scripts that implement | 169 | This directory contains various integration scripts that implement |
| 173 | extra functionality in the Yocto Project environment (e.g. QEMU scripts). | 170 | extra functionality in the Yocto Project environment (e.g. QEMU scripts). |
| 174 | The <link linkend="structure-core-script"><filename>&OE_INIT_FILE;</filename></link> | 171 | The <link linkend="structure-core-script"><filename>&OE_INIT_FILE;</filename></link> |
| 175 | script appends this directory to the shell's | 172 | script prepends this directory to the shell's |
| 176 | <filename>PATH</filename> environment variable. | 173 | <filename>PATH</filename> environment variable. |
| 177 | </para> | 174 | </para> |
| 178 | 175 | ||
| @@ -202,7 +199,8 @@ | |||
| 202 | up, a | 199 | up, a |
| 203 | <link linkend='build-directory'>Build Directory</link> | 200 | <link linkend='build-directory'>Build Directory</link> |
| 204 | is created, your working directory becomes the Build Directory, | 201 | is created, your working directory becomes the Build Directory, |
| 205 | and you are presented with a list of common BitBake targets. | 202 | and you are presented with some simple suggestions as to what to do |
| 203 | next, including a list of some possible targets to build. | ||
| 206 | Here is an example: | 204 | Here is an example: |
| 207 | <literallayout class='monospaced'> | 205 | <literallayout class='monospaced'> |
| 208 | $ source oe-init-build-env | 206 | $ source oe-init-build-env |
| @@ -219,12 +217,12 @@ | |||
| 219 | 217 | ||
| 220 | You can also run generated qemu images with a command like 'runqemu qemux86-64' | 218 | You can also run generated qemu images with a command like 'runqemu qemux86-64' |
| 221 | </literallayout> | 219 | </literallayout> |
| 222 | The script gets its default list of common targets from the | 220 | The default output of the <filename>oe-init-build-env</filename> script |
| 223 | <filename>conf-notes.txt</filename> file, which is found in the | 221 | is from the <filename>conf-notes.txt</filename> file, which is found in the |
| 224 | <filename>meta-poky</filename> directory within the | 222 | <filename>meta-poky</filename> directory within the |
| 225 | <link linkend='source-directory'>Source Directory</link>. | 223 | <link linkend='source-directory'>Source Directory</link>. |
| 226 | Should you have custom distributions, it is very easy to modify | 224 | If you design a custom distribution, you can include your own version |
| 227 | this configuration file to include your targets for your | 225 | of this configuration file to mention the targets defined by your |
| 228 | distribution. | 226 | distribution. |
| 229 | See the | 227 | See the |
| 230 | "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-custom-template-configuration-directory'>Creating a Custom Template Configuration Directory</ulink>" | 228 | "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-custom-template-configuration-directory'>Creating a Custom Template Configuration Directory</ulink>" |
| @@ -234,20 +232,20 @@ | |||
| 234 | 232 | ||
| 235 | <para> | 233 | <para> |
| 236 | By default, running this script without a Build Directory | 234 | By default, running this script without a Build Directory |
| 237 | argument creates the <filename>build</filename> directory | 235 | argument creates the <filename>build/</filename> directory |
| 238 | in your current working directory. | 236 | in your current working directory. |
| 239 | If you provide a Build Directory argument when you | 237 | If you provide a Build Directory argument when you |
| 240 | <filename>source</filename> the script, you direct the OpenEmbedded | 238 | <filename>source</filename> the script, you direct the OpenEmbedded |
| 241 | build system to create a Build Directory of your choice. | 239 | build system to create a Build Directory of your choice. |
| 242 | For example, the following command creates a Build Directory named | 240 | For example, the following command creates a Build Directory named |
| 243 | <filename>mybuilds</filename> that is outside of the | 241 | <filename>mybuilds/</filename> that is outside of the |
| 244 | <link linkend='source-directory'>Source Directory</link>: | 242 | <link linkend='source-directory'>Source Directory</link>: |
| 245 | <literallayout class='monospaced'> | 243 | <literallayout class='monospaced'> |
| 246 | $ source &OE_INIT_FILE; ~/mybuilds | 244 | $ source &OE_INIT_FILE; ~/mybuilds |
| 247 | </literallayout> | 245 | </literallayout> |
| 248 | The OpenEmbedded build system uses the template configuration | 246 | The OpenEmbedded build system uses the template configuration |
| 249 | files, which are found by default in the | 247 | files, which are found by default in the |
| 250 | <filename>meta-poky/conf</filename> directory in the | 248 | <filename>meta-poky/conf/</filename> directory in the |
| 251 | Source Directory. | 249 | Source Directory. |
| 252 | See the | 250 | See the |
| 253 | "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-custom-template-configuration-directory'>Creating a Custom Template Configuration Directory</ulink>" | 251 | "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-custom-template-configuration-directory'>Creating a Custom Template Configuration Directory</ulink>" |
| @@ -280,28 +278,26 @@ | |||
| 280 | <para> | 278 | <para> |
| 281 | The OpenEmbedded build system creates the | 279 | The OpenEmbedded build system creates the |
| 282 | <link linkend='build-directory'>Build Directory</link> | 280 | <link linkend='build-directory'>Build Directory</link> |
| 283 | when you run the build environment setup scripts (i.e. | 281 | when you run the build environment setup script |
| 284 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>). | 282 | <link |
| 285 | </para> | 283 | linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>. |
| 286 | |||
| 287 | <para> | ||
| 288 | If you do not give the Build Directory a specific name when you run | 284 | If you do not give the Build Directory a specific name when you run |
| 289 | a setup script, the name defaults to <filename>build</filename>. | 285 | the setup script, the name defaults to <filename>build/</filename>. |
| 290 | </para> | 286 | </para> |
| 291 | 287 | ||
| 292 | <para> | 288 | <para> |
| 293 | The | 289 | For subsequent parsing and processing, the name of the Build |
| 294 | <link linkend='var-TOPDIR'><filename>TOPDIR</filename></link> variable | 290 | directory is available via the |
| 295 | points to the Build Directory. | 291 | <link linkend='var-TOPDIR'><filename>TOPDIR</filename></link> variable. |
| 296 | </para> | 292 | </para> |
| 297 | 293 | ||
| 298 | <section id='structure-build-buildhistory'> | 294 | <section id='structure-build-buildhistory'> |
| 299 | <title><filename>build/buildhistory</filename></title> | 295 | <title><filename>build/buildhistory/</filename></title> |
| 300 | 296 | ||
| 301 | <para> | 297 | <para> |
| 302 | The OpenEmbedded build system creates this directory when you | 298 | The OpenEmbedded build system creates this directory when you |
| 303 | enable the build history feature. | 299 | enable build history via the <filename>buildhistory</filename> class file. |
| 304 | The directory tracks build information into image, packages, and | 300 | The directory organizes build information into image, packages, and |
| 305 | SDK subdirectories. | 301 | SDK subdirectories. |
| 306 | For information on the build history feature, see the | 302 | For information on the build history feature, see the |
| 307 | "<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-build-output-quality'>Maintaining Build Output Quality</ulink>" | 303 | "<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-build-output-quality'>Maintaining Build Output Quality</ulink>" |
| @@ -320,14 +316,14 @@ | |||
| 320 | Any variable set here overrides any variable set elsewhere within | 316 | Any variable set here overrides any variable set elsewhere within |
| 321 | the environment unless that variable is hard-coded within a file | 317 | the environment unless that variable is hard-coded within a file |
| 322 | (e.g. by using '=' instead of '?='). | 318 | (e.g. by using '=' instead of '?='). |
| 323 | Some variables are hard-coded for various reasons but these | 319 | Some variables are hard-coded for various reasons but such |
| 324 | variables are relatively rare. | 320 | variables are relatively rare. |
| 325 | </para> | 321 | </para> |
| 326 | 322 | ||
| 327 | <para> | 323 | <para> |
| 328 | Edit this file to set the | 324 | At a minimum, you would normally edit this file to select the target |
| 329 | <filename><link linkend='var-MACHINE'>MACHINE</link></filename> | 325 | <filename><link linkend='var-MACHINE'>MACHINE</link></filename>, |
| 330 | for which you want to build, which package types you wish to use | 326 | which package types you wish to use |
| 331 | (<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>), | 327 | (<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>), |
| 332 | and the location from which you want to access downloaded files | 328 | and the location from which you want to access downloaded files |
| 333 | (<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>). | 329 | (<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>). |
| @@ -338,16 +334,16 @@ | |||
| 338 | start the build, the OpenEmbedded build system creates it from | 334 | start the build, the OpenEmbedded build system creates it from |
| 339 | <filename>local.conf.sample</filename> when | 335 | <filename>local.conf.sample</filename> when |
| 340 | you <filename>source</filename> the top-level build environment | 336 | you <filename>source</filename> the top-level build environment |
| 341 | setup script (i.e. | 337 | setup script |
| 342 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>). | 338 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>. |
| 343 | </para> | 339 | </para> |
| 344 | 340 | ||
| 345 | <para> | 341 | <para> |
| 346 | The source <filename>local.conf.sample</filename> file used | 342 | The source <filename>local.conf.sample</filename> file used |
| 347 | depends on the <filename>$TEMPLATECONF</filename> script variable, | 343 | depends on the <filename>$TEMPLATECONF</filename> script variable, |
| 348 | which defaults to <filename>meta-poky/conf</filename> | 344 | which defaults to <filename>meta-poky/conf/</filename> |
| 349 | when you are building from the Yocto Project development | 345 | when you are building from the Yocto Project development |
| 350 | environment and defaults to <filename>meta/conf</filename> when | 346 | environment, and to <filename>meta/conf/</filename> when |
| 351 | you are building from the OpenEmbedded-Core environment. | 347 | you are building from the OpenEmbedded-Core environment. |
| 352 | Because the script variable points to the source of the | 348 | Because the script variable points to the source of the |
| 353 | <filename>local.conf.sample</filename> file, this implies that | 349 | <filename>local.conf.sample</filename> file, this implies that |
| @@ -395,11 +391,12 @@ | |||
| 395 | </para> | 391 | </para> |
| 396 | 392 | ||
| 397 | <para> | 393 | <para> |
| 398 | The source <filename>bblayers.conf.sample</filename> file used | 394 | As with the <filename>local.conf</filename> file, |
| 395 | the source <filename>bblayers.conf.sample</filename> file used | ||
| 399 | depends on the <filename>$TEMPLATECONF</filename> script variable, | 396 | depends on the <filename>$TEMPLATECONF</filename> script variable, |
| 400 | which defaults to <filename>meta-poky/conf</filename> | 397 | which defaults to <filename>meta-poky/conf/</filename> |
| 401 | when you are building from the Yocto Project development | 398 | when you are building from the Yocto Project development |
| 402 | environment and defaults to <filename>meta/conf</filename> when | 399 | environment, and to <filename>meta/conf/</filename> when |
| 403 | you are building from the OpenEmbedded-Core environment. | 400 | you are building from the OpenEmbedded-Core environment. |
| 404 | Because the script variable points to the source of the | 401 | Because the script variable points to the source of the |
| 405 | <filename>bblayers.conf.sample</filename> file, this implies that | 402 | <filename>bblayers.conf.sample</filename> file, this implies that |
| @@ -418,7 +415,7 @@ | |||
| 418 | <link linkend='source-directory'>Source Directory</link>. | 415 | <link linkend='source-directory'>Source Directory</link>. |
| 419 | You can find the Yocto Project version of the | 416 | You can find the Yocto Project version of the |
| 420 | <filename>bblayers.conf.sample</filename> file in the | 417 | <filename>bblayers.conf.sample</filename> file in the |
| 421 | <filename>meta-poky/conf</filename> directory. | 418 | <filename>meta-poky/conf/</filename> directory. |
| 422 | </note> | 419 | </note> |
| 423 | </para> | 420 | </para> |
| 424 | </section> | 421 | </section> |
| @@ -572,8 +569,11 @@ | |||
| 572 | <title><filename>build/tmp/deploy/images/</filename></title> | 569 | <title><filename>build/tmp/deploy/images/</filename></title> |
| 573 | 570 | ||
| 574 | <para> | 571 | <para> |
| 575 | This directory receives complete filesystem images. | 572 | This directory is populated with the basic output objects of the |
| 576 | If you want to flash the resulting image from a build onto a device, look here for the image. | 573 | build (think of them as the "generated artifacts" of the build process), |
| 574 | including things like the boot loader image, kernel, root filesystem and more. | ||
| 575 | If you want to flash the resulting image from a build onto a device, | ||
| 576 | look here for the necessary components. | ||
| 577 | </para> | 577 | </para> |
| 578 | 578 | ||
| 579 | <para> | 579 | <para> |
| @@ -604,7 +604,7 @@ | |||
| 604 | 604 | ||
| 605 | <para> | 605 | <para> |
| 606 | The OpenEmbedded build system creates this directory to hold | 606 | The OpenEmbedded build system creates this directory to hold |
| 607 | toolchain installer scripts, which when executed, install the | 607 | toolchain installer scripts which, when executed, install the |
| 608 | sysroot that matches your target hardware. | 608 | sysroot that matches your target hardware. |
| 609 | You can find out more about these installers in the | 609 | You can find out more about these installers in the |
| 610 | "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-building-an-sdk-installer'>Building an SDK Installer</ulink>" | 610 | "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-building-an-sdk-installer'>Building an SDK Installer</ulink>" |
| @@ -1038,7 +1038,7 @@ | |||
| 1038 | <title><filename>meta/recipes-graphics/</filename></title> | 1038 | <title><filename>meta/recipes-graphics/</filename></title> |
| 1039 | 1039 | ||
| 1040 | <para> | 1040 | <para> |
| 1041 | This directory contains X and other graphically related system libraries | 1041 | This directory contains X and other graphically related system libraries. |
| 1042 | </para> | 1042 | </para> |
| 1043 | </section> | 1043 | </section> |
| 1044 | 1044 | ||
