diff options
| -rw-r--r-- | documentation/bsp-guide/bsp.xml | 73 |
1 files changed, 36 insertions, 37 deletions
diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index 6fd61c0291..a1a678b1c1 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml | |||
| @@ -48,8 +48,8 @@ | |||
| 48 | This root is what you add to the | 48 | This root is what you add to the |
| 49 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink> | 49 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink> |
| 50 | variable in the <filename>conf/bblayers.conf</filename> file found in the | 50 | variable in the <filename>conf/bblayers.conf</filename> file found in the |
| 51 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-build-directory'>Yocto Project Build Directory</ulink>. | 51 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>. |
| 52 | Adding the root allows the Yocto Project build system to recognize the BSP | 52 | Adding the root allows the OpenEmbedded build system to recognize the BSP |
| 53 | definition and from it build an image. | 53 | definition and from it build an image. |
| 54 | Here is an example: | 54 | Here is an example: |
| 55 | <literallayout class='monospaced'> | 55 | <literallayout class='monospaced'> |
| @@ -99,13 +99,14 @@ | |||
| 99 | </para> | 99 | </para> |
| 100 | 100 | ||
| 101 | <para> | 101 | <para> |
| 102 | The proposed form does have elements that are specific to the Yocto Project and | 102 | The proposed form does have elements that are specific to the |
| 103 | OpenEmbedded build systems. | 103 | OpenEmbedded build system. |
| 104 | It is intended that this information can be | 104 | It is intended that this information can be |
| 105 | used by other systems besides Yocto Project and OpenEmbedded and that it will be simple | 105 | used by other build systems besides the OpenEmbedded build system |
| 106 | and that it will be simple | ||
| 106 | to extract information and convert it to other formats if required. | 107 | to extract information and convert it to other formats if required. |
| 107 | Yocto Project, through its standard layers mechanism, can directly accept the format | 108 | The OpenEmbedded build system, through its standard layers mechanism, can directly |
| 108 | described as a layer. | 109 | accept the format described as a layer. |
| 109 | The BSP captures all | 110 | The BSP captures all |
| 110 | the hardware-specific details in one place in a standard format, which is | 111 | the hardware-specific details in one place in a standard format, which is |
| 111 | useful for any person wishing to use the hardware platform regardless of | 112 | useful for any person wishing to use the hardware platform regardless of |
| @@ -297,9 +298,10 @@ | |||
| 297 | </para> | 298 | </para> |
| 298 | 299 | ||
| 299 | <para> | 300 | <para> |
| 300 | The <filename>conf/layer.conf</filename> file identifies the file structure as a Yocto | 301 | The <filename>conf/layer.conf</filename> file identifies the file structure as a |
| 301 | Project layer, identifies the | 302 | layer, identifies the |
| 302 | contents of the layer, and contains information about how Yocto Project should use it. | 303 | contents of the layer, and contains information about how the build |
| 304 | system should use it. | ||
| 303 | Generally, a standard boilerplate file such as the following works. | 305 | Generally, a standard boilerplate file such as the following works. |
| 304 | In the following example, you would replace "<filename>bsp</filename>" and | 306 | In the following example, you would replace "<filename>bsp</filename>" and |
| 305 | "<filename>_bsp</filename>" with the actual name | 307 | "<filename>_bsp</filename>" with the actual name |
| @@ -333,7 +335,7 @@ | |||
| 333 | 335 | ||
| 334 | <para> | 336 | <para> |
| 335 | This file simply makes BitBake aware of the recipes and configuration directories. | 337 | This file simply makes BitBake aware of the recipes and configuration directories. |
| 336 | The file must exist so that the Yocto Project build system can recognize the BSP. | 338 | The file must exist so that the OpenEmbedded build system can recognize the BSP. |
| 337 | </para> | 339 | </para> |
| 338 | </section> | 340 | </section> |
| 339 | 341 | ||
| @@ -348,7 +350,7 @@ | |||
| 348 | 350 | ||
| 349 | <para> | 351 | <para> |
| 350 | The machine files bind together all the information contained elsewhere | 352 | The machine files bind together all the information contained elsewhere |
| 351 | in the BSP into a format that the Yocto Project build system can understand. | 353 | in the BSP into a format that the build system can understand. |
| 352 | If the BSP supports multiple machines, multiple machine configuration files | 354 | If the BSP supports multiple machines, multiple machine configuration files |
| 353 | can be present. | 355 | can be present. |
| 354 | These filenames correspond to the values to which users have set the | 356 | These filenames correspond to the values to which users have set the |
| @@ -388,8 +390,8 @@ | |||
| 388 | 390 | ||
| 389 | <para> | 391 | <para> |
| 390 | Tuning files are found in the <filename>meta/conf/machine/include</filename> | 392 | Tuning files are found in the <filename>meta/conf/machine/include</filename> |
| 391 | directory of the | 393 | directory within the |
| 392 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto Project Files</ulink>. | 394 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>. |
| 393 | Tuning files can also reside in the BSP Layer itself. | 395 | Tuning files can also reside in the BSP Layer itself. |
| 394 | For example, the <filename>ia32-base.inc</filename> file resides in the | 396 | For example, the <filename>ia32-base.inc</filename> file resides in the |
| 395 | <filename>meta-intel</filename> BSP Layer in <filename>conf/machine/include</filename>. | 397 | <filename>meta-intel</filename> BSP Layer in <filename>conf/machine/include</filename>. |
| @@ -441,7 +443,7 @@ | |||
| 441 | formfactor recipe | 443 | formfactor recipe |
| 442 | <filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>, | 444 | <filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>, |
| 443 | which is found in the | 445 | which is found in the |
| 444 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto Project Files</ulink>. | 446 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>. |
| 445 | </para></note> | 447 | </para></note> |
| 446 | </section> | 448 | </section> |
| 447 | 449 | ||
| @@ -573,10 +575,10 @@ | |||
| 573 | The file also points to some configuration fragments to use by setting the | 575 | The file also points to some configuration fragments to use by setting the |
| 574 | <filename>KERNEL_FEATURES</filename> variable. | 576 | <filename>KERNEL_FEATURES</filename> variable. |
| 575 | The location for the configuration fragments is the kernel tree itself in the | 577 | The location for the configuration fragments is the kernel tree itself in the |
| 576 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-build-directory'>Yocto Project Build | 578 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink> |
| 577 | Directory</ulink> under <filename>linux/meta</filename>. | 579 | under <filename>linux/meta</filename>. |
| 578 | Finally, the append file points to the specific commits in the | 580 | Finally, the append file points to the specific commits in the |
| 579 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto Project Files</ulink> Git | 581 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink> Git |
| 580 | repository and the <filename>meta</filename> Git repository branches to identify the | 582 | repository and the <filename>meta</filename> Git repository branches to identify the |
| 581 | exact kernel needed to build the Crown Bay BSP. | 583 | exact kernel needed to build the Crown Bay BSP. |
| 582 | </para> | 584 | </para> |
| @@ -629,7 +631,7 @@ | |||
| 629 | For example, if you are working with a local clone of the kernel repository, | 631 | For example, if you are working with a local clone of the kernel repository, |
| 630 | you could checkout the kernel's <filename>meta</filename> branch, make your changes, | 632 | you could checkout the kernel's <filename>meta</filename> branch, make your changes, |
| 631 | and then push the changes to the local bare clone of the kernel. | 633 | and then push the changes to the local bare clone of the kernel. |
| 632 | The result is that you directly add configuration options to the Yocto kernel | 634 | The result is that you directly add configuration options to the |
| 633 | <filename>meta</filename> branch for your BSP. | 635 | <filename>meta</filename> branch for your BSP. |
| 634 | The configuration options will likely end up in that location anyway if the BSP gets | 636 | The configuration options will likely end up in that location anyway if the BSP gets |
| 635 | added to the Yocto Project. | 637 | added to the Yocto Project. |
| @@ -672,7 +674,7 @@ | |||
| 672 | <itemizedlist> | 674 | <itemizedlist> |
| 673 | <listitem><para>The requirements here assume the BSP layer is a well-formed, "legal" | 675 | <listitem><para>The requirements here assume the BSP layer is a well-formed, "legal" |
| 674 | layer that can be added to the Yocto Project. | 676 | layer that can be added to the Yocto Project. |
| 675 | For guidelines on creating a Yocto Project layer that meets these base requirements, see the | 677 | For guidelines on creating a layer that meets these base requirements, see the |
| 676 | "<link linkend='bsp-layers'>BSP Layers</link>" and the | 678 | "<link linkend='bsp-layers'>BSP Layers</link>" and the |
| 677 | "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding | 679 | "<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>Understanding |
| 678 | and Creating Layers"</ulink> in the Yocto Project Development Manual.</para></listitem> | 680 | and Creating Layers"</ulink> in the Yocto Project Development Manual.</para></listitem> |
| @@ -719,15 +721,15 @@ | |||
| 719 | <filename>recipe-*</filename> subdirectory. | 721 | <filename>recipe-*</filename> subdirectory. |
| 720 | You can find <filename>recipes.txt</filename> in the | 722 | You can find <filename>recipes.txt</filename> in the |
| 721 | <filename>meta</filename> directory of the | 723 | <filename>meta</filename> directory of the |
| 722 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto | 724 | <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>, |
| 723 | Project Files</ulink>, or in the OpenEmbedded Core Layer | 725 | or in the OpenEmbedded Core Layer |
| 724 | (<filename>openembedded-core</filename>) found at | 726 | (<filename>openembedded-core</filename>) found at |
| 725 | <ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>. | 727 | <ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>. |
| 726 | </para> | 728 | </para> |
| 727 | <para>Within any particular <filename>recipes-*</filename> category, the layout | 729 | <para>Within any particular <filename>recipes-*</filename> category, the layout |
| 728 | should match what is found in the OpenEmbedded Core | 730 | should match what is found in the OpenEmbedded Core |
| 729 | Git repository (<filename>openembedded-core</filename>) | 731 | Git repository (<filename>openembedded-core</filename>) |
| 730 | or the Yocto Project Files (<filename>poky</filename>). | 732 | or the source directory (<filename>poky</filename>). |
| 731 | In other words, make sure you place related files in appropriately | 733 | In other words, make sure you place related files in appropriately |
| 732 | related <filename>recipes-*</filename> subdirectories specific to the | 734 | related <filename>recipes-*</filename> subdirectories specific to the |
| 733 | recipe's function, or within a subdirectory containing a set of closely-related | 735 | recipe's function, or within a subdirectory containing a set of closely-related |
| @@ -910,7 +912,7 @@ | |||
| 910 | for a component or components. | 912 | for a component or components. |
| 911 | For these cases, you are required to accept the terms of a commercial or other | 913 | For these cases, you are required to accept the terms of a commercial or other |
| 912 | type of license that requires some kind of explicit End User License Agreement (EULA). | 914 | type of license that requires some kind of explicit End User License Agreement (EULA). |
| 913 | Once the license is accepted, the Yocto Project build system can then build and | 915 | Once the license is accepted, the OpenEmbedded build system can then build and |
| 914 | include the corresponding component in the final BSP image. | 916 | include the corresponding component in the final BSP image. |
| 915 | If the BSP is available as a pre-built image, you can download the image after | 917 | If the BSP is available as a pre-built image, you can download the image after |
| 916 | agreeing to the license or EULA. | 918 | agreeing to the license or EULA. |
| @@ -953,13 +955,12 @@ | |||
| 953 | </para> | 955 | </para> |
| 954 | 956 | ||
| 955 | <para> | 957 | <para> |
| 956 | A couple different methods exist within the Yocto | 958 | A couple different methods exist within the OpenEmbedded build system to |
| 957 | Project build system to satisfy the licensing | 959 | satisfy the licensing requirements for an encumbered BSP. |
| 958 | requirements for an encumbered BSP. | ||
| 959 | The following list describes them in order of preference: | 960 | The following list describes them in order of preference: |
| 960 | <orderedlist> | 961 | <orderedlist> |
| 961 | <listitem><para><emphasis>Use the <filename>LICENSE_FLAGS</filename> variable | 962 | <listitem><para><emphasis>Use the <filename>LICENSE_FLAGS</filename> variable |
| 962 | to define the Yocto Project recipes that have commercial or other types of | 963 | to define the recipes that have commercial or other types of |
| 963 | specially-licensed packages:</emphasis> | 964 | specially-licensed packages:</emphasis> |
| 964 | For each of those recipes, you can | 965 | For each of those recipes, you can |
| 965 | specify a matching license string in a | 966 | specify a matching license string in a |
| @@ -1024,7 +1025,7 @@ | |||
| 1024 | The Yocto Project includes a couple of tools that enable | 1025 | The Yocto Project includes a couple of tools that enable |
| 1025 | you to create a <link linkend='bsp-layers'>BSP layer</link> | 1026 | you to create a <link linkend='bsp-layers'>BSP layer</link> |
| 1026 | from scratch and do basic configuration and maintenance | 1027 | from scratch and do basic configuration and maintenance |
| 1027 | of the kernel without ever looking at a Yocto Project metadata file. | 1028 | of the kernel without ever looking at a metadata file. |
| 1028 | These tools are <filename>yocto-bsp</filename> and <filename>yocto-kernel</filename>, | 1029 | These tools are <filename>yocto-bsp</filename> and <filename>yocto-kernel</filename>, |
| 1029 | respectively. | 1030 | respectively. |
| 1030 | </para> | 1031 | </para> |
| @@ -1051,8 +1052,7 @@ | |||
| 1051 | 1052 | ||
| 1052 | <para> | 1053 | <para> |
| 1053 | Both tools reside in the <filename>scripts/</filename> subdirectory | 1054 | Both tools reside in the <filename>scripts/</filename> subdirectory |
| 1054 | of the <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-files'>Yocto Project | 1055 | of the <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>. |
| 1055 | Files</ulink>. | ||
| 1056 | Consequently, to use the scripts, you must <filename>source</filename> the | 1056 | Consequently, to use the scripts, you must <filename>source</filename> the |
| 1057 | environment just as you would when invoking a build: | 1057 | environment just as you would when invoking a build: |
| 1058 | <literallayout class='monospaced'> | 1058 | <literallayout class='monospaced'> |
| @@ -1104,7 +1104,7 @@ | |||
| 1104 | [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>] | 1104 | [-i <JSON PROPERTY FILE> | --infile <JSON PROPERTY_FILE>] |
| 1105 | 1105 | ||
| 1106 | This command creates a Yocto BSP based on the specified parameters. | 1106 | This command creates a Yocto BSP based on the specified parameters. |
| 1107 | The new BSP will be a new Yocto BSP layer contained by default within | 1107 | The new BSP will be a new BSP layer contained by default within |
| 1108 | the top-level directory specified as 'meta-bsp-name'. The -o option | 1108 | the top-level directory specified as 'meta-bsp-name'. The -o option |
| 1109 | can be used to place the BSP layer in a directory with a different | 1109 | can be used to place the BSP layer in a directory with a different |
| 1110 | name and location. | 1110 | name and location. |
| @@ -1310,8 +1310,8 @@ | |||
| 1310 | <listitem><para>The remainder of the prompts are routine. | 1310 | <listitem><para>The remainder of the prompts are routine. |
| 1311 | Defaults are accepted for each.</para></listitem> | 1311 | Defaults are accepted for each.</para></listitem> |
| 1312 | <listitem><para>By default, the script creates the new BSP Layer in the | 1312 | <listitem><para>By default, the script creates the new BSP Layer in the |
| 1313 | <ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-build-directory'>Yocto Project | 1313 | <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>. |
| 1314 | Build Directory</ulink>.</para></listitem> | 1314 | </para></listitem> |
| 1315 | </orderedlist> | 1315 | </orderedlist> |
| 1316 | </para> | 1316 | </para> |
| 1317 | 1317 | ||
| @@ -1336,8 +1336,7 @@ | |||
| 1336 | <title>Managing Kernel Patches and Config Items with yocto-kernel</title> | 1336 | <title>Managing Kernel Patches and Config Items with yocto-kernel</title> |
| 1337 | 1337 | ||
| 1338 | <para> | 1338 | <para> |
| 1339 | Assuming you have created a Yocto Project | 1339 | Assuming you have created a <link linkend='bsp-layers'>BSP Layer</link> using |
| 1340 | <link linkend='bsp-layers'>BSP Layer</link> using | ||
| 1341 | <link linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'> | 1340 | <link linkend='creating-a-new-bsp-layer-using-the-yocto-bsp-script'> |
| 1342 | <filename>yocto-bsp</filename></link> and you added it to your | 1341 | <filename>yocto-bsp</filename></link> and you added it to your |
| 1343 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink> | 1342 | <ulink url='&YOCTO_DOCS_REF_URL;#var-BBLAYERS'><filename>BBLAYERS</filename></ulink> |
| @@ -1348,7 +1347,7 @@ | |||
| 1348 | 1347 | ||
| 1349 | <para> | 1348 | <para> |
| 1350 | The <filename>yocto-kernel</filename> script allows you to add, remove, and list patches | 1349 | The <filename>yocto-kernel</filename> script allows you to add, remove, and list patches |
| 1351 | and kernel config settings to a Yocto Project BSP's kernel | 1350 | and kernel config settings to a BSP's kernel |
| 1352 | <filename>.bbappend</filename> file. | 1351 | <filename>.bbappend</filename> file. |
| 1353 | All you need to do is use the appropriate sub-command. | 1352 | All you need to do is use the appropriate sub-command. |
| 1354 | Recall that the easiest way to see exactly what sub-commands are available | 1353 | Recall that the easiest way to see exactly what sub-commands are available |
