diff options
Diffstat (limited to 'documentation/kernel-dev')
| -rw-r--r-- | documentation/kernel-dev/advanced.rst | 56 | ||||
| -rw-r--r-- | documentation/kernel-dev/common.rst | 52 | ||||
| -rw-r--r-- | documentation/kernel-dev/faq.rst | 2 | ||||
| -rw-r--r-- | documentation/kernel-dev/maint-appx.rst | 2 |
4 files changed, 56 insertions, 56 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 | ||
diff --git a/documentation/kernel-dev/common.rst b/documentation/kernel-dev/common.rst index f64cbab56c..de62df5b1f 100644 --- a/documentation/kernel-dev/common.rst +++ b/documentation/kernel-dev/common.rst | |||
| @@ -70,7 +70,7 @@ section: | |||
| 70 | :term:`MACHINE` variable is set to | 70 | :term:`MACHINE` variable is set to |
| 71 | "qemux86-64", which is fine if you are building for the QEMU emulator | 71 | "qemux86-64", which is fine if you are building for the QEMU emulator |
| 72 | in 64-bit mode. However, if you are not, you need to set the | 72 | in 64-bit mode. However, if you are not, you need to set the |
| 73 | ``MACHINE`` variable appropriately in your ``conf/local.conf`` file | 73 | :term:`MACHINE` variable appropriately in your ``conf/local.conf`` file |
| 74 | found in the | 74 | found in the |
| 75 | :term:`Build Directory` (i.e. | 75 | :term:`Build Directory` (i.e. |
| 76 | ``poky/build`` in this example). | 76 | ``poky/build`` in this example). |
| @@ -248,7 +248,7 @@ section: | |||
| 248 | :term:`MACHINE` variable is set to | 248 | :term:`MACHINE` variable is set to |
| 249 | "qemux86-64", which is fine if you are building for the QEMU emulator | 249 | "qemux86-64", which is fine if you are building for the QEMU emulator |
| 250 | in 64-bit mode. However, if you are not, you need to set the | 250 | in 64-bit mode. However, if you are not, you need to set the |
| 251 | ``MACHINE`` variable appropriately in your ``conf/local.conf`` file | 251 | :term:`MACHINE` variable appropriately in your ``conf/local.conf`` file |
| 252 | found in the | 252 | found in the |
| 253 | :term:`Build Directory` (i.e. | 253 | :term:`Build Directory` (i.e. |
| 254 | ``poky/build`` in this example). | 254 | ``poky/build`` in this example). |
| @@ -474,7 +474,7 @@ variable as follows:: | |||
| 474 | The path ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}`` | 474 | The path ``${``\ :term:`THISDIR`\ ``}/${``\ :term:`PN`\ ``}`` |
| 475 | expands to "linux-yocto" in the current directory for this example. If | 475 | expands to "linux-yocto" in the current directory for this example. If |
| 476 | you add any new files that modify the kernel recipe and you have | 476 | you add any new files that modify the kernel recipe and you have |
| 477 | extended ``FILESPATH`` as described above, you must place the files in | 477 | extended :term:`FILESPATH` as described above, you must place the files in |
| 478 | your layer in the following area:: | 478 | your layer in the following area:: |
| 479 | 479 | ||
| 480 | your-layer/recipes-kernel/linux/linux-yocto/ | 480 | your-layer/recipes-kernel/linux/linux-yocto/ |
| @@ -553,7 +553,7 @@ the append file. | |||
| 553 | 553 | ||
| 554 | For example, suppose you had some configuration options in a file called | 554 | For example, suppose you had some configuration options in a file called |
| 555 | ``network_configs.cfg``. You can place that file inside a directory | 555 | ``network_configs.cfg``. You can place that file inside a directory |
| 556 | named ``linux-yocto`` and then add a ``SRC_URI`` statement such as the | 556 | named ``linux-yocto`` and then add a :term:`SRC_URI` statement such as the |
| 557 | following to the append file. When the OpenEmbedded build system builds | 557 | following to the append file. When the OpenEmbedded build system builds |
| 558 | the kernel, the configuration options are picked up and applied. | 558 | the kernel, the configuration options are picked up and applied. |
| 559 | :: | 559 | :: |
| @@ -563,7 +563,7 @@ the kernel, the configuration options are picked up and applied. | |||
| 563 | To group related configurations into multiple files, you perform a | 563 | To group related configurations into multiple files, you perform a |
| 564 | similar procedure. Here is an example that groups separate | 564 | similar procedure. Here is an example that groups separate |
| 565 | configurations specifically for Ethernet and graphics into their own | 565 | configurations specifically for Ethernet and graphics into their own |
| 566 | files and adds the configurations by using a ``SRC_URI`` statement like | 566 | files and adds the configurations by using a :term:`SRC_URI` statement like |
| 567 | the following in your append file:: | 567 | the following in your append file:: |
| 568 | 568 | ||
| 569 | SRC_URI += "file://myconfig.cfg \ | 569 | SRC_URI += "file://myconfig.cfg \ |
| @@ -643,7 +643,7 @@ following lines to the linux-yocto ``.bbappend`` file in your layer:: | |||
| 643 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 643 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
| 644 | SRC_URI += "file://defconfig" | 644 | SRC_URI += "file://defconfig" |
| 645 | 645 | ||
| 646 | The ``SRC_URI`` tells the build system how to search | 646 | The :term:`SRC_URI` tells the build system how to search |
| 647 | for the file, while the | 647 | for the file, while the |
| 648 | :term:`FILESEXTRAPATHS` | 648 | :term:`FILESEXTRAPATHS` |
| 649 | extends the :term:`FILESPATH` | 649 | extends the :term:`FILESPATH` |
| @@ -684,7 +684,7 @@ with the following content (without indentation):: | |||
| 684 | CONFIG_SERIAL_CORE_CONSOLE=y | 684 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 685 | 685 | ||
| 686 | Next, include this | 686 | Next, include this |
| 687 | configuration fragment and extend the ``FILESPATH`` variable in your | 687 | configuration fragment and extend the :term:`FILESPATH` variable in your |
| 688 | ``.bbappend`` file:: | 688 | ``.bbappend`` file:: |
| 689 | 689 | ||
| 690 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | 690 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" |
| @@ -722,7 +722,7 @@ form:: | |||
| 722 | KBUILD_DEFCONFIG_KMACHINE ?= "defconfig_file" | 722 | KBUILD_DEFCONFIG_KMACHINE ?= "defconfig_file" |
| 723 | 723 | ||
| 724 | Here is an example | 724 | Here is an example |
| 725 | that assigns the ``KBUILD_DEFCONFIG`` variable based on "raspberrypi2" | 725 | that assigns the :term:`KBUILD_DEFCONFIG` variable based on "raspberrypi2" |
| 726 | and provides the path to the "in-tree" ``defconfig`` file to be used for | 726 | and provides the path to the "in-tree" ``defconfig`` file to be used for |
| 727 | a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset:: | 727 | a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset:: |
| 728 | 728 | ||
| @@ -734,7 +734,7 @@ Aside from modifying your kernel recipe and providing your own | |||
| 734 | a kernel's ``linux-``\ `machine`\ ``.inc`` file). In other words, if the | 734 | a kernel's ``linux-``\ `machine`\ ``.inc`` file). In other words, if the |
| 735 | build system detects a statement that identifies an "out-of-tree" | 735 | build system detects a statement that identifies an "out-of-tree" |
| 736 | ``defconfig`` file, that statement will override your | 736 | ``defconfig`` file, that statement will override your |
| 737 | ``KBUILD_DEFCONFIG`` variable. | 737 | :term:`KBUILD_DEFCONFIG` variable. |
| 738 | 738 | ||
| 739 | See the | 739 | See the |
| 740 | :term:`KBUILD_DEFCONFIG` | 740 | :term:`KBUILD_DEFCONFIG` |
| @@ -1349,10 +1349,10 @@ be picked up and applied when the kernel is built:: | |||
| 1349 | SRC_URI += "file://myconfig.cfg" | 1349 | SRC_URI += "file://myconfig.cfg" |
| 1350 | 1350 | ||
| 1351 | As mentioned earlier, you can group related configurations into multiple | 1351 | As mentioned earlier, you can group related configurations into multiple |
| 1352 | files and name them all in the ``SRC_URI`` statement as well. For | 1352 | files and name them all in the :term:`SRC_URI` statement as well. For |
| 1353 | example, you could group separate configurations specifically for | 1353 | example, you could group separate configurations specifically for |
| 1354 | Ethernet and graphics into their own files and add those by using a | 1354 | Ethernet and graphics into their own files and add those by using a |
| 1355 | ``SRC_URI`` statement like the following in your append file:: | 1355 | :term:`SRC_URI` statement like the following in your append file:: |
| 1356 | 1356 | ||
| 1357 | SRC_URI += "file://myconfig.cfg \ | 1357 | SRC_URI += "file://myconfig.cfg \ |
| 1358 | file://eth.cfg \ | 1358 | file://eth.cfg \ |
| @@ -1628,11 +1628,11 @@ Here are some basic steps you can use to work with your own sources: | |||
| 1628 | appropriate for your project: | 1628 | appropriate for your project: |
| 1629 | 1629 | ||
| 1630 | - :term:`SRC_URI`: The | 1630 | - :term:`SRC_URI`: The |
| 1631 | ``SRC_URI`` should specify a Git repository that uses one of the | 1631 | :term:`SRC_URI` should specify a Git repository that uses one of the |
| 1632 | supported Git fetcher protocols (i.e. ``file``, ``git``, ``http``, | 1632 | supported Git fetcher protocols (i.e. ``file``, ``git``, ``http``, |
| 1633 | and so forth). The ``SRC_URI`` variable should also specify either | 1633 | and so forth). The :term:`SRC_URI` variable should also specify either |
| 1634 | a ``defconfig`` file or some configuration fragment files. The | 1634 | a ``defconfig`` file or some configuration fragment files. The |
| 1635 | skeleton recipe provides an example ``SRC_URI`` as a syntax | 1635 | skeleton recipe provides an example :term:`SRC_URI` as a syntax |
| 1636 | reference. | 1636 | reference. |
| 1637 | 1637 | ||
| 1638 | - :term:`LINUX_VERSION`: | 1638 | - :term:`LINUX_VERSION`: |
| @@ -1650,16 +1650,16 @@ Here are some basic steps you can use to work with your own sources: | |||
| 1650 | indicate to the OpenEmbedded build system that the recipe has | 1650 | indicate to the OpenEmbedded build system that the recipe has |
| 1651 | changed. | 1651 | changed. |
| 1652 | 1652 | ||
| 1653 | - :term:`PV`: The default ``PV`` | 1653 | - :term:`PV`: The default :term:`PV` |
| 1654 | assignment is typically adequate. It combines the | 1654 | assignment is typically adequate. It combines the |
| 1655 | ``LINUX_VERSION`` with the Source Control Manager (SCM) revision | 1655 | :term:`LINUX_VERSION` with the Source Control Manager (SCM) revision |
| 1656 | as derived from the :term:`SRCPV` | 1656 | as derived from the :term:`SRCPV` |
| 1657 | variable. The combined results are a string with the following | 1657 | variable. The combined results are a string with the following |
| 1658 | form:: | 1658 | form:: |
| 1659 | 1659 | ||
| 1660 | 3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2 | 1660 | 3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2 |
| 1661 | 1661 | ||
| 1662 | While lengthy, the extra verbosity in ``PV`` helps ensure you are | 1662 | While lengthy, the extra verbosity in :term:`PV` helps ensure you are |
| 1663 | using the exact sources from which you intend to build. | 1663 | using the exact sources from which you intend to build. |
| 1664 | 1664 | ||
| 1665 | - :term:`COMPATIBLE_MACHINE`: | 1665 | - :term:`COMPATIBLE_MACHINE`: |
| @@ -1773,7 +1773,7 @@ information to build modules. If your module ``Makefile`` uses a | |||
| 1773 | different variable, you might want to override the | 1773 | different variable, you might want to override the |
| 1774 | :ref:`ref-tasks-compile` step, or | 1774 | :ref:`ref-tasks-compile` step, or |
| 1775 | create a patch to the ``Makefile`` to work with the more typical | 1775 | create a patch to the ``Makefile`` to work with the more typical |
| 1776 | ``KERNEL_SRC`` or ``KERNEL_PATH`` variables. | 1776 | :term:`KERNEL_SRC` or :term:`KERNEL_PATH` variables. |
| 1777 | 1777 | ||
| 1778 | After you have prepared your recipe, you will likely want to include the | 1778 | After you have prepared your recipe, you will likely want to include the |
| 1779 | module in your images. To do this, see the documentation for the | 1779 | module in your images. To do this, see the documentation for the |
| @@ -1886,23 +1886,23 @@ build stops. Kernel features are the last elements processed for | |||
| 1886 | configuring and patching the kernel. Therefore, adding features in this | 1886 | configuring and patching the kernel. Therefore, adding features in this |
| 1887 | manner is a way to enforce specific features are present and enabled | 1887 | manner is a way to enforce specific features are present and enabled |
| 1888 | without needing to do a full audit of any other layer's additions to the | 1888 | without needing to do a full audit of any other layer's additions to the |
| 1889 | ``SRC_URI`` statement. | 1889 | :term:`SRC_URI` statement. |
| 1890 | 1890 | ||
| 1891 | You add a kernel feature by providing the feature as part of the | 1891 | You add a kernel feature by providing the feature as part of the |
| 1892 | ``KERNEL_FEATURES`` variable and by providing the path to the feature's | 1892 | :term:`KERNEL_FEATURES` variable and by providing the path to the feature's |
| 1893 | ``.scc`` file, which is relative to the root of the kernel Metadata. The | 1893 | ``.scc`` file, which is relative to the root of the kernel Metadata. The |
| 1894 | OpenEmbedded build system searches all forms of kernel Metadata on the | 1894 | OpenEmbedded build system searches all forms of kernel Metadata on the |
| 1895 | ``SRC_URI`` statement regardless of whether the Metadata is in the | 1895 | :term:`SRC_URI` statement regardless of whether the Metadata is in the |
| 1896 | "kernel-cache", system kernel Metadata, or a recipe-space Metadata (i.e. | 1896 | "kernel-cache", system kernel Metadata, or a recipe-space Metadata (i.e. |
| 1897 | part of the kernel recipe). See the | 1897 | part of the kernel recipe). See the |
| 1898 | ":ref:`kernel-dev/advanced:kernel metadata location`" section for | 1898 | ":ref:`kernel-dev/advanced:kernel metadata location`" section for |
| 1899 | additional information. | 1899 | additional information. |
| 1900 | 1900 | ||
| 1901 | When you specify the feature's ``.scc`` file on the ``SRC_URI`` | 1901 | When you specify the feature's ``.scc`` file on the :term:`SRC_URI` |
| 1902 | statement, the OpenEmbedded build system adds the directory of that | 1902 | statement, the OpenEmbedded build system adds the directory of that |
| 1903 | ``.scc`` file along with all its subdirectories to the kernel feature | 1903 | ``.scc`` file along with all its subdirectories to the kernel feature |
| 1904 | search path. Because subdirectories are searched, you can reference a | 1904 | search path. Because subdirectories are searched, you can reference a |
| 1905 | single ``.scc`` file in the ``SRC_URI`` statement to reference multiple | 1905 | single ``.scc`` file in the :term:`SRC_URI` statement to reference multiple |
| 1906 | kernel features. | 1906 | kernel features. |
| 1907 | 1907 | ||
| 1908 | Consider the following example that adds the "test.scc" feature to the | 1908 | Consider the following example that adds the "test.scc" feature to the |
| @@ -1910,7 +1910,7 @@ build. | |||
| 1910 | 1910 | ||
| 1911 | 1. *Create the Feature File:* Create a ``.scc`` file and locate it just | 1911 | 1. *Create the Feature File:* Create a ``.scc`` file and locate it just |
| 1912 | as you would any other patch file, ``.cfg`` file, or fetcher item you | 1912 | as you would any other patch file, ``.cfg`` file, or fetcher item you |
| 1913 | specify in the ``SRC_URI`` statement. | 1913 | specify in the :term:`SRC_URI` statement. |
| 1914 | 1914 | ||
| 1915 | .. note:: | 1915 | .. note:: |
| 1916 | 1916 | ||
| @@ -1937,7 +1937,7 @@ build. | |||
| 1937 | a similarly named configuration fragment file ``test.cfg``. | 1937 | a similarly named configuration fragment file ``test.cfg``. |
| 1938 | 1938 | ||
| 1939 | 2. *Add the Feature File to SRC_URI:* Add the ``.scc`` file to the | 1939 | 2. *Add the Feature File to SRC_URI:* Add the ``.scc`` file to the |
| 1940 | recipe's ``SRC_URI`` statement:: | 1940 | recipe's :term:`SRC_URI` statement:: |
| 1941 | 1941 | ||
| 1942 | SRC_URI_append = " file://test.scc" | 1942 | SRC_URI_append = " file://test.scc" |
| 1943 | 1943 | ||
| @@ -1945,7 +1945,7 @@ build. | |||
| 1945 | appended to the existing path. | 1945 | appended to the existing path. |
| 1946 | 1946 | ||
| 1947 | 3. *Specify the Feature as a Kernel Feature:* Use the | 1947 | 3. *Specify the Feature as a Kernel Feature:* Use the |
| 1948 | ``KERNEL_FEATURES`` statement to specify the feature as a kernel | 1948 | :term:`KERNEL_FEATURES` statement to specify the feature as a kernel |
| 1949 | feature:: | 1949 | feature:: |
| 1950 | 1950 | ||
| 1951 | KERNEL_FEATURES_append = " test.scc" | 1951 | KERNEL_FEATURES_append = " test.scc" |
diff --git a/documentation/kernel-dev/faq.rst b/documentation/kernel-dev/faq.rst index cffd1c4330..f0a7af37bb 100644 --- a/documentation/kernel-dev/faq.rst +++ b/documentation/kernel-dev/faq.rst | |||
| @@ -68,7 +68,7 @@ How do I change the Linux kernel command line? | |||
| 68 | ---------------------------------------------- | 68 | ---------------------------------------------- |
| 69 | 69 | ||
| 70 | The Linux kernel command line is | 70 | The Linux kernel command line is |
| 71 | typically specified in the machine config using the ``APPEND`` variable. | 71 | typically specified in the machine config using the :term:`APPEND` variable. |
| 72 | For example, you can add some helpful debug information doing the | 72 | For example, you can add some helpful debug information doing the |
| 73 | following:: | 73 | following:: |
| 74 | 74 | ||
diff --git a/documentation/kernel-dev/maint-appx.rst b/documentation/kernel-dev/maint-appx.rst index 3354de5f0c..d968c856f6 100644 --- a/documentation/kernel-dev/maint-appx.rst +++ b/documentation/kernel-dev/maint-appx.rst | |||
| @@ -104,7 +104,7 @@ patch, or BSP: | |||
| 104 | repository organized under the "Yocto Linux Kernel" heading in the | 104 | repository organized under the "Yocto Linux Kernel" heading in the |
| 105 | :yocto_git:`Yocto Project Source Repositories <>`. | 105 | :yocto_git:`Yocto Project Source Repositories <>`. |
| 106 | 106 | ||
| 107 | - Areas pointed to by ``SRC_URI`` statements found in kernel recipes. | 107 | - Areas pointed to by :term:`SRC_URI` statements found in kernel recipes. |
| 108 | 108 | ||
| 109 | For a typical build, the target of the search is a feature | 109 | For a typical build, the target of the search is a feature |
| 110 | description in an ``.scc`` file whose name follows this format (e.g. | 110 | description in an ``.scc`` file whose name follows this format (e.g. |
