diff options
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 91 | ||||
| -rw-r--r-- | documentation/ref-manual/faq.xml | 4 |
2 files changed, 52 insertions, 43 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 363ab77340..a14dd3b888 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -34,11 +34,13 @@ | |||
| 34 | The BSP consists of a file structure inside a base directory. | 34 | The BSP consists of a file structure inside a base directory. |
| 35 | Collectively, you can think of the base directory and the file structure | 35 | Collectively, you can think of the base directory and the file structure |
| 36 | as a BSP Layer. | 36 | as a BSP Layer. |
| 37 | BSP Layers use the following naming convention: | 37 | Although not a strict requirement, layers in the Yocto Project use the |
| 38 | following well established naming convention: | ||
| 38 | <literallayout class='monospaced'> | 39 | <literallayout class='monospaced'> |
| 39 | meta-<bsp_name> | 40 | meta-<bsp_name> |
| 40 | </literallayout> | 41 | </literallayout> |
| 41 | "bsp_name" is a placeholder for the machine or platform name. | 42 | The string "meta-" is prepended to the machine or platform name, which is |
| 43 | "bsp_name" in the above form. | ||
| 42 | </para> | 44 | </para> |
| 43 | 45 | ||
| 44 | <para> | 46 | <para> |
| @@ -318,9 +320,9 @@ | |||
| 318 | # We have a conf and classes directory, add to BBPATH | 320 | # We have a conf and classes directory, add to BBPATH |
| 319 | BBPATH .= ":${LAYERDIR}" | 321 | BBPATH .= ":${LAYERDIR}" |
| 320 | 322 | ||
| 321 | # We have recipes-* directories, add to BBFILES | 323 | # We have a recipes directory, add to BBFILES |
| 322 | BBFILES += "${LAYERDIR}/recipes-*/*.bb \ | 324 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ |
| 323 | ${LAYERDIR}/recipes-*/*.bbappend" | 325 | ${LAYERDIR}/recipes-*/*/*.bbappend" |
| 324 | 326 | ||
| 325 | BBFILE_COLLECTIONS += "bsp" | 327 | BBFILE_COLLECTIONS += "bsp" |
| 326 | BBFILE_PATTERN_bsp = "^${LAYERDIR}/" | 328 | BBFILE_PATTERN_bsp = "^${LAYERDIR}/" |
| @@ -329,8 +331,8 @@ | |||
| 329 | </para> | 331 | </para> |
| 330 | 332 | ||
| 331 | <para> | 333 | <para> |
| 332 | To illustrate the string substitutions, here are the last three statements from the Crown | 334 | To illustrate the string substitutions, here are the corresponding statements |
| 333 | Bay <filename>conf/layer.conf</filename> file: | 335 | from the Crown Bay <filename>conf/layer.conf</filename> file: |
| 334 | <literallayout class='monospaced'> | 336 | <literallayout class='monospaced'> |
| 335 | BBFILE_COLLECTIONS += "crownbay" | 337 | BBFILE_COLLECTIONS += "crownbay" |
| 336 | BBFILE_PATTERN_crownbay = "^${LAYERDIR}/" | 338 | BBFILE_PATTERN_crownbay = "^${LAYERDIR}/" |
| @@ -397,9 +399,8 @@ | |||
| 397 | Tuning files are found in the <filename>meta/conf/machine/include</filename> | 399 | Tuning files are found in the <filename>meta/conf/machine/include</filename> |
| 398 | directory within the | 400 | directory within the |
| 399 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. | 401 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. |
| 400 | Tuning files can also reside in the BSP Layer itself. | ||
| 401 | For example, the <filename>ia32-base.inc</filename> file resides in the | 402 | For example, the <filename>ia32-base.inc</filename> file resides in the |
| 402 | <filename>meta-intel</filename> BSP Layer in <filename>conf/machine/include</filename>. | 403 | <filename>meta/conf/machine/include</filename> directory. |
| 403 | </para> | 404 | </para> |
| 404 | 405 | ||
| 405 | <para> | 406 | <para> |
| @@ -409,12 +410,13 @@ | |||
| 409 | <literallayout class='monospaced'> | 410 | <literallayout class='monospaced'> |
| 410 | require conf/machine/include/tune-atom.inc | 411 | require conf/machine/include/tune-atom.inc |
| 411 | require conf/machine/include/ia32-base.inc | 412 | require conf/machine/include/ia32-base.inc |
| 413 | require conf/machine/include/meta-intel.inc | ||
| 412 | </literallayout> | 414 | </literallayout> |
| 413 | </para> | 415 | </para> |
| 414 | </section> | 416 | </section> |
| 415 | 417 | ||
| 416 | <section id='bsp-filelayout-misc-recipes'> | 418 | <section id='bsp-filelayout-misc-recipes'> |
| 417 | <title>Miscellaneous Recipe Files</title> | 419 | <title>Miscellaneous BSP-Specific Recipe Files</title> |
| 418 | <para> | 420 | <para> |
| 419 | You can find these files in the BSP Layer at: | 421 | You can find these files in the BSP Layer at: |
| 420 | <literallayout class='monospaced'> | 422 | <literallayout class='monospaced'> |
| @@ -500,28 +502,28 @@ | |||
| 500 | the <filename>meta-<bsp_name>/recipes-kernel/linux</filename> directory). | 502 | the <filename>meta-<bsp_name>/recipes-kernel/linux</filename> directory). |
| 501 | </para> | 503 | </para> |
| 502 | <para> | 504 | <para> |
| 503 | Suppose you are using the <filename>linux-yocto_3.4.bb</filename> recipe to build | 505 | Suppose you are using the <filename>linux-yocto_3.8.bb</filename> recipe to build |
| 504 | the kernel. | 506 | the kernel. |
| 505 | In other words, you have selected the kernel in your | 507 | In other words, you have selected the kernel in your |
| 506 | <filename><bsp_name>.conf</filename> file by adding these types | 508 | <filename><bsp_name>.conf</filename> file by adding these types |
| 507 | of statements: | 509 | of statements: |
| 508 | <literallayout class='monospaced'> | 510 | <literallayout class='monospaced'> |
| 509 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" | 511 | PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto" |
| 510 | PREFERRED_VERSION_linux-yocto = "3.4%" | 512 | PREFERRED_VERSION_linux-yocto ?= "3.8%" |
| 511 | </literallayout> | 513 | </literallayout> |
| 512 | <note> | 514 | <note> |
| 513 | When the preferred provider is assumed by default, the | 515 | When the preferred provider is assumed by default, the |
| 514 | <filename>PREFERRED_PROVIDER</filename> statement does not appear in the | 516 | <filename>PREFERRED_PROVIDER</filename> statement does not appear in the |
| 515 | <filename><bsp_name>.conf</filename> file. | 517 | <filename><bsp_name>.conf</filename> file. |
| 516 | </note> | 518 | </note> |
| 517 | You would use the <filename>linux-yocto_3.4.bbappend</filename> file to append | 519 | You would use the <filename>linux-yocto_3.8.bbappend</filename> file to append |
| 518 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. | 520 | specific BSP settings to the kernel, thus configuring the kernel for your particular BSP. |
| 519 | </para> | 521 | </para> |
| 520 | <para> | 522 | <para> |
| 521 | As an example, look at the existing Crown Bay BSP. | 523 | As an example, look at the existing Crown Bay BSP. |
| 522 | The append file used is: | 524 | The append file used is: |
| 523 | <literallayout class='monospaced'> | 525 | <literallayout class='monospaced'> |
| 524 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.4.bbappend | 526 | meta-crownbay/recipes-kernel/linux/linux-yocto_3.8.bbappend |
| 525 | </literallayout> | 527 | </literallayout> |
| 526 | The following listing shows the file. | 528 | The following listing shows the file. |
| 527 | Be aware that the actual commit ID strings in this example listing might be different | 529 | Be aware that the actual commit ID strings in this example listing might be different |
| @@ -531,40 +533,43 @@ | |||
| 531 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 533 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
| 532 | 534 | ||
| 533 | COMPATIBLE_MACHINE_crownbay = "crownbay" | 535 | COMPATIBLE_MACHINE_crownbay = "crownbay" |
| 534 | KMACHINE_crownbay = "crownbay" | 536 | KMACHINE_crownbay = "crownbay" |
| 535 | KBRANCH_crownbay = "standard/crownbay" | 537 | KBRANCH_crownbay = "standard/crownbay" |
| 538 | KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb" | ||
| 536 | 539 | ||
| 537 | COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" | 540 | COMPATIBLE_MACHINE_crownbay-noemgd = "crownbay-noemgd" |
| 538 | KMACHINE_crownbay-noemgd = "crownbay" | 541 | KMACHINE_crownbay-noemgd = "crownbay" |
| 539 | KBRANCH_crownbay-noemgd = "standard/crownbay" | 542 | KBRANCH_crownbay-noemgd = "standard/crownbay" |
| 543 | KERNEL_FEATURES_crownbay-noemgd_append = " cfg/vesafb" | ||
| 540 | 544 | ||
| 541 | SRCREV_machine_pn-linux-yocto_crownbay ?= "449f7f520350700858f21a5554b81cc8ad23267d" | 545 | LINUX_VERSION = "3.8.4" |
| 542 | SRCREV_meta_pn-linux-yocto_crownbay ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac" | ||
| 543 | SRCREV_emgd_pn-linux-yocto_crownbay ?= "86643bdd8cbad616a161ab91f51108cf0da827bc" | ||
| 544 | 546 | ||
| 545 | SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= "449f7f520350700858f21a5554b81cc8ad23267d" | 547 | SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda" |
| 546 | SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac" | 548 | SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4" |
| 549 | SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576" | ||
| 547 | 550 | ||
| 548 | KSRC_linux_yocto_3_4 ?= "git.yoctoproject.org/linux-yocto-3.4.git" | 551 | SRCREV_meta_crownbay-noemgd = "2a6d36e75ca0a121570a389d7bab76ec240cbfda" |
| 549 | SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta,emgd-1.14;name=machine,meta,emgd" | 552 | SRCREV_machine_crownbay-noemgd = "47aed0c17c1c55988198ad39f86ae88894c8e0a4" |
| 550 | SRC_URI_crownbay-noemgd = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta" | 553 | |
| 554 | SRC_URI_crownbay = "git://git.yoctoproject.org/linux-yocto-3.8.git;protocol=git;nocheckout=1;branch=${KBRANCH},${KMETA},emgd-1.16;name=machine,meta,emgd" | ||
| 551 | </literallayout> | 555 | </literallayout> |
| 552 | This append file contains statements used to support the Crown Bay BSP for both | 556 | This append file contains statements used to support the Crown Bay BSP for both |
| 553 | <trademark class='registered'>Intel</trademark> EMGD and the VESA graphics. | 557 | <trademark class='registered'>Intel</trademark> EMGD and the VESA graphics. |
| 554 | The build process, in this case, recognizes and uses only the statements that | 558 | The build process, in this case, recognizes and uses only the statements that |
| 555 | apply to the defined machine name - <filename>crownbay</filename> in this case. | 559 | apply to the defined machine name - <filename>crownbay</filename> in this case. |
| 556 | So, the applicable statements in the <filename>linux-yocto_3.4.bbappend</filename> | 560 | So, the applicable statements in the <filename>linux-yocto_3.8.bbappend</filename> |
| 557 | file are follows: | 561 | file are follows: |
| 558 | <literallayout class='monospaced'> | 562 | <literallayout class='monospaced'> |
| 559 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 563 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
| 560 | 564 | ||
| 561 | COMPATIBLE_MACHINE_crownbay = "crownbay" | 565 | COMPATIBLE_MACHINE_crownbay = "crownbay" |
| 562 | KMACHINE_crownbay = "crownbay" | 566 | KMACHINE_crownbay = "crownbay" |
| 563 | KBRANCH_crownbay = "standard/crownbay" | 567 | KBRANCH_crownbay = "standard/crownbay" |
| 568 | KERNEL_FEATURES_crownbay_append = " features/drm-emgd/drm-emgd-1.16 cfg/vesafb" | ||
| 564 | 569 | ||
| 565 | SRCREV_machine_pn-linux-yocto_crownbay ?= "449f7f520350700858f21a5554b81cc8ad23267d" | 570 | SRCREV_meta_crownbay = "2a6d36e75ca0a121570a389d7bab76ec240cbfda" |
| 566 | SRCREV_meta_pn-linux-yocto_crownbay ?= "9e3bdb7344054264b750e53fbbb6394cc1c942ac" | 571 | SRCREV_machine_crownbay = "47aed0c17c1c55988198ad39f86ae88894c8e0a4" |
| 567 | SRCREV_emgd_pn-linux-yocto_crownbay ?= "86643bdd8cbad616a161ab91f51108cf0da827bc" | 572 | SRCREV_emgd_crownbay = "c780732f175ff0ec866fac2130175876b519b576" |
| 568 | </literallayout> | 573 | </literallayout> |
| 569 | The append file defines <filename>crownbay</filename> as the | 574 | The append file defines <filename>crownbay</filename> as the |
| 570 | <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> | 575 | <ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink> |
| @@ -574,8 +579,11 @@ | |||
| 574 | machine name used by the Linux Yocto kernel. | 579 | machine name used by the Linux Yocto kernel. |
| 575 | The file also uses the optional | 580 | The file also uses the optional |
| 576 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> variable | 581 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> variable |
| 577 | to ensure the build process uses the <filename>standard/default/crownbay</filename> | 582 | to ensure the build process uses the <filename>standard/crownbay</filename> |
| 578 | kernel branch. | 583 | kernel branch. |
| 584 | The | ||
| 585 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink> | ||
| 586 | variable enables features specific to the kernel. | ||
| 579 | Finally, the append file points to specific commits in the | 587 | Finally, the append file points to specific commits in the |
| 580 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git | 588 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git |
| 581 | repository and the <filename>meta</filename> Git repository branches to identify the | 589 | repository and the <filename>meta</filename> Git repository branches to identify the |
| @@ -601,7 +609,7 @@ | |||
| 601 | </para> | 609 | </para> |
| 602 | 610 | ||
| 603 | <para> | 611 | <para> |
| 604 | For example, suppose you had a some configuration options in a file called | 612 | For example, suppose you had some configuration options in a file called |
| 605 | <filename>network_configs.cfg</filename>. | 613 | <filename>network_configs.cfg</filename>. |
| 606 | You can place that file inside a directory named <filename>/linux-yocto</filename> and then add | 614 | You can place that file inside a directory named <filename>/linux-yocto</filename> and then add |
| 607 | a <filename>SRC_URI</filename> statement such as the following to the append file. | 615 | a <filename>SRC_URI</filename> statement such as the following to the append file. |
| @@ -723,7 +731,7 @@ | |||
| 723 | as outlined in <filename>recipes.txt</filename>. | 731 | as outlined in <filename>recipes.txt</filename>. |
| 724 | If you cannot find a category in <filename>recipes.txt</filename> | 732 | If you cannot find a category in <filename>recipes.txt</filename> |
| 725 | to fit a particular recipe, you can make up your own | 733 | to fit a particular recipe, you can make up your own |
| 726 | <filename>recipe-*</filename> subdirectory. | 734 | <filename>recipes-*</filename> subdirectory. |
| 727 | You can find <filename>recipes.txt</filename> in the | 735 | You can find <filename>recipes.txt</filename> in the |
| 728 | <filename>meta</filename> directory of the | 736 | <filename>meta</filename> directory of the |
| 729 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, | 737 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, |
| @@ -811,9 +819,9 @@ | |||
| 811 | This file identifies the <filename>meta-<bsp_name></filename> | 819 | This file identifies the <filename>meta-<bsp_name></filename> |
| 812 | BSP layer as a layer to the build system.</para></listitem> | 820 | BSP layer as a layer to the build system.</para></listitem> |
| 813 | <listitem><para><emphasis>Machine Configuration File:</emphasis> | 821 | <listitem><para><emphasis>Machine Configuration File:</emphasis> |
| 814 | You must include a <filename>conf/machine/<bsp_name>.conf</filename> | 822 | You must include one or more <filename>conf/machine/<bsp_name>.conf</filename> |
| 815 | in the <filename>meta-<bsp_name></filename> directory. | 823 | files in the <filename>meta-<bsp_name></filename> directory. |
| 816 | This configuration file defines a machine target that can be built | 824 | These configuration files define machine targets that can be built |
| 817 | using the BSP layer. | 825 | using the BSP layer. |
| 818 | Multiple machine configuration files define variations of machine | 826 | Multiple machine configuration files define variations of machine |
| 819 | configurations that are supported by the BSP. | 827 | configurations that are supported by the BSP. |
| @@ -827,7 +835,8 @@ | |||
| 827 | <note>It is completely possible for a developer to structure the | 835 | <note>It is completely possible for a developer to structure the |
| 828 | working repository as a conglomeration of unrelated BSP | 836 | working repository as a conglomeration of unrelated BSP |
| 829 | files, and to possibly generate BSPs targeted for release | 837 | files, and to possibly generate BSPs targeted for release |
| 830 | from that directory using scripts or some other mechanism. | 838 | from that directory using scripts or some other mechanism |
| 839 | (e.g. <filename>meta-yocto-bsp</filename> layer). | ||
| 831 | Such considerations are outside the scope of this document.</note> | 840 | Such considerations are outside the scope of this document.</note> |
| 832 | </para></listitem> | 841 | </para></listitem> |
| 833 | </itemizedlist> | 842 | </itemizedlist> |
| @@ -1259,7 +1268,7 @@ | |||
| 1259 | As the <filename>yocto-bsp create</filename> command runs, default values for | 1268 | As the <filename>yocto-bsp create</filename> command runs, default values for |
| 1260 | the prompts appear in brackets. | 1269 | the prompts appear in brackets. |
| 1261 | Pressing enter without supplying anything on the command line or pressing enter | 1270 | Pressing enter without supplying anything on the command line or pressing enter |
| 1262 | and providing an invalid response causes the script to accept the default value. | 1271 | with an invalid response causes the script to accept the default value. |
| 1263 | Once the script completes, the new <filename>meta-myarm</filename> BSP layer | 1272 | Once the script completes, the new <filename>meta-myarm</filename> BSP layer |
| 1264 | is created in the current working directory. | 1273 | is created in the current working directory. |
| 1265 | This example assumes you have sourced the | 1274 | This example assumes you have sourced the |
| @@ -1350,7 +1359,7 @@ | |||
| 1350 | <filename>bblayers.conf</filename> file. | 1359 | <filename>bblayers.conf</filename> file. |
| 1351 | Here is an example: | 1360 | Here is an example: |
| 1352 | <literallayout class='monospaced'> | 1361 | <literallayout class='monospaced'> |
| 1353 | BBLAYERS = ?" \ | 1362 | BBLAYERS = ? " \ |
| 1354 | /usr/local/src/yocto/meta \ | 1363 | /usr/local/src/yocto/meta \ |
| 1355 | /usr/local/src/yocto/meta-yocto \ | 1364 | /usr/local/src/yocto/meta-yocto \ |
| 1356 | /usr/local/src/yocto/meta-yocto-bsp \ | 1365 | /usr/local/src/yocto/meta-yocto-bsp \ |
diff --git a/documentation/ref-manual/faq.xml b/documentation/ref-manual/faq.xml index df9f7fadc3..f96b64c1a5 100644 --- a/documentation/ref-manual/faq.xml +++ b/documentation/ref-manual/faq.xml | |||
| @@ -407,7 +407,7 @@ | |||
| 407 | <answer> | 407 | <answer> |
| 408 | <para> | 408 | <para> |
| 409 | You need to create a form factor file as described in the | 409 | You need to create a form factor file as described in the |
| 410 | "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous Recipe Files</ulink>" | 410 | "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>" |
| 411 | section in the Yocto Project Board Support Packages (BSP) | 411 | section in the Yocto Project Board Support Packages (BSP) |
| 412 | Developer's Guide. | 412 | Developer's Guide. |
| 413 | Set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to | 413 | Set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to |
| @@ -431,7 +431,7 @@ | |||
| 431 | automatically bring up network interfaces. | 431 | automatically bring up network interfaces. |
| 432 | Therefore, you will need to add a BSP-specific netbase that includes an interfaces | 432 | Therefore, you will need to add a BSP-specific netbase that includes an interfaces |
| 433 | file. | 433 | file. |
| 434 | See the "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous Recipe Files</ulink>" | 434 | See the "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>" |
| 435 | section in the Yocto Project Board Support Packages (BSP) | 435 | section in the Yocto Project Board Support Packages (BSP) |
| 436 | Developer's Guide for information on creating these types of | 436 | Developer's Guide for information on creating these types of |
| 437 | miscellaneous recipe files. | 437 | miscellaneous recipe files. |
