diff options
| -rw-r--r-- | documentation/ref-manual/ref-structure.xml | 140 |
1 files changed, 72 insertions, 68 deletions
diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml index 13803f5a41..087246171b 100644 --- a/documentation/ref-manual/ref-structure.xml +++ b/documentation/ref-manual/ref-structure.xml | |||
| @@ -39,23 +39,27 @@ | |||
| 39 | 39 | ||
| 40 | <para> | 40 | <para> |
| 41 | This directory includes a copy of BitBake for ease of use. | 41 | This directory includes a copy of BitBake for ease of use. |
| 42 | The copy usually matches the current stable BitBake release from the BitBake project. | 42 | The copy usually matches the current stable BitBake release from |
| 43 | the BitBake project. | ||
| 43 | BitBake, a | 44 | BitBake, a |
| 44 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> | 45 | <ulink url='&YOCTO_DOCS_DEV_URL;#metadata'>Metadata</ulink> |
| 45 | interpreter, reads the Yocto Project metadata and runs the tasks | 46 | interpreter, reads the Yocto Project Metadata and runs the tasks |
| 46 | defined by that data. | 47 | defined by that data. |
| 47 | Failures are usually from the metadata and not from BitBake itself. | 48 | Failures are usually from the Metadata and not from BitBake itself. |
| 48 | Consequently, most users do not need to worry about BitBake. | 49 | Consequently, most users do not need to worry about BitBake. |
| 49 | </para> | 50 | </para> |
| 50 | 51 | ||
| 51 | <para> | 52 | <para> |
| 52 | When you run the <filename>bitbake</filename> command, the wrapper script in | 53 | When you run the <filename>bitbake</filename> command, the |
| 53 | <filename>scripts/</filename> is executed to run the main BitBake executable, | 54 | main BitBake executable, which resides in the |
| 54 | which resides in the <filename>bitbake/bin/</filename> directory. | 55 | <filename>bitbake/bin/</filename> directory, starts. |
| 55 | Sourcing the <link linkend="structure-core-script"><filename>&OE_INIT_FILE;</filename></link> | 56 | Sourcing an environment setup script (e.g. |
| 56 | script places the <filename>scripts</filename> and <filename>bitbake/bin</filename> | 57 | <link linkend="structure-core-script"><filename>&OE_INIT_FILE;</filename></link> |
| 57 | directories (in that order) into the shell's <filename>PATH</filename> environment | 58 | or |
| 58 | variable. | 59 | <link linkend="structure-memres-core-script"><filename>oe-init-build-env-memres</filename></link>) |
| 60 | places the <filename>scripts</filename> and | ||
| 61 | <filename>bitbake/bin</filename> directories (in that order) into | ||
| 62 | the shell's <filename>PATH</filename> environment variable. | ||
| 59 | </para> | 63 | </para> |
| 60 | 64 | ||
| 61 | <para> | 65 | <para> |
| @@ -74,7 +78,7 @@ | |||
| 74 | the source tree is combined with the output. | 78 | the source tree is combined with the output. |
| 75 | The <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> | 79 | The <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink> |
| 76 | is created initially when you <filename>source</filename> | 80 | is created initially when you <filename>source</filename> |
| 77 | the OpenEmbedded build environment setup script | 81 | the OpenEmbedded build environment setup script |
| 78 | (i.e. | 82 | (i.e. |
| 79 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> | 83 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> |
| 80 | or | 84 | or |
| @@ -185,9 +189,9 @@ | |||
| 185 | <title><filename>&OE_INIT_FILE;</filename></title> | 189 | <title><filename>&OE_INIT_FILE;</filename></title> |
| 186 | 190 | ||
| 187 | <para> | 191 | <para> |
| 188 | This script is one of two scripts that set up the OpenEmbedded build | 192 | This script is one of two scripts that set up the OpenEmbedded build |
| 189 | environment. | 193 | environment. |
| 190 | For information on the other script, see the | 194 | For information on the other script, see the |
| 191 | "<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>" | 195 | "<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>" |
| 192 | section. | 196 | section. |
| 193 | </para> | 197 | </para> |
| @@ -196,7 +200,7 @@ | |||
| 196 | Running this script with the <filename>source</filename> command in | 200 | Running this script with the <filename>source</filename> command in |
| 197 | a shell makes changes to <filename>PATH</filename> and sets other | 201 | a shell makes changes to <filename>PATH</filename> and sets other |
| 198 | core BitBake variables based on the current working directory. | 202 | core BitBake variables based on the current working directory. |
| 199 | You need to run an environment setup script before running BitBake | 203 | You need to run an environment setup script before running BitBake |
| 200 | commands. | 204 | commands. |
| 201 | The script uses other scripts within the | 205 | The script uses other scripts within the |
| 202 | <filename>scripts</filename> directory to do the bulk of the work. | 206 | <filename>scripts</filename> directory to do the bulk of the work. |
| @@ -231,11 +235,11 @@ | |||
| 231 | <title><filename>oe-init-build-env-memres</filename></title> | 235 | <title><filename>oe-init-build-env-memres</filename></title> |
| 232 | 236 | ||
| 233 | <para> | 237 | <para> |
| 234 | This script is one of two scripts that set up the OpenEmbedded build | 238 | This script is one of two scripts that set up the OpenEmbedded build |
| 235 | environment. | 239 | environment. |
| 236 | Setting up the environment with this script uses a | 240 | Setting up the environment with this script uses a |
| 237 | memory-resident BitBake. | 241 | memory-resident BitBake. |
| 238 | For information on the other setup script, see the | 242 | For information on the other setup script, see the |
| 239 | "<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>" | 243 | "<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>" |
| 240 | section. | 244 | section. |
| 241 | </para> | 245 | </para> |
| @@ -252,14 +256,14 @@ | |||
| 252 | Running this script with the <filename>source</filename> command in | 256 | Running this script with the <filename>source</filename> command in |
| 253 | a shell makes changes to <filename>PATH</filename> and sets other | 257 | a shell makes changes to <filename>PATH</filename> and sets other |
| 254 | core BitBake variables based on the current working directory. | 258 | core BitBake variables based on the current working directory. |
| 255 | One of these variables is the | 259 | One of these variables is the |
| 256 | <link linkend='var-BBSERVER'><filename>BBSERVER</filename></link> | 260 | <link linkend='var-BBSERVER'><filename>BBSERVER</filename></link> |
| 257 | variable, which allows the OpenEmbedded build system to locate | 261 | variable, which allows the OpenEmbedded build system to locate |
| 258 | the server that is running BitBake. | 262 | the server that is running BitBake. |
| 259 | </para> | 263 | </para> |
| 260 | 264 | ||
| 261 | <para> | 265 | <para> |
| 262 | You need to run an environment setup script before running BitBake | 266 | You need to run an environment setup script before running BitBake |
| 263 | commands. | 267 | commands. |
| 264 | Following is the script syntax: | 268 | Following is the script syntax: |
| 265 | <literallayout class='monospaced'> | 269 | <literallayout class='monospaced'> |
| @@ -289,14 +293,14 @@ | |||
| 289 | $ source oe-init-build-env-memres ~/mybuilds | 293 | $ source oe-init-build-env-memres ~/mybuilds |
| 290 | </literallayout> | 294 | </literallayout> |
| 291 | <note> | 295 | <note> |
| 292 | The OpenEmbedded build system does not support file or | 296 | The OpenEmbedded build system does not support file or |
| 293 | directory names that contain spaces. | 297 | directory names that contain spaces. |
| 294 | If you attempt to run the | 298 | If you attempt to run the |
| 295 | <filename>oe-init-build-env-memres</filename> script | 299 | <filename>oe-init-build-env-memres</filename> script |
| 296 | from a Source Directory that contains spaces in either the | 300 | from a Source Directory that contains spaces in either the |
| 297 | filenames or directory names, the script returns an error | 301 | filenames or directory names, the script returns an error |
| 298 | indicating no such file or directory. | 302 | indicating no such file or directory. |
| 299 | Be sure to use a Source Directory free of names containing | 303 | Be sure to use a Source Directory free of names containing |
| 300 | spaces. | 304 | spaces. |
| 301 | </note> | 305 | </note> |
| 302 | </para> | 306 | </para> |
| @@ -334,68 +338,68 @@ | |||
| 334 | <title><filename>build/conf/local.conf</filename></title> | 338 | <title><filename>build/conf/local.conf</filename></title> |
| 335 | 339 | ||
| 336 | <para> | 340 | <para> |
| 337 | This configuration file contains all the local user configurations | 341 | This configuration file contains all the local user configurations |
| 338 | for your build environment. | 342 | for your build environment. |
| 339 | The <filename>local.conf</filename> file contains documentation on | 343 | The <filename>local.conf</filename> file contains documentation on |
| 340 | the various configuration options. | 344 | the various configuration options. |
| 341 | Any variable set here overrides any variable set elsewhere within | 345 | Any variable set here overrides any variable set elsewhere within |
| 342 | the environment unless that variable is hard-coded within a file | 346 | the environment unless that variable is hard-coded within a file |
| 343 | (e.g. by using '=' instead of '?='). | 347 | (e.g. by using '=' instead of '?='). |
| 344 | Some variables are hard-coded for various reasons but these | 348 | Some variables are hard-coded for various reasons but these |
| 345 | variables are relatively rare. | 349 | variables are relatively rare. |
| 346 | </para> | 350 | </para> |
| 347 | 351 | ||
| 348 | <para> | 352 | <para> |
| 349 | Edit this file to set the | 353 | Edit this file to set the |
| 350 | <filename><link linkend='var-MACHINE'>MACHINE</link></filename> | 354 | <filename><link linkend='var-MACHINE'>MACHINE</link></filename> |
| 351 | for which you want to build, which package types you wish to use | 355 | for which you want to build, which package types you wish to use |
| 352 | (<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>), | 356 | (<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>), |
| 353 | the location from which you want to downloaded files | 357 | the location from which you want to downloaded files |
| 354 | (<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>), | 358 | (<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>), |
| 355 | and how you want your host machine to use resources | 359 | and how you want your host machine to use resources |
| 356 | (<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link> | 360 | (<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link> |
| 357 | and | 361 | and |
| 358 | <link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link>). | 362 | <link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link>). |
| 359 | </para> | 363 | </para> |
| 360 | 364 | ||
| 361 | <para> | 365 | <para> |
| 362 | If <filename>local.conf</filename> is not present when you | 366 | If <filename>local.conf</filename> is not present when you |
| 363 | start the build, the OpenEmbedded build system creates it from | 367 | start the build, the OpenEmbedded build system creates it from |
| 364 | <filename>local.conf.sample</filename> when | 368 | <filename>local.conf.sample</filename> when |
| 365 | you <filename>source</filename> the top-level build environment | 369 | you <filename>source</filename> the top-level build environment |
| 366 | setup script (i.e. | 370 | setup script (i.e. |
| 367 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> | 371 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> |
| 368 | or | 372 | or |
| 369 | <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>). | 373 | <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>). |
| 370 | </para> | 374 | </para> |
| 371 | 375 | ||
| 372 | <para> | 376 | <para> |
| 373 | The source <filename>local.conf.sample</filename> file used | 377 | The source <filename>local.conf.sample</filename> file used |
| 374 | depends on the <filename>$TEMPLATECONF</filename> script variable, | 378 | depends on the <filename>$TEMPLATECONF</filename> script variable, |
| 375 | which defaults to <filename>/meta-yocto/conf</filename> | 379 | which defaults to <filename>/meta-yocto/conf</filename> |
| 376 | when you are building from the Yocto Project development | 380 | when you are building from the Yocto Project development |
| 377 | environment and defaults to <filename>/meta/conf</filename> when | 381 | environment and defaults to <filename>/meta/conf</filename> when |
| 378 | you are building from the OpenEmbedded Core environment. | 382 | you are building from the OpenEmbedded Core environment. |
| 379 | Because the script variable points to the source of the | 383 | Because the script variable points to the source of the |
| 380 | <filename>local.conf.sample</filename> file, this implies that | 384 | <filename>local.conf.sample</filename> file, this implies that |
| 381 | you can configure your build environment from any layer by setting | 385 | you can configure your build environment from any layer by setting |
| 382 | the variable in the top-level build environment setup script as | 386 | the variable in the top-level build environment setup script as |
| 383 | follows: | 387 | follows: |
| 384 | <literallayout class='monospaced'> | 388 | <literallayout class='monospaced'> |
| 385 | TEMPLATECONF=<your_layer>/conf | 389 | TEMPLATECONF=<your_layer>/conf |
| 386 | </literallayout> | 390 | </literallayout> |
| 387 | Once the build process gets the sample file, it uses | 391 | Once the build process gets the sample file, it uses |
| 388 | <filename>sed</filename> to substitute final | 392 | <filename>sed</filename> to substitute final |
| 389 | <filename>${</filename><link linkend='var-OEROOT'><filename>OEROOT</filename></link><filename>}</filename> | 393 | <filename>${</filename><link linkend='var-OEROOT'><filename>OEROOT</filename></link><filename>}</filename> |
| 390 | values for all <filename>##OEROOT##</filename> values. | 394 | values for all <filename>##OEROOT##</filename> values. |
| 391 | <note> | 395 | <note> |
| 392 | You can see how the <filename>TEMPLATECONF</filename> variable | 396 | You can see how the <filename>TEMPLATECONF</filename> variable |
| 393 | is used by looking at the | 397 | is used by looking at the |
| 394 | <filename>/scripts/oe-setup-builddir</filename> script in the | 398 | <filename>/scripts/oe-setup-builddir</filename> script in the |
| 395 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | 399 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. |
| 396 | You can find the Yocto Project version of the | 400 | You can find the Yocto Project version of the |
| 397 | <filename>local.conf.sample</filename> file in the | 401 | <filename>local.conf.sample</filename> file in the |
| 398 | <filename>/meta-yocto/conf</filename> directory. | 402 | <filename>/meta-yocto/conf</filename> directory. |
| 399 | </note> | 403 | </note> |
| 400 | </para> | 404 | </para> |
| 401 | </section> | 405 | </section> |
| @@ -408,48 +412,48 @@ | |||
| 408 | <ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>layers</ulink>, | 412 | <ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>layers</ulink>, |
| 409 | which are directory trees, traversed (or walked) by BitBake. | 413 | which are directory trees, traversed (or walked) by BitBake. |
| 410 | The <filename>bblayers.conf</filename> file uses the | 414 | The <filename>bblayers.conf</filename> file uses the |
| 411 | <link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link> | 415 | <link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link> |
| 412 | variable to list the layers BitBake tries to find, and uses the | 416 | variable to list the layers BitBake tries to find, and uses the |
| 413 | <link linkend='var-BBLAYERS_NON_REMOVABLE'><filename>BBLAYERS_NON_REMOVABLE</filename></link> | 417 | <link linkend='var-BBLAYERS_NON_REMOVABLE'><filename>BBLAYERS_NON_REMOVABLE</filename></link> |
| 414 | variable to list layers that must not be removed. | 418 | variable to list layers that must not be removed. |
| 415 | </para> | 419 | </para> |
| 416 | 420 | ||
| 417 | <para> | 421 | <para> |
| 418 | If <filename>bblayers.conf</filename> is not present when you | 422 | If <filename>bblayers.conf</filename> is not present when you |
| 419 | start the build, the OpenEmbedded build system creates it from | 423 | start the build, the OpenEmbedded build system creates it from |
| 420 | <filename>bblayers.conf.sample</filename> when | 424 | <filename>bblayers.conf.sample</filename> when |
| 421 | you <filename>source</filename> the top-level build environment | 425 | you <filename>source</filename> the top-level build environment |
| 422 | setup script (i.e. | 426 | setup script (i.e. |
| 423 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> | 427 | <link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link> |
| 424 | or | 428 | or |
| 425 | <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>). | 429 | <link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>). |
| 426 | </para> | 430 | </para> |
| 427 | 431 | ||
| 428 | <para> | 432 | <para> |
| 429 | The source <filename>bblayers.conf.sample</filename> file used | 433 | The source <filename>bblayers.conf.sample</filename> file used |
| 430 | depends on the <filename>$TEMPLATECONF</filename> script variable, | 434 | depends on the <filename>$TEMPLATECONF</filename> script variable, |
| 431 | which defaults to <filename>/meta-yocto/conf</filename> | 435 | which defaults to <filename>/meta-yocto/conf</filename> |
| 432 | when you are building from the Yocto Project development | 436 | when you are building from the Yocto Project development |
| 433 | environment and defaults to <filename>/meta/conf</filename> when | 437 | environment and defaults to <filename>/meta/conf</filename> when |
| 434 | you are building from the OpenEmbedded Core environment. | 438 | you are building from the OpenEmbedded Core environment. |
| 435 | Because the script variable points to the source of the | 439 | Because the script variable points to the source of the |
| 436 | <filename>bblayers.conf.sample</filename> file, this implies that | 440 | <filename>bblayers.conf.sample</filename> file, this implies that |
| 437 | you can base your build from any layer by setting the variable in | 441 | you can base your build from any layer by setting the variable in |
| 438 | the top-level build environment setup script as follows: | 442 | the top-level build environment setup script as follows: |
| 439 | <literallayout class='monospaced'> | 443 | <literallayout class='monospaced'> |
| 440 | TEMPLATECONF=<your_layer>/conf | 444 | TEMPLATECONF=<your_layer>/conf |
| 441 | </literallayout> | 445 | </literallayout> |
| 442 | Once the build process gets the sample file, it uses | 446 | Once the build process gets the sample file, it uses |
| 443 | <filename>sed</filename> to substitute final | 447 | <filename>sed</filename> to substitute final |
| 444 | <filename>${</filename><link linkend='var-OEROOT'><filename>OEROOT</filename></link><filename>}</filename> | 448 | <filename>${</filename><link linkend='var-OEROOT'><filename>OEROOT</filename></link><filename>}</filename> |
| 445 | values for all <filename>##OEROOT##</filename> values. | 449 | values for all <filename>##OEROOT##</filename> values. |
| 446 | <note> | 450 | <note> |
| 447 | You can see how the <filename>TEMPLATECONF</filename> variable | 451 | You can see how the <filename>TEMPLATECONF</filename> variable |
| 448 | <filename>/scripts/oe-setup-builddir</filename> script in the | 452 | <filename>/scripts/oe-setup-builddir</filename> script in the |
| 449 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | 453 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. |
| 450 | You can find the Yocto Project version of the | 454 | You can find the Yocto Project version of the |
| 451 | <filename>bblayers.conf.sample</filename> file in the | 455 | <filename>bblayers.conf.sample</filename> file in the |
| 452 | <filename>/meta-yocto/conf</filename> directory. | 456 | <filename>/meta-yocto/conf</filename> directory. |
| 453 | </note> | 457 | </note> |
| 454 | </para> | 458 | </para> |
| 455 | </section> | 459 | </section> |
