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