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 | ---------------- |
