diff options
author | Quentin Schulz <foss@0leil.net> | 2021-05-27 20:41:17 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-06-19 16:54:01 +0100 |
commit | 7d3f57cfd2e4322bcd96d67d330124f221a9aedd (patch) | |
tree | 5d07321b7c8bc59bb7fcc0372fab8b7a1966cf06 /documentation/kernel-dev/advanced.rst | |
parent | 7a9b74e9d2a5cf3b1fb3ac7565c50eae6e0d4632 (diff) | |
download | poky-7d3f57cfd2e4322bcd96d67d330124f221a9aedd.tar.gz |
docs: replace ``FOO`` by :term:`FOO` where possible
If a variable has a glossary entry and some rST files write about those
variables, it's better to point to the glossary entry instead of just
highlighting it by surrounding it with two tick quotes.
This was automated by the following python script:
"""
import re
from pathlib import Path
with open('objects.inv.txt', 'r') as f:
objects = f.readlines()
with open('bitbake-objects.inv.txt', 'r') as f:
objects = objects + f.readlines()
re_term = re.compile(r'variables.html#term-([A-Z_0-9]*)')
terms = []
for obj in objects:
match = re_term.search(obj)
if match and match.group(1):
terms.append(match.group(1))
for rst in Path('.').rglob('*.rst'):
with open(rst, 'r') as f:
content = "".joing(f.readlines())
for term in terms:
content = re.sub(r'``({})``(?!.*\s*[~-]+)'.format(term), r':term:`\1`', content)
with open(rst, 'w') as f:
f.write(content)
"""
(From yocto-docs rev: ba49d9babfcb84bc5c26a68c8c3880a1d9c236d3)
Signed-off-by: Quentin Schulz <foss@0leil.net>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Reviewed-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/kernel-dev/advanced.rst')
-rw-r--r-- | documentation/kernel-dev/advanced.rst | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/documentation/kernel-dev/advanced.rst b/documentation/kernel-dev/advanced.rst index 0e745c375d..871ec8ae7b 100644 --- a/documentation/kernel-dev/advanced.rst +++ b/documentation/kernel-dev/advanced.rst | |||
@@ -46,15 +46,15 @@ linux-yocto recipe. | |||
46 | 46 | ||
47 | Every linux-yocto style recipe must define the | 47 | Every linux-yocto style recipe must define the |
48 | :term:`KMACHINE` variable. This | 48 | :term:`KMACHINE` variable. This |
49 | variable is typically set to the same value as the ``MACHINE`` variable, | 49 | variable is typically set to the same value as the :term:`MACHINE` variable, |
50 | which is used by :term:`BitBake`. | 50 | which is used by :term:`BitBake`. |
51 | However, in some cases, the variable might instead refer to the | 51 | However, in some cases, the variable might instead refer to the |
52 | underlying platform of the ``MACHINE``. | 52 | underlying platform of the :term:`MACHINE`. |
53 | 53 | ||
54 | Multiple BSPs can reuse the same ``KMACHINE`` name if they are built | 54 | Multiple BSPs can reuse the same :term:`KMACHINE` name if they are built |
55 | using the same BSP description. Multiple Corei7-based BSPs could share | 55 | 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 :term:`KMACHINE`. It is important to |
57 | realize that ``KMACHINE`` is just for kernel mapping, while ``MACHINE`` | 57 | realize that :term:`KMACHINE` is just for kernel mapping, while :term:`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 | 59 | however, these two variables can hold the same value. See the |
60 | ":ref:`kernel-dev/advanced:bsp descriptions`" section for more information. | 60 | ":ref:`kernel-dev/advanced:bsp descriptions`" section for more information. |
@@ -66,7 +66,7 @@ to indicate the branch. | |||
66 | 66 | ||
67 | .. note:: | 67 | .. note:: |
68 | 68 | ||
69 | You can use the ``KBRANCH`` value to define an alternate branch typically | 69 | You can use the :term:`KBRANCH` value to define an alternate branch typically |
70 | with a machine override as shown here from the ``meta-yocto-bsp`` layer:: | 70 | with a machine override as shown here from the ``meta-yocto-bsp`` layer:: |
71 | 71 | ||
72 | KBRANCH_edgerouter = "standard/edgerouter" | 72 | KBRANCH_edgerouter = "standard/edgerouter" |
@@ -81,8 +81,8 @@ variables: | |||
81 | 81 | ||
82 | :term:`LINUX_KERNEL_TYPE` | 82 | :term:`LINUX_KERNEL_TYPE` |
83 | defines the kernel type to be used in assembling the configuration. If | 83 | defines the kernel type to be used in assembling the configuration. If |
84 | you do not specify a ``LINUX_KERNEL_TYPE``, it defaults to "standard". | 84 | you do not specify a :term:`LINUX_KERNEL_TYPE`, it defaults to "standard". |
85 | Together with ``KMACHINE``, ``LINUX_KERNEL_TYPE`` defines the search | 85 | Together with :term:`KMACHINE`, :term:`LINUX_KERNEL_TYPE` defines the search |
86 | arguments used by the kernel tools to find the appropriate description | 86 | arguments used by the kernel tools to find the appropriate description |
87 | within the kernel Metadata with which to build out the sources and | 87 | within the kernel Metadata with which to build out the sources and |
88 | configuration. The linux-yocto recipes define "standard", "tiny", and | 88 | configuration. The linux-yocto recipes define "standard", "tiny", and |
@@ -90,21 +90,21 @@ configuration. The linux-yocto recipes define "standard", "tiny", and | |||
90 | section for more information on kernel types. | 90 | section for more information on kernel types. |
91 | 91 | ||
92 | During the build, the kern-tools search for the BSP description file | 92 | During the build, the kern-tools search for the BSP description file |
93 | that most closely matches the ``KMACHINE`` and ``LINUX_KERNEL_TYPE`` | 93 | that most closely matches the :term:`KMACHINE` and :term:`LINUX_KERNEL_TYPE` |
94 | variables passed in from the recipe. The tools use the first BSP | 94 | variables passed in from the recipe. The tools use the first BSP |
95 | description they find that matches both variables. If the tools cannot find | 95 | description they find that matches both variables. If the tools cannot find |
96 | a match, they issue a warning. | 96 | a match, they issue a warning. |
97 | 97 | ||
98 | The tools first search for the ``KMACHINE`` and then for the | 98 | The tools first search for the :term:`KMACHINE` and then for the |
99 | ``LINUX_KERNEL_TYPE``. If the tools cannot find a partial match, they | 99 | :term:`LINUX_KERNEL_TYPE`. If the tools cannot find a partial match, they |
100 | will use the sources from the ``KBRANCH`` and any configuration | 100 | will use the sources from the :term:`KBRANCH` and any configuration |
101 | specified in the :term:`SRC_URI`. | 101 | specified in the :term:`SRC_URI`. |
102 | 102 | ||
103 | You can use the | 103 | You can use the |
104 | :term:`KERNEL_FEATURES` | 104 | :term:`KERNEL_FEATURES` |
105 | variable to include features (configuration fragments, patches, or both) | 105 | variable to include features (configuration fragments, patches, or both) |
106 | that are not already included by the ``KMACHINE`` and | 106 | that are not already included by the :term:`KMACHINE` and |
107 | ``LINUX_KERNEL_TYPE`` variable combination. For example, to include a | 107 | :term:`LINUX_KERNEL_TYPE` variable combination. For example, to include a |
108 | feature specified as "features/netfilter/netfilter.scc", specify:: | 108 | feature specified as "features/netfilter/netfilter.scc", specify:: |
109 | 109 | ||
110 | KERNEL_FEATURES += "features/netfilter/netfilter.scc" | 110 | KERNEL_FEATURES += "features/netfilter/netfilter.scc" |
@@ -116,7 +116,7 @@ specify:: | |||
116 | KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc" | 116 | KERNEL_FEATURES_append_qemux86 = " cfg/sound.scc" |
117 | 117 | ||
118 | The value of | 118 | The value of |
119 | the entries in ``KERNEL_FEATURES`` are dependent on their location | 119 | the entries in :term:`KERNEL_FEATURES` are dependent on their location |
120 | within the kernel Metadata itself. The examples here are taken from the | 120 | within the kernel Metadata itself. The examples here are taken from the |
121 | ``yocto-kernel-cache`` repository. Each branch of this repository | 121 | ``yocto-kernel-cache`` repository. Each branch of this repository |
122 | contains "features" and "cfg" subdirectories at the top-level. For more | 122 | contains "features" and "cfg" subdirectories at the top-level. For more |
@@ -344,7 +344,7 @@ as how an additional feature description file is included with the | |||
344 | 344 | ||
345 | Typically, features are less granular than configuration fragments and | 345 | Typically, features are less granular than configuration fragments and |
346 | are more likely than configuration fragments and patches to be the types | 346 | are more likely than configuration fragments and patches to be the types |
347 | of things you want to specify in the ``KERNEL_FEATURES`` variable of the | 347 | of things you want to specify in the :term:`KERNEL_FEATURES` variable of the |
348 | Linux kernel recipe. See the | 348 | Linux kernel recipe. See the |
349 | ":ref:`kernel-dev/advanced:using kernel metadata in a recipe`" section earlier | 349 | ":ref:`kernel-dev/advanced:using kernel metadata in a recipe`" section earlier |
350 | in the manual. | 350 | in the manual. |
@@ -509,12 +509,12 @@ description as meeting the criteria set by the recipe being built. This | |||
509 | example supports the "beaglebone" machine for the "standard" kernel and | 509 | example supports the "beaglebone" machine for the "standard" kernel and |
510 | the "arm" architecture. | 510 | the "arm" architecture. |
511 | 511 | ||
512 | Be aware that there is no hard link between the ``KTYPE`` variable and a kernel | 512 | Be aware that there is no hard link between the :term:`KTYPE` variable and a kernel |
513 | type description file. Thus, if you do not have the | 513 | type description file. Thus, if you do not have the |
514 | kernel type defined in your kernel Metadata as it is here, you only need | 514 | kernel type defined in your kernel Metadata as it is here, you only need |
515 | to ensure that the | 515 | to ensure that the |
516 | :term:`LINUX_KERNEL_TYPE` | 516 | :term:`LINUX_KERNEL_TYPE` |
517 | variable in the kernel recipe and the ``KTYPE`` variable in the BSP | 517 | variable in the kernel recipe and the :term:`KTYPE` variable in the BSP |
518 | description file match. | 518 | description file match. |
519 | 519 | ||
520 | To separate your kernel policy from your hardware configuration, you | 520 | To separate your kernel policy from your hardware configuration, you |
@@ -657,7 +657,7 @@ Notice again the three critical variables: | |||
657 | :term:`KMACHINE`, | 657 | :term:`KMACHINE`, |
658 | :term:`KTYPE`, and | 658 | :term:`KTYPE`, and |
659 | :term:`KARCH`. Of these variables, only | 659 | :term:`KARCH`. Of these variables, only |
660 | ``KTYPE`` has changed to specify the "tiny" kernel type. | 660 | :term:`KTYPE` has changed to specify the "tiny" kernel type. |
661 | 661 | ||
662 | Kernel Metadata Location | 662 | Kernel Metadata Location |
663 | ======================== | 663 | ======================== |
@@ -693,7 +693,7 @@ directory hierarchy below | |||
693 | a linux-yocto recipe or for a Linux kernel recipe derived by copying and | 693 | a linux-yocto recipe or for a Linux kernel recipe derived by copying and |
694 | modifying | 694 | modifying |
695 | ``oe-core/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb`` to | 695 | ``oe-core/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb`` to |
696 | a recipe in your layer, ``FILESEXTRAPATHS`` is typically set to | 696 | a recipe in your layer, :term:`FILESEXTRAPATHS` is typically set to |
697 | ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}``. | 697 | ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}``. |
698 | See the ":ref:`kernel-dev/common:modifying an existing recipe`" | 698 | See the ":ref:`kernel-dev/common:modifying an existing recipe`" |
699 | section for more information. | 699 | section for more information. |
@@ -718,10 +718,10 @@ and fetches any files referenced in the ``.scc`` files by the | |||
718 | ``include``, ``patch``, or ``kconf`` commands. Because of this, it is | 718 | ``include``, ``patch``, or ``kconf`` commands. Because of this, it is |
719 | necessary to bump the recipe :term:`PR` | 719 | necessary to bump the recipe :term:`PR` |
720 | value when changing the content of files not explicitly listed in the | 720 | value when changing the content of files not explicitly listed in the |
721 | ``SRC_URI``. | 721 | :term:`SRC_URI`. |
722 | 722 | ||
723 | If the BSP description is in recipe space, you cannot simply list the | 723 | If the BSP description is in recipe space, you cannot simply list the |
724 | ``*.scc`` in the ``SRC_URI`` statement. You need to use the following | 724 | ``*.scc`` in the :term:`SRC_URI` statement. You need to use the following |
725 | form from your kernel append file:: | 725 | form from your kernel append file:: |
726 | 726 | ||
727 | SRC_URI_append_myplatform = " \ | 727 | SRC_URI_append_myplatform = " \ |
@@ -735,7 +735,7 @@ When stored outside of the recipe-space, the kernel Metadata files | |||
735 | reside in a separate repository. The OpenEmbedded build system adds the | 735 | reside in a separate repository. The OpenEmbedded build system adds the |
736 | Metadata to the build as a "type=kmeta" repository through the | 736 | Metadata to the build as a "type=kmeta" repository through the |
737 | :term:`SRC_URI` variable. As an | 737 | :term:`SRC_URI` variable. As an |
738 | example, consider the following ``SRC_URI`` statement from the | 738 | example, consider the following :term:`SRC_URI` statement from the |
739 | ``linux-yocto_4.12.bb`` kernel recipe:: | 739 | ``linux-yocto_4.12.bb`` kernel recipe:: |
740 | 740 | ||
741 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.12.git;name=machine;branch=${KBRANCH}; \ | 741 | SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.12.git;name=machine;branch=${KBRANCH}; \ |
@@ -744,20 +744,20 @@ example, consider the following ``SRC_URI`` statement from the | |||
744 | 744 | ||
745 | ``${KMETA}``, in this context, is simply used to name the directory into | 745 | ``${KMETA}``, in this context, is simply used to name the directory into |
746 | which the Git fetcher places the Metadata. This behavior is no different | 746 | which the Git fetcher places the Metadata. This behavior is no different |
747 | than any multi-repository ``SRC_URI`` statement used in a recipe (e.g. | 747 | than any multi-repository :term:`SRC_URI` statement used in a recipe (e.g. |
748 | see the previous section). | 748 | see the previous section). |
749 | 749 | ||
750 | You can keep kernel Metadata in a "kernel-cache", which is a directory | 750 | You can keep kernel Metadata in a "kernel-cache", which is a directory |
751 | containing configuration fragments. As with any Metadata kept outside | 751 | containing configuration fragments. As with any Metadata kept outside |
752 | the recipe-space, you simply need to use the ``SRC_URI`` statement with | 752 | the recipe-space, you simply need to use the :term:`SRC_URI` statement with |
753 | the "type=kmeta" attribute. Doing so makes the kernel Metadata available | 753 | the "type=kmeta" attribute. Doing so makes the kernel Metadata available |
754 | during the configuration phase. | 754 | during the configuration phase. |
755 | 755 | ||
756 | If you modify the Metadata, you must not forget to update the ``SRCREV`` | 756 | If you modify the Metadata, you must not forget to update the :term:`SRCREV` |
757 | statements in the kernel's recipe. In particular, you need to update the | 757 | statements in the kernel's recipe. In particular, you need to update the |
758 | ``SRCREV_meta`` variable to match the commit in the ``KMETA`` branch you | 758 | ``SRCREV_meta`` variable to match the commit in the ``KMETA`` branch you |
759 | wish to use. Changing the data in these branches and not updating the | 759 | wish to use. Changing the data in these branches and not updating the |
760 | ``SRCREV`` statements to match will cause the build to fetch an older | 760 | :term:`SRCREV` statements to match will cause the build to fetch an older |
761 | commit. | 761 | commit. |
762 | 762 | ||
763 | Organizing Your Source | 763 | Organizing Your Source |
@@ -820,7 +820,7 @@ patches into a feature. | |||
820 | 820 | ||
821 | Once you have a new branch, you can set up your kernel Metadata to use | 821 | Once you have a new branch, you can set up your kernel Metadata to use |
822 | the branch a couple different ways. In the recipe, you can specify the | 822 | the branch a couple different ways. In the recipe, you can specify the |
823 | new branch as the ``KBRANCH`` to use for the board as follows:: | 823 | new branch as the :term:`KBRANCH` to use for the board as follows:: |
824 | 824 | ||
825 | KBRANCH = "mynewbranch" | 825 | KBRANCH = "mynewbranch" |
826 | 826 | ||