diff options
| -rw-r--r-- | documentation/kernel-dev/kernel-dev-advanced.xml | 53 |
1 files changed, 33 insertions, 20 deletions
diff --git a/documentation/kernel-dev/kernel-dev-advanced.xml b/documentation/kernel-dev/kernel-dev-advanced.xml index 8b626e5ec9..ad46fcc8f0 100644 --- a/documentation/kernel-dev/kernel-dev-advanced.xml +++ b/documentation/kernel-dev/kernel-dev-advanced.xml | |||
| @@ -3,9 +3,11 @@ | |||
| 3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > | 3 | [<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > |
| 4 | 4 | ||
| 5 | <chapter id='kernel-dev-advanced'> | 5 | <chapter id='kernel-dev-advanced'> |
| 6 | |||
| 7 | <title>Working with Advanced Metadata</title> | 6 | <title>Working with Advanced Metadata</title> |
| 8 | 7 | ||
| 8 | <section id='kernel-dev-advanced-overview'> | ||
| 9 | <title>Overview</title> | ||
| 10 | |||
| 9 | <para> | 11 | <para> |
| 10 | In addition to supporting configuration fragments and patches, the | 12 | In addition to supporting configuration fragments and patches, the |
| 11 | Yocto Project kernel tools also support rich | 13 | Yocto Project kernel tools also support rich |
| @@ -60,37 +62,48 @@ together as needed, but maintain them in only one place. Similar logic applies | |||
| 60 | to source changes. | 62 | to source changes. |
| 61 | </literallayout> | 63 | </literallayout> |
| 62 | </para> | 64 | </para> |
| 65 | </section> | ||
| 63 | 66 | ||
| 64 | <section id='using-metadata-in-a-recipe'> | 67 | <section id='using-kernel-metadata-in-a-recipe'> |
| 65 | <title>Using Metadata in a Recipe</title> | 68 | <title>Using Kernel Metadata in a Recipe</title> |
| 66 | 69 | ||
| 67 | <para> | 70 | <para> |
| 68 | The metadata provided with any linux-yocto style Linux kernel sources | 71 | The kernel sources in the Yocto Project contain kernel Metadata, which is |
| 69 | must define a BSP that corresponds to the definition laid out in the | 72 | located in the <filename>meta</filename> branches of the kernel source |
| 70 | recipe. | 73 | Git repositories. |
| 71 | A BSP consists of an aggregation of kernel policy and hardware specific | 74 | This Metadata defines Board Support Packages (BSPs) that |
| 75 | correspond to definitions in linux-yocto recipes for the same BSPs. | ||
| 76 | A BSP consists of an aggregation of kernel policy and hardware-specific | ||
| 72 | feature enablement. | 77 | feature enablement. |
| 73 | This can be influenced from within the recipe. | 78 | The BSP can be influenced from within the linux-yocto recipe. |
| 79 | <note> | ||
| 80 | Linux kernel source that contains this Metadata is said to be | ||
| 81 | "linux-yocto style" kernel source. | ||
| 82 | A Linux kernel recipe that inherits from the | ||
| 83 | <filename>linux-yocto.inc</filename> include file is said to be a | ||
| 84 | "linux-yocto style" recipe. | ||
| 85 | </note> | ||
| 74 | </para> | 86 | </para> |
| 75 | 87 | ||
| 76 | <para> | 88 | <para> |
| 77 | Every linux-yocto style recipe must define the following variable: | 89 | Every linux-yocto style recipe must define the |
| 78 | <literallayout class='monospaced'> | 90 | <ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink> |
| 79 | KMACHINE | 91 | variable. |
| 80 | </literallayout> | 92 | This variable is typically set to the same value as the |
| 81 | <filename>KMACHINE</filename> is typically set to the same value as | 93 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
| 82 | used within the recipe-space BSP definition, such as "routerstationpro" | 94 | variable used by BitBake (e.g. "routerstationpro" or "fri2"). |
| 83 | or "fri2". | ||
| 84 | However, multiple BSPs can reuse the same <filename>KMACHINE</filename> | 95 | However, multiple BSPs can reuse the same <filename>KMACHINE</filename> |
| 85 | name if they are built using the same BSP description. | 96 | name if they are built using the same BSP description. |
| 86 | See section 3.3.5 for more information. | 97 | See the <link linkend='bsp-descriptions'>BSP Descriptions</link> section |
| 98 | for more information. | ||
| 87 | The <filename>meta-intel</filename> "fri2" and "fri2-noemgd" are good | 99 | The <filename>meta-intel</filename> "fri2" and "fri2-noemgd" are good |
| 88 | examples of such a situation where each specifies | 100 | examples of such a situation where each specifies |
| 89 | <filename>KMACHINE</filename> as "fri2". | 101 | <filename>KMACHINE</filename> as "fri2". |
| 90 | </para> | 102 | </para> |
| 91 | 103 | ||
| 92 | <para> | 104 | <para> |
| 93 | They may optionally define the following variables: | 105 | The linux-yocto style recipes can optionally define the following |
| 106 | variables: | ||
| 94 | <literallayout class='monospaced'> | 107 | <literallayout class='monospaced'> |
| 95 | KBRANCH | 108 | KBRANCH |
| 96 | KERNEL_FEATURES | 109 | KERNEL_FEATURES |
| @@ -839,7 +852,7 @@ The description file can include multiple patch statements, one per patch. | |||
| 839 | and patches to be the types of things you will want to specify | 852 | and patches to be the types of things you will want to specify |
| 840 | in the <filename>KERNEL_FEATURES</filename> variable of the | 853 | in the <filename>KERNEL_FEATURES</filename> variable of the |
| 841 | Linux kernel recipe. | 854 | Linux kernel recipe. |
| 842 | See the "<link linkend='using-metadata-in-a-recipe'>Using Metadata in a Recipe</link>" | 855 | See the "<link linkend='using-kernel-metadata-in-a-recipe'>Using Kernel Metadata in a Recipe</link>" |
| 843 | section earlier in the manual. | 856 | section earlier in the manual. |
| 844 | </para> | 857 | </para> |
| 845 | 858 | ||
| @@ -885,7 +898,7 @@ will want to specify in the KERNEL_FEATURES variable of the Linux kernel recipe | |||
| 885 | as described in the previous section. | 898 | as described in the previous section. |
| 886 | The <filename>ktype</filename> is selected by the | 899 | The <filename>ktype</filename> is selected by the |
| 887 | <filename>LINUX_KERNEL_TYPE</filename> variable in the recipe. | 900 | <filename>LINUX_KERNEL_TYPE</filename> variable in the recipe. |
| 888 | See the "<link linkend='using-metadata-in-a-recipe'>Using Metadata in a Recipe</link>" | 901 | See the "<link linkend='using-kernel-metadata-in-a-recipe'>Using Kernel Metadata in a Recipe</link>" |
| 889 | section for more information. | 902 | section for more information. |
| 890 | </para> | 903 | </para> |
| 891 | 904 | ||
| @@ -1315,7 +1328,7 @@ the KTYPE has changed, now set to "tiny". | |||
| 1315 | <title>Machine Branches</title> | 1328 | <title>Machine Branches</title> |
| 1316 | 1329 | ||
| 1317 | <para> | 1330 | <para> |
| 1318 | The "<link linkend='using-metadata-in-a-recipe'>Using Metadata in a Recipe</link>" | 1331 | The "<link linkend='using-kernel-metadata-in-a-recipe'>Using Kernel Metadata in a Recipe</link>" |
| 1319 | section introduced the <filename>KBRANCH</filename> variable, which | 1332 | section introduced the <filename>KBRANCH</filename> variable, which |
| 1320 | defines the source branch to use from the Linux kernel Git repository | 1333 | defines the source branch to use from the Linux kernel Git repository |
| 1321 | you are using. | 1334 | you are using. |
