diff options
Diffstat (limited to 'documentation/kernel-dev/advanced.rst')
-rw-r--r-- | documentation/kernel-dev/advanced.rst | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/documentation/kernel-dev/advanced.rst b/documentation/kernel-dev/advanced.rst index dd0b76bc31..fb6dfca85f 100644 --- a/documentation/kernel-dev/advanced.rst +++ b/documentation/kernel-dev/advanced.rst | |||
@@ -56,8 +56,8 @@ using the same BSP description. Multiple Corei7-based BSPs could share | |||
56 | the same "intel-corei7-64" value for ``KMACHINE``. It is important to | 56 | the same "intel-corei7-64" value for ``KMACHINE``. It is important to |
57 | realize that ``KMACHINE`` is just for kernel mapping, while ``MACHINE`` | 57 | realize that ``KMACHINE`` is just for kernel mapping, while ``MACHINE`` |
58 | is the machine type within a BSP Layer. Even with this distinction, | 58 | is the machine type within a BSP Layer. Even with this distinction, |
59 | however, these two variables can hold the same value. See the `BSP | 59 | however, these two variables can hold the same value. See the |
60 | Descriptions <#bsp-descriptions>`__ section for more information. | 60 | ":ref:`kernel-dev/advanced:bsp descriptions`" section for more information. |
61 | 61 | ||
62 | Every linux-yocto style recipe must also indicate the Linux kernel | 62 | Every linux-yocto style recipe must also indicate the Linux kernel |
63 | source repository branch used to build the Linux kernel. The | 63 | source repository branch used to build the Linux kernel. The |
@@ -87,7 +87,7 @@ Together with ``KMACHINE``, ``LINUX_KERNEL_TYPE`` defines the search | |||
87 | arguments used by the kernel tools to find the appropriate description | 87 | arguments used by the kernel tools to find the appropriate description |
88 | within the kernel Metadata with which to build out the sources and | 88 | within the kernel Metadata with which to build out the sources and |
89 | configuration. The linux-yocto recipes define "standard", "tiny", and | 89 | configuration. The linux-yocto recipes define "standard", "tiny", and |
90 | "preempt-rt" kernel types. See the "`Kernel Types <#kernel-types>`__" | 90 | "preempt-rt" kernel types. See the ":ref:`kernel-dev/advanced:kernel types`" |
91 | section for more information on kernel types. | 91 | section for more information on kernel types. |
92 | 92 | ||
93 | During the build, the kern-tools search for the BSP description file | 93 | During the build, the kern-tools search for the BSP description file |
@@ -123,8 +123,8 @@ the entries in ``KERNEL_FEATURES`` are dependent on their location | |||
123 | within the kernel Metadata itself. The examples here are taken from the | 123 | within the kernel Metadata itself. The examples here are taken from the |
124 | ``yocto-kernel-cache`` repository. Each branch of this repository | 124 | ``yocto-kernel-cache`` repository. Each branch of this repository |
125 | contains "features" and "cfg" subdirectories at the top-level. For more | 125 | contains "features" and "cfg" subdirectories at the top-level. For more |
126 | information, see the "`Kernel Metadata | 126 | information, see the ":ref:`kernel-dev/advanced:kernel metadata syntax`" |
127 | Syntax <#kernel-metadata-syntax>`__" section. | 127 | section. |
128 | 128 | ||
129 | Kernel Metadata Syntax | 129 | Kernel Metadata Syntax |
130 | ====================== | 130 | ====================== |
@@ -148,7 +148,7 @@ Features aggregate sources in the form of patches and configuration | |||
148 | fragments into a modular reusable unit. You can use features to | 148 | fragments into a modular reusable unit. You can use features to |
149 | implement conceptually separate kernel Metadata descriptions such as | 149 | implement conceptually separate kernel Metadata descriptions such as |
150 | pure configuration fragments, simple patches, complex features, and | 150 | pure configuration fragments, simple patches, complex features, and |
151 | kernel types. `Kernel types <#kernel-types>`__ define general kernel | 151 | kernel types. :ref:`kernel-dev/advanced:kernel types` define general kernel |
152 | features and policy to be reused in the BSPs. | 152 | features and policy to be reused in the BSPs. |
153 | 153 | ||
154 | BSPs define hardware-specific features and aggregate them with kernel | 154 | BSPs define hardware-specific features and aggregate them with kernel |
@@ -167,10 +167,9 @@ following Metadata file hierarchy is recommended: | |||
167 | ktypes/ | 167 | ktypes/ |
168 | patches/ | 168 | patches/ |
169 | 169 | ||
170 | The ``bsp`` directory contains the `BSP | 170 | The ``bsp`` directory contains the :ref:`kernel-dev/advanced:bsp descriptions`. |
171 | descriptions <#bsp-descriptions>`__. The remaining directories all | 171 | The remaining directories all contain "features". Separating ``bsp`` from the |
172 | contain "features". Separating ``bsp`` from the rest of the structure | 172 | rest of the structure aids conceptualizing intended usage. |
173 | aids conceptualizing intended usage. | ||
174 | 173 | ||
175 | Use these guidelines to help place your ``scc`` description files within | 174 | Use these guidelines to help place your ``scc`` description files within |
176 | the structure: | 175 | the structure: |
@@ -198,11 +197,12 @@ contain "features" as far as the kernel tools are concerned. | |||
198 | Paths used in kernel Metadata files are relative to base, which is | 197 | Paths used in kernel Metadata files are relative to base, which is |
199 | either | 198 | either |
200 | :term:`FILESEXTRAPATHS` if | 199 | :term:`FILESEXTRAPATHS` if |
201 | you are creating Metadata in `recipe-space <#recipe-space-metadata>`__, | 200 | you are creating Metadata in |
201 | :ref:`recipe-space <kernel-dev/advanced:recipe-space metadata>`, | ||
202 | or the top level of | 202 | or the top level of |
203 | :yocto_git:`yocto-kernel-cache </yocto-kernel-cache/tree/>` | 203 | :yocto_git:`yocto-kernel-cache </yocto-kernel-cache/tree/>` |
204 | if you are creating `Metadata outside of the | 204 | if you are creating |
205 | recipe-space <#metadata-outside-the-recipe-space>`__. | 205 | :ref:`kernel-dev/advanced:metadata outside the recipe-space`. |
206 | 206 | ||
207 | .. [1] | 207 | .. [1] |
208 | ``scc`` stands for Series Configuration Control, but the naming has | 208 | ``scc`` stands for Series Configuration Control, but the naming has |
@@ -353,9 +353,9 @@ as how an additional feature description file is included with the | |||
353 | Typically, features are less granular than configuration fragments and | 353 | Typically, features are less granular than configuration fragments and |
354 | are more likely than configuration fragments and patches to be the types | 354 | are more likely than configuration fragments and patches to be the types |
355 | of things you want to specify in the ``KERNEL_FEATURES`` variable of the | 355 | of things you want to specify in the ``KERNEL_FEATURES`` variable of the |
356 | Linux kernel recipe. See the "`Using Kernel Metadata in a | 356 | Linux kernel recipe. See the |
357 | Recipe <#using-kernel-metadata-in-a-recipe>`__" section earlier in the | 357 | ":ref:`kernel-dev/advanced:using kernel metadata in a recipe`" section earlier |
358 | manual. | 358 | in the manual. |
359 | 359 | ||
360 | Kernel Types | 360 | Kernel Types |
361 | ------------ | 361 | ------------ |
@@ -364,7 +364,7 @@ A kernel type defines a high-level kernel policy by aggregating | |||
364 | non-hardware configuration fragments with patches you want to use when | 364 | non-hardware configuration fragments with patches you want to use when |
365 | building a Linux kernel of a specific type (e.g. a real-time kernel). | 365 | building a Linux kernel of a specific type (e.g. a real-time kernel). |
366 | Syntactically, kernel types are no different than features as described | 366 | Syntactically, kernel types are no different than features as described |
367 | in the "`Features <#features>`__" section. The | 367 | in the ":ref:`kernel-dev/advanced:features`" section. The |
368 | :term:`LINUX_KERNEL_TYPE` | 368 | :term:`LINUX_KERNEL_TYPE` |
369 | variable in the kernel recipe selects the kernel type. For example, in | 369 | variable in the kernel recipe selects the kernel type. For example, in |
370 | the ``linux-yocto_4.12.bb`` kernel recipe found in | 370 | the ``linux-yocto_4.12.bb`` kernel recipe found in |
@@ -540,7 +540,7 @@ example, this is done using the following: | |||
540 | 540 | ||
541 | This file aggregates all the configuration | 541 | This file aggregates all the configuration |
542 | fragments, patches, and features that make up your standard kernel | 542 | fragments, patches, and features that make up your standard kernel |
543 | policy. See the "`Kernel Types <#kernel-types>`__" section for more | 543 | policy. See the ":ref:`kernel-dev/advanced:kernel types`" section for more |
544 | information. | 544 | information. |
545 | 545 | ||
546 | To aggregate common configurations and features specific to the kernel | 546 | To aggregate common configurations and features specific to the kernel |
@@ -825,11 +825,11 @@ Given this scenario, you do not need to create any branches in the | |||
825 | source repository. Rather, you just take the static patches you need and | 825 | source repository. Rather, you just take the static patches you need and |
826 | encapsulate them within a feature description. Once you have the feature | 826 | encapsulate them within a feature description. Once you have the feature |
827 | description, you simply include that into the BSP description as | 827 | description, you simply include that into the BSP description as |
828 | described in the "`BSP Descriptions <#bsp-descriptions>`__" section. | 828 | described in the ":ref:`kernel-dev/advanced:bsp descriptions`" section. |
829 | 829 | ||
830 | You can find information on how to create patches and BSP descriptions | 830 | You can find information on how to create patches and BSP descriptions |
831 | in the "`Patches <#patches>`__" and "`BSP | 831 | in the ":ref:`kernel-dev/advanced:patches`" and |
832 | Descriptions <#bsp-descriptions>`__" sections. | 832 | ":ref:`kernel-dev/advanced:bsp descriptions`" sections. |
833 | 833 | ||
834 | Machine Branches | 834 | Machine Branches |
835 | ---------------- | 835 | ---------------- |