summaryrefslogtreecommitdiffstats
path: root/documentation/kernel-dev
diff options
context:
space:
mode:
authorQuentin Schulz <foss@0leil.net>2021-04-07 18:07:24 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-04-09 15:24:46 +0100
commitc380ba5a177de32e97820279685c4af6f837c010 (patch)
treec494289cda99f5bb76bad0d9492a3d1104d176d4 /documentation/kernel-dev
parent802ac0b75e42657c7ff9f4ff5b2816c65ad29eea (diff)
downloadpoky-c380ba5a177de32e97820279685c4af6f837c010.tar.gz
docs: replace anchor links
Anchor links are treated by Sphinx as external links and are not checked during build, meaning it is impossible to know if a link becomes broken or not. As a matter of fact, most of the anchor links replaced in this commit were actually broken. The README now states that anchor links are forbidden so that there's no need to go through such a change later on. (From yocto-docs rev: de9e4d26b46afa3c79137d07529a74553400d2e0) Signed-off-by: Quentin Schulz <foss@0leil.net> Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/kernel-dev')
-rw-r--r--documentation/kernel-dev/advanced.rst42
-rw-r--r--documentation/kernel-dev/common.rst44
-rw-r--r--documentation/kernel-dev/intro.rst3
3 files changed, 43 insertions, 46 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----------------
diff --git a/documentation/kernel-dev/common.rst b/documentation/kernel-dev/common.rst
index 3878f831be..56217b9d38 100644
--- a/documentation/kernel-dev/common.rst
+++ b/documentation/kernel-dev/common.rst
@@ -365,8 +365,7 @@ section:
365 365
366At this point, you are ready to start making modifications to the kernel 366At this point, you are ready to start making modifications to the kernel
367using traditional kernel development steps. For a continued example, see 367using traditional kernel development steps. For a continued example, see
368the "`Using Traditional Kernel Development to Patch the 368the ":ref:`kernel-dev/common:using traditional kernel development to patch the kernel`"
369Kernel <#using-traditional-kernel-development-to-patch-the-kernel>`__"
370section. 369section.
371 370
372Creating and Preparing a Layer 371Creating and Preparing a Layer
@@ -463,8 +462,8 @@ Modifying an existing recipe can consist of the following:
463- :ref:`kernel-dev/common:changing the configuration` 462- :ref:`kernel-dev/common:changing the configuration`
464 463
465Before modifying an existing recipe, be sure that you have created a 464Before modifying an existing recipe, be sure that you have created a
466minimal, custom layer from which you can work. See the "`Creating and 465minimal, custom layer from which you can work. See the
467Preparing a Layer <#creating-and-preparing-a-layer>`__" section for 466":ref:`kernel-dev/common:creating and preparing a layer`" section for
468information. 467information.
469 468
470Creating the Append File 469Creating the Append File
@@ -710,7 +709,7 @@ Linux kernel, BitBake detects the change in the recipe and fetches and
710applies the new configuration before building the kernel. 709applies the new configuration before building the kernel.
711 710
712For a detailed example showing how to configure the kernel, see the 711For a detailed example showing how to configure the kernel, see the
713"`Configuring the Kernel <#configuring-the-kernel>`__" section. 712":ref:`kernel-dev/common:configuring the kernel`" section.
714 713
715Using an "In-Tree"  ``defconfig`` File 714Using an "In-Tree"  ``defconfig`` File
716-------------------------------------- 715--------------------------------------
@@ -954,15 +953,14 @@ emulator console output at boot time through ``printk`` statements in
954the kernel's ``calibrate.c`` source code file. Applying the patch and 953the kernel's ``calibrate.c`` source code file. Applying the patch and
955booting the modified image causes the added messages to appear on the 954booting the modified image causes the added messages to appear on the
956emulator's console. The example is a continuation of the setup procedure 955emulator's console. The example is a continuation of the setup procedure
957found in the "`Getting Ready for Traditional Kernel 956found in the
958Development <#getting-ready-for-traditional-kernel-development>`__" 957":ref:`kernel-dev/common:getting ready for traditional kernel development`"
959Section. 958Section.
960 959
9611. *Edit the Source Files* Prior to this step, you should have used Git 9601. *Edit the Source Files* Prior to this step, you should have used Git
962 to create a local copy of the repository for your kernel. Assuming 961 to create a local copy of the repository for your kernel. Assuming
963 you created the repository as directed in the "`Getting Ready for 962 you created the repository as directed in the
964 Traditional Kernel 963 ":ref:`kernel-dev/common:getting ready for traditional kernel development`"
965 Development <#getting-ready-for-traditional-kernel-development>`__"
966 section, use the following commands to edit the ``calibrate.c`` file: 964 section, use the following commands to edit the ``calibrate.c`` file:
967 965
968 1. *Change the working directory*: You need to locate the source 966 1. *Change the working directory*: You need to locate the source
@@ -1104,9 +1102,9 @@ Section.
1104 The :term:`FILESEXTRAPATHS` and :term:`SRC_URI` statements 1102 The :term:`FILESEXTRAPATHS` and :term:`SRC_URI` statements
1105 enable the OpenEmbedded build system to find the patch file. 1103 enable the OpenEmbedded build system to find the patch file.
1106 1104
1107 For more information on append files and patches, see the "`Creating 1105 For more information on append files and patches, see the
1108 the Append File <#creating-the-append-file>`__" and "`Applying 1106 ":ref:`kernel-dev/common:creating the append file`" and
1109 Patches <#applying-patches>`__" sections. You can also see the 1107 ":ref:`kernel-dev/common:applying patches`" sections. You can also see the
1110 ":ref:`dev-manual/common-tasks:using .bbappend files in your layer`" 1108 ":ref:`dev-manual/common-tasks:using .bbappend files in your layer`"
1111 section in the Yocto Project Development Tasks Manual. 1109 section in the Yocto Project Development Tasks Manual.
1112 1110
@@ -1140,8 +1138,8 @@ configuration fragments, and how to interactively modify your
1140``.config`` file to create the leanest kernel configuration file 1138``.config`` file to create the leanest kernel configuration file
1141possible. 1139possible.
1142 1140
1143For more information on kernel configuration, see the "`Changing the 1141For more information on kernel configuration, see the
1144Configuration <#changing-the-configuration>`__" section. 1142":ref:`kernel-dev/common:changing the configuration`" section.
1145 1143
1146Using  ``menuconfig`` 1144Using  ``menuconfig``
1147--------------------- 1145---------------------
@@ -1297,8 +1295,8 @@ created to hold the configuration changes.
1297 applies these on top of and after applying the existing ``defconfig`` file 1295 applies these on top of and after applying the existing ``defconfig`` file
1298 configurations. 1296 configurations.
1299 1297
1300For more information on configuring the kernel, see the "`Changing the 1298For more information on configuring the kernel, see the
1301Configuration <#changing-the-configuration>`__" section. 1299":ref:`kernel-dev/common:changing the configuration`" section.
1302 1300
1303Creating Configuration Fragments 1301Creating Configuration Fragments
1304-------------------------------- 1302--------------------------------
@@ -1369,8 +1367,8 @@ steps:
1369 $ bitbake linux-yocto -c diffconfig 1367 $ bitbake linux-yocto -c diffconfig
1370 1368
1371The ``diffconfig`` command creates a file that is a list of Linux kernel 1369The ``diffconfig`` command creates a file that is a list of Linux kernel
1372``CONFIG_`` assignments. See the "`Changing the 1370``CONFIG_`` assignments. See the
1373Configuration <#changing-the-configuration>`__" section for additional 1371":ref:`kernel-dev/common:changing the configuration`" section for additional
1374information on how to use the output as a configuration fragment. 1372information on how to use the output as a configuration fragment.
1375 1373
1376.. note:: 1374.. note::
@@ -1614,8 +1612,7 @@ source directory. Follow these steps to clean up the version string:
1614 ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`" 1612 ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
1615 section. For 1613 section. For
1616 information on building the kernel image when using Bitbake, see the 1614 information on building the kernel image when using Bitbake, see the
1617 "`Using Traditional Kernel Development to Patch the 1615 ":ref:`kernel-dev/common:using traditional kernel development to patch the kernel`"
1618 Kernel <#using-traditional-kernel-development-to-patch-the-kernel>`__"
1619 section. 1616 section.
1620 1617
1621Working With Your Own Sources 1618Working With Your Own Sources
@@ -1733,8 +1730,9 @@ Here are some basic steps you can use to work with your own sources:
1733 1730
17345. *Customize Your Recipe as Needed:* Provide further customizations to 17315. *Customize Your Recipe as Needed:* Provide further customizations to
1735 your recipe as needed just as you would customize an existing 1732 your recipe as needed just as you would customize an existing
1736 linux-yocto recipe. See the "`Modifying an Existing 1733 linux-yocto recipe. See the
1737 Recipe <#modifying-an-existing-recipe>`__" section for information. 1734 ":ref:`ref-manual/devtool-reference:modifying an existing recipe`" section
1735 for information.
1738 1736
1739Working with Out-of-Tree Modules 1737Working with Out-of-Tree Modules
1740================================ 1738================================
diff --git a/documentation/kernel-dev/intro.rst b/documentation/kernel-dev/intro.rst
index f6c9b97137..5592f74c82 100644
--- a/documentation/kernel-dev/intro.rst
+++ b/documentation/kernel-dev/intro.rst
@@ -90,8 +90,7 @@ understand the following documentation:
90- The ":ref:`dev-manual/common-tasks:understanding and creating layers`" 90- The ":ref:`dev-manual/common-tasks:understanding and creating layers`"
91 section in the Yocto Project Development Tasks Manual. 91 section in the Yocto Project Development Tasks Manual.
92 92
93- The "`Kernel Modification 93- The ":ref:`kernel-dev/intro:kernel modification workflow`" section.
94 Workflow <#kernel-modification-workflow>`__" section.
95 94
96Kernel Modification Workflow 95Kernel Modification Workflow
97============================ 96============================