diff options
| author | Quentin Schulz <foss@0leil.net> | 2020-10-26 18:50:27 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-04 10:55:02 +0000 |
| commit | c05ff1dc60b9013b00c741907a62235440c531bf (patch) | |
| tree | 63d1c1aedc09da7629c569010a9a03841f04ba6d /documentation/kernel-dev/kernel-dev-common.rst | |
| parent | 3362474c3e9f22fe635bfc992ec7b9d000f9ce1a (diff) | |
| download | poky-c05ff1dc60b9013b00c741907a62235440c531bf.tar.gz | |
docs: kernel-dev: fix typos, highlights and links
(From yocto-docs rev: 35bf202fb725ce9f0ae28023e36bb8568ac3885d)
Signed-off-by: Quentin Schulz <foss@0leil.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit a69247321ff34cb0a2b9a8cc62020ec7f3aad834)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/kernel-dev/kernel-dev-common.rst')
| -rw-r--r-- | documentation/kernel-dev/kernel-dev-common.rst | 333 |
1 files changed, 143 insertions, 190 deletions
diff --git a/documentation/kernel-dev/kernel-dev-common.rst b/documentation/kernel-dev/kernel-dev-common.rst index 64235f3803..370acf1388 100644 --- a/documentation/kernel-dev/kernel-dev-common.rst +++ b/documentation/kernel-dev/kernel-dev-common.rst | |||
| @@ -33,12 +33,10 @@ Source Directory. | |||
| 33 | 33 | ||
| 34 | Be sure you check out the appropriate development branch or you | 34 | Be sure you check out the appropriate development branch or you |
| 35 | create your local branch by checking out a specific tag to get the | 35 | create your local branch by checking out a specific tag to get the |
| 36 | desired version of Yocto Project. See the " | 36 | desired version of Yocto Project. See the |
| 37 | Checking Out by Branch in Poky | 37 | ":ref:`dev-manual/dev-manual-start:checking out by branch in poky`" and |
| 38 | " and " | 38 | ":ref:`dev-manual/dev-manual-start:checking out by tag in poky`" |
| 39 | Checking Out by Tag in Poky | 39 | sections in the Yocto Project Development Tasks Manual for more information. |
| 40 | " sections in the Yocto Project Development Tasks Manual for more | ||
| 41 | information. | ||
| 42 | 40 | ||
| 43 | Kernel development is best accomplished using | 41 | Kernel development is best accomplished using |
| 44 | :ref:`devtool <sdk-manual/sdk-extensible:using \`\`devtool\`\` in your sdk workflow>` | 42 | :ref:`devtool <sdk-manual/sdk-extensible:using \`\`devtool\`\` in your sdk workflow>` |
| @@ -50,8 +48,8 @@ Getting Ready to Develop Using ``devtool`` | |||
| 50 | 48 | ||
| 51 | Follow these steps to prepare to update the kernel image using | 49 | Follow these steps to prepare to update the kernel image using |
| 52 | ``devtool``. Completing this procedure leaves you with a clean kernel | 50 | ``devtool``. Completing this procedure leaves you with a clean kernel |
| 53 | image and ready to make modifications as described in the " | 51 | image and ready to make modifications as described in the |
| 54 | :ref:`kernel-dev/kernel-dev-common:using \`\`devtool\`\` to patch the kernel`" | 52 | ":ref:`kernel-dev/kernel-dev-common:using \`\`devtool\`\` to patch the kernel`" |
| 55 | section: | 53 | section: |
| 56 | 54 | ||
| 57 | 1. *Initialize the BitBake Environment:* Before building an extensible | 55 | 1. *Initialize the BitBake Environment:* Before building an extensible |
| @@ -65,10 +63,8 @@ section: | |||
| 65 | .. note:: | 63 | .. note:: |
| 66 | 64 | ||
| 67 | The previous commands assume the | 65 | The previous commands assume the |
| 68 | Source Repositories | 66 | :ref:`overview-manual/overview-manual-development-environment:yocto project source repositories` |
| 69 | (i.e. | 67 | (i.e. ``poky``) have been cloned using Git and the local repository is named |
| 70 | poky | ||
| 71 | ) have been cloned using Git and the local repository is named | ||
| 72 | "poky". | 68 | "poky". |
| 73 | 69 | ||
| 74 | 2. *Prepare Your local.conf File:* By default, the | 70 | 2. *Prepare Your local.conf File:* By default, the |
| @@ -107,18 +103,15 @@ section: | |||
| 107 | .. note:: | 103 | .. note:: |
| 108 | 104 | ||
| 109 | For background information on working with common and BSP layers, | 105 | For background information on working with common and BSP layers, |
| 110 | see the " | 106 | see the |
| 111 | Understanding and Creating Layers | 107 | ":ref:`dev-manual/dev-manual-common-tasks:understanding and creating layers`" |
| 112 | " section in the Yocto Project Development Tasks Manual and the " | 108 | section in the Yocto Project Development Tasks Manual and the |
| 113 | BSP Layers | 109 | ":ref:`bsp-guide/bsp:bsp layers`" section in the Yocto Project Board |
| 114 | " section in the Yocto Project Board Support (BSP) Developer's | 110 | Support (BSP) Developer's Guide, respectively. For information on how to |
| 115 | Guide, respectively. For information on how to use the | 111 | use the ``bitbake-layers create-layer`` command to quickly set up a layer, |
| 116 | bitbake-layers create-layer | 112 | see the |
| 117 | command to quickly set up a layer, see the " | 113 | ":ref:`dev-manual/dev-manual-common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`" |
| 118 | Creating a General Layer Using the | 114 | section in the Yocto Project Development Tasks Manual. |
| 119 | bitbake-layers | ||
| 120 | Script | ||
| 121 | " section in the Yocto Project Development Tasks Manual. | ||
| 122 | 115 | ||
| 123 | 4. *Inform the BitBake Build Environment About Your Layer:* As directed | 116 | 4. *Inform the BitBake Build Environment About Your Layer:* As directed |
| 124 | when you created your layer, you need to add the layer to the | 117 | when you created your layer, you need to add the layer to the |
| @@ -141,9 +134,12 @@ section: | |||
| 141 | Once | 134 | Once |
| 142 | the build finishes, you can find the SDK installer file (i.e. | 135 | the build finishes, you can find the SDK installer file (i.e. |
| 143 | ``*.sh`` file) in the following directory: | 136 | ``*.sh`` file) in the following directory: |
| 144 | ~/poky/build/tmp/deploy/sdk For this example, the installer file is | 137 | :: |
| 145 | named | 138 | |
| 146 | ``poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-DISTRO.sh`` | 139 | ~/poky/build/tmp/deploy/sdk |
| 140 | |||
| 141 | For this example, the installer file is named | ||
| 142 | ``poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-DISTRO.sh``. | ||
| 147 | 143 | ||
| 148 | 6. *Install the Extensible SDK:* Use the following command to install | 144 | 6. *Install the Extensible SDK:* Use the following command to install |
| 149 | the SDK. For this example, install the SDK in the default | 145 | the SDK. For this example, install the SDK in the default |
| @@ -211,7 +207,7 @@ section: | |||
| 211 | building for actual hardware and not for emulation, you could flash | 207 | building for actual hardware and not for emulation, you could flash |
| 212 | the image to a USB stick on ``/dev/sdd`` and boot your device. For an | 208 | the image to a USB stick on ``/dev/sdd`` and boot your device. For an |
| 213 | example that uses a Minnowboard, see the | 209 | example that uses a Minnowboard, see the |
| 214 | `TipsAndTricks/KernelDevelopmentWithEsdk <https://wiki.yoctoproject.org/wiki/TipsAndTricks/KernelDevelopmentWithEsdk>`__ | 210 | :yocto_wiki:`TipsAndTricks/KernelDevelopmentWithEsdk </wiki/TipsAndTricks/KernelDevelopmentWithEsdk>` |
| 215 | Wiki page. | 211 | Wiki page. |
| 216 | 212 | ||
| 217 | At this point you have set up to start making modifications to the | 213 | At this point you have set up to start making modifications to the |
| @@ -247,16 +243,14 @@ section: | |||
| 247 | $ cd ~/poky | 243 | $ cd ~/poky |
| 248 | $ git branch | 244 | $ git branch |
| 249 | master | 245 | master |
| 250 | * &DISTRO_NAME; | 246 | * &DISTRO_NAME_NO_CAP; |
| 251 | $ source oe-init-build-env | 247 | $ source oe-init-build-env |
| 252 | 248 | ||
| 253 | .. note:: | 249 | .. note:: |
| 254 | 250 | ||
| 255 | The previous commands assume the | 251 | The previous commands assume the |
| 256 | Source Repositories | 252 | :ref:`overview-manual/overview-manual-development-environment:yocto project source repositories` |
| 257 | (i.e. | 253 | (i.e. ``poky``) have been cloned using Git and the local repository is named |
| 258 | poky | ||
| 259 | ) have been cloned using Git and the local repository is named | ||
| 260 | "poky". | 254 | "poky". |
| 261 | 255 | ||
| 262 | 2. *Prepare Your local.conf File:* By default, the | 256 | 2. *Prepare Your local.conf File:* By default, the |
| @@ -294,18 +288,15 @@ section: | |||
| 294 | .. note:: | 288 | .. note:: |
| 295 | 289 | ||
| 296 | For background information on working with common and BSP layers, | 290 | For background information on working with common and BSP layers, |
| 297 | see the " | 291 | see the |
| 298 | Understanding and Creating Layers | 292 | ":ref:`dev-manual/dev-manual-common-tasks:understanding and creating layers`" |
| 299 | " section in the Yocto Project Development Tasks Manual and the " | 293 | section in the Yocto Project Development Tasks Manual and the |
| 300 | BSP Layers | 294 | ":ref:`bsp-guide/bsp:bsp layers`" section in the Yocto Project Board |
| 301 | " section in the Yocto Project Board Support (BSP) Developer's | 295 | Support (BSP) Developer's Guide, respectively. For information on how to |
| 302 | Guide, respectively. For information on how to use the | 296 | use the ``bitbake-layers create-layer`` command to quickly set up a layer, |
| 303 | bitbake-layers create-layer | 297 | see the |
| 304 | command to quickly set up a layer, see the " | 298 | ":ref:`dev-manual/dev-manual-common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`" |
| 305 | Creating a General Layer Using the | 299 | section in the Yocto Project Development Tasks Manual. |
| 306 | bitbake-layers | ||
| 307 | Script | ||
| 308 | " section in the Yocto Project Development Tasks Manual. | ||
| 309 | 300 | ||
| 310 | 4. *Inform the BitBake Build Environment About Your Layer:* As directed | 301 | 4. *Inform the BitBake Build Environment About Your Layer:* As directed |
| 311 | when you created your layer, you need to add the layer to the | 302 | when you created your layer, you need to add the layer to the |
| @@ -334,12 +325,10 @@ section: | |||
| 334 | 325 | ||
| 335 | .. note:: | 326 | .. note:: |
| 336 | 327 | ||
| 337 | The | 328 | The ``linux-yocto-4.12`` kernel can be used with the Yocto Project 2.4 |
| 338 | linux-yocto-4.12 | 329 | release and forward. |
| 339 | kernel can be used with the Yocto Project 2.4 release and forward. | 330 | You cannot use the ``linux-yocto-4.12`` kernel with releases prior to |
| 340 | You cannot use the | 331 | Yocto Project 2.4. |
| 341 | linux-yocto-4.12 | ||
| 342 | kernel with releases prior to Yocto Project 2.4: | ||
| 343 | 332 | ||
| 344 | :: | 333 | :: |
| 345 | 334 | ||
| @@ -351,7 +340,7 @@ section: | |||
| 351 | remote: Total 6097195 (delta 5152604), reused 6096847 (delta 5152256) | 340 | remote: Total 6097195 (delta 5152604), reused 6096847 (delta 5152256) |
| 352 | Receiving objects: 100% (6097195/6097195), 1.24 GiB | 7.81 MiB/s, done. | 341 | Receiving objects: 100% (6097195/6097195), 1.24 GiB | 7.81 MiB/s, done. |
| 353 | Resolving deltas: 100% (5152604/5152604), done. Checking connectivity... done. | 342 | Resolving deltas: 100% (5152604/5152604), done. Checking connectivity... done. |
| 354 | Checking out files: 100% (59846/59846), done. | 343 | Checking out files: 100% (59846/59846), done. |
| 355 | 344 | ||
| 356 | 6. *Create a Local Copy of the Kernel Cache Git Repository:* For | 345 | 6. *Create a Local Copy of the Kernel Cache Git Repository:* For |
| 357 | simplicity, it is recommended that you create your copy of the kernel | 346 | simplicity, it is recommended that you create your copy of the kernel |
| @@ -395,13 +384,10 @@ section in the Yocto Project Development Tasks Manual. | |||
| 395 | .. note:: | 384 | .. note:: |
| 396 | 385 | ||
| 397 | The Yocto Project comes with many tools that simplify tasks you need | 386 | The Yocto Project comes with many tools that simplify tasks you need |
| 398 | to perform. One such tool is the | 387 | to perform. One such tool is the ``bitbake-layers create-layer`` |
| 399 | bitbake-layers create-layer | 388 | command, which simplifies creating a new layer. See the |
| 400 | command, which simplifies creating a new layer. See the " | 389 | ":ref:`dev-manual/dev-manual-common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script`" |
| 401 | Creating a General Layer Using the | 390 | section in the Yocto Project Development Tasks Manual for |
| 402 | bitbake-layers | ||
| 403 | Script | ||
| 404 | " section in the Yocto Project Development Tasks Manual for | ||
| 405 | information on how to use this script to quick set up a new layer. | 391 | information on how to use this script to quick set up a new layer. |
| 406 | 392 | ||
| 407 | To better understand the layer you create for kernel development, the | 393 | To better understand the layer you create for kernel development, the |
| @@ -471,11 +457,11 @@ the :term:`Source Directory` in | |||
| 471 | 457 | ||
| 472 | Modifying an existing recipe can consist of the following: | 458 | Modifying an existing recipe can consist of the following: |
| 473 | 459 | ||
| 474 | - Creating the append file | 460 | - :ref:`kernel-dev/kernel-dev-common:creating the append file` |
| 475 | 461 | ||
| 476 | - Applying patches | 462 | - :ref:`kernel-dev/kernel-dev-common:applying patches` |
| 477 | 463 | ||
| 478 | - Changing the configuration | 464 | - :ref:`kernel-dev/kernel-dev-common:changing the configuration` |
| 479 | 465 | ||
| 480 | Before modifying an existing recipe, be sure that you have created a | 466 | Before modifying an existing recipe, be sure that you have created a |
| 481 | minimal, custom layer from which you can work. See the "`Creating and | 467 | minimal, custom layer from which you can work. See the "`Creating and |
| @@ -490,7 +476,8 @@ based on the linux-yocto recipe you are using. For example, if you are | |||
| 490 | modifying the ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` recipe, | 476 | modifying the ``meta/recipes-kernel/linux/linux-yocto_4.12.bb`` recipe, |
| 491 | the append file will typically be located as follows within your custom | 477 | the append file will typically be located as follows within your custom |
| 492 | layer: | 478 | layer: |
| 493 | :: | 479 | |
| 480 | .. code-block:: none | ||
| 494 | 481 | ||
| 495 | your-layer/recipes-kernel/linux/linux-yocto_4.12.bbappend | 482 | your-layer/recipes-kernel/linux/linux-yocto_4.12.bbappend |
| 496 | 483 | ||
| @@ -515,13 +502,12 @@ your layer in the following area: | |||
| 515 | .. note:: | 502 | .. note:: |
| 516 | 503 | ||
| 517 | If you are working on a new machine Board Support Package (BSP), be | 504 | If you are working on a new machine Board Support Package (BSP), be |
| 518 | sure to refer to the | 505 | sure to refer to the :doc:`../bsp-guide/bsp-guide`. |
| 519 | Yocto Project Board Support Package (BSP) Developer's Guide | ||
| 520 | . | ||
| 521 | 506 | ||
| 522 | As an example, consider the following append file used by the BSPs in | 507 | As an example, consider the following append file used by the BSPs in |
| 523 | ``meta-yocto-bsp``: | 508 | ``meta-yocto-bsp``: |
| 524 | :: | 509 | |
| 510 | .. code-block:: none | ||
| 525 | 511 | ||
| 526 | meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend | 512 | meta-yocto-bsp/recipes-kernel/linux/linux-yocto_4.12.bbappend |
| 527 | 513 | ||
| @@ -689,17 +675,13 @@ created to hold the configuration changes. | |||
| 689 | 675 | ||
| 690 | .. note:: | 676 | .. note:: |
| 691 | 677 | ||
| 692 | The build system applies the configurations from the | 678 | The build system applies the configurations from the ``defconfig`` |
| 693 | defconfig | ||
| 694 | file before applying any subsequent configuration fragments. The | 679 | file before applying any subsequent configuration fragments. The |
| 695 | final kernel configuration is a combination of the configurations in | 680 | final kernel configuration is a combination of the configurations in |
| 696 | the | 681 | the ``defconfig`` file and any configuration fragments you provide. You need |
| 697 | defconfig | 682 | to realize that if you have any configuration fragments, the build system |
| 698 | file and any configuration fragments you provide. You need to realize | 683 | applies these on top of and after applying the existing ``defconfig`` file |
| 699 | that if you have any configuration fragments, the build system | 684 | configurations. |
| 700 | applies these on top of and after applying the existing | ||
| 701 | defconfig | ||
| 702 | file configurations. | ||
| 703 | 685 | ||
| 704 | Generally speaking, the preferred approach is to determine the | 686 | Generally speaking, the preferred approach is to determine the |
| 705 | incremental change you want to make and add that as a configuration | 687 | incremental change you want to make and add that as a configuration |
| @@ -755,7 +737,7 @@ To specify an "in-tree" ``defconfig`` file, use the following statement | |||
| 755 | form: | 737 | form: |
| 756 | :: | 738 | :: |
| 757 | 739 | ||
| 758 | KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file | 740 | KBUILD_DEFCONFIG_KMACHINE ?= "defconfig_file" |
| 759 | 741 | ||
| 760 | Here is an example | 742 | Here is an example |
| 761 | that assigns the ``KBUILD_DEFCONFIG`` variable based on "raspberrypi2" | 743 | that assigns the ``KBUILD_DEFCONFIG`` variable based on "raspberrypi2" |
| @@ -768,7 +750,7 @@ a Raspberry Pi 2, which is based on the Broadcom 2708/2709 chipset: | |||
| 768 | Aside from modifying your kernel recipe and providing your own | 750 | Aside from modifying your kernel recipe and providing your own |
| 769 | ``defconfig`` file, you need to be sure no files or statements set | 751 | ``defconfig`` file, you need to be sure no files or statements set |
| 770 | ``SRC_URI`` to use a ``defconfig`` other than your "in-tree" file (e.g. | 752 | ``SRC_URI`` to use a ``defconfig`` other than your "in-tree" file (e.g. |
| 771 | a kernel's ``linux-``\ machine\ ``.inc`` file). In other words, if the | 753 | a kernel's ``linux-``\ `machine`\ ``.inc`` file). In other words, if the |
| 772 | build system detects a statement that identifies an "out-of-tree" | 754 | build system detects a statement that identifies an "out-of-tree" |
| 773 | ``defconfig`` file, that statement will override your | 755 | ``defconfig`` file, that statement will override your |
| 774 | ``KBUILD_DEFCONFIG`` variable. | 756 | ``KBUILD_DEFCONFIG`` variable. |
| @@ -786,10 +768,9 @@ the extensible SDK and ``devtool``. | |||
| 786 | .. note:: | 768 | .. note:: |
| 787 | 769 | ||
| 788 | Before attempting this procedure, be sure you have performed the | 770 | Before attempting this procedure, be sure you have performed the |
| 789 | steps to get ready for updating the kernel as described in the " | 771 | steps to get ready for updating the kernel as described in the |
| 790 | Getting Ready to Develop Using | 772 | ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devtool\`\``" |
| 791 | devtool | 773 | section. |
| 792 | " section. | ||
| 793 | 774 | ||
| 794 | Patching the kernel involves changing or adding configurations to an | 775 | Patching the kernel involves changing or adding configurations to an |
| 795 | existing kernel, changing or adding recipes to the kernel that are | 776 | existing kernel, changing or adding recipes to the kernel that are |
| @@ -809,12 +790,9 @@ the ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devto | |||
| 809 | 790 | ||
| 810 | .. note:: | 791 | .. note:: |
| 811 | 792 | ||
| 812 | See this | 793 | See this step in the |
| 813 | step | 794 | ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devtool\`\``" |
| 814 | in the " | 795 | section for more information. |
| 815 | Getting Ready to Develop Using | ||
| 816 | devtool | ||
| 817 | " section for more information. | ||
| 818 | 796 | ||
| 819 | Use the following ``devtool`` command to check out the code: | 797 | Use the following ``devtool`` command to check out the code: |
| 820 | :: | 798 | :: |
| @@ -825,7 +803,8 @@ the ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devto | |||
| 825 | 803 | ||
| 826 | During the checkout operation, a bug exists that could cause | 804 | During the checkout operation, a bug exists that could cause |
| 827 | errors such as the following to appear: | 805 | errors such as the following to appear: |
| 828 | :: | 806 | |
| 807 | .. code-block:: none | ||
| 829 | 808 | ||
| 830 | ERROR: Taskhash mismatch 2c793438c2d9f8c3681fd5f7bc819efa versus | 809 | ERROR: Taskhash mismatch 2c793438c2d9f8c3681fd5f7bc819efa versus |
| 831 | be3a89ce7c47178880ba7bf6293d7404 for | 810 | be3a89ce7c47178880ba7bf6293d7404 for |
| @@ -883,7 +862,7 @@ the ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devto | |||
| 883 | If the image you originally created resulted in a Wic file, you | 862 | If the image you originally created resulted in a Wic file, you |
| 884 | can use an alternate method to create the new image with the | 863 | can use an alternate method to create the new image with the |
| 885 | updated kernel. For an example, see the steps in the | 864 | updated kernel. For an example, see the steps in the |
| 886 | TipsAndTricks/KernelDevelopmentWithEsdk | 865 | :yocto_wiki:`TipsAndTricks/KernelDevelopmentWithEsdk </wiki/TipsAndTricks/KernelDevelopmentWithEsdk>` |
| 887 | Wiki Page. | 866 | Wiki Page. |
| 888 | 867 | ||
| 889 | :: | 868 | :: |
| @@ -903,7 +882,8 @@ the ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devto | |||
| 903 | 2. *Verify the changes*: Log into the machine using ``root`` with no | 882 | 2. *Verify the changes*: Log into the machine using ``root`` with no |
| 904 | password and then use the following shell command to scroll | 883 | password and then use the following shell command to scroll |
| 905 | through the console's boot output. | 884 | through the console's boot output. |
| 906 | :: | 885 | |
| 886 | .. code-block:: none | ||
| 907 | 887 | ||
| 908 | # dmesg | less | 888 | # dmesg | less |
| 909 | 889 | ||
| @@ -925,14 +905,15 @@ the ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devto | |||
| 925 | commits as patches and create a ``.bbappend`` file, use the following | 905 | commits as patches and create a ``.bbappend`` file, use the following |
| 926 | command in the terminal used to work with the extensible SDK. This | 906 | command in the terminal used to work with the extensible SDK. This |
| 927 | example uses the previously established layer named ``meta-mylayer``. | 907 | example uses the previously established layer named ``meta-mylayer``. |
| 908 | :: | ||
| 928 | 909 | ||
| 929 | .. note:: | 910 | $ devtool finish linux-yocto ~/meta-mylayer |
| 930 | 911 | ||
| 931 | See Step 3 of the " | 912 | .. note:: |
| 932 | Getting Ready to Develop Using devtool | ||
| 933 | " section for information on setting up this layer. | ||
| 934 | 913 | ||
| 935 | $ devtool finish linux-yocto ~/meta-mylayer | 914 | See Step 3 of the |
| 915 | ":ref:`kernel-dev/kernel-dev-common:getting ready to develop using \`\`devtool\`\``" | ||
| 916 | section for information on setting up this layer. | ||
| 936 | 917 | ||
| 937 | Once the command | 918 | Once the command |
| 938 | finishes, the patches and the ``.bbappend`` file are located in the | 919 | finishes, the patches and the ``.bbappend`` file are located in the |
| @@ -960,9 +941,9 @@ section). | |||
| 960 | .. note:: | 941 | .. note:: |
| 961 | 942 | ||
| 962 | Before attempting this procedure, be sure you have performed the | 943 | Before attempting this procedure, be sure you have performed the |
| 963 | steps to get ready for updating the kernel as described in the " | 944 | steps to get ready for updating the kernel as described in the |
| 964 | Getting Ready for Traditional Kernel Development | 945 | ":ref:`kernel-dev/kernel-dev-common:getting ready for traditional kernel development`" |
| 965 | " section. | 946 | section. |
| 966 | 947 | ||
| 967 | Patching the kernel involves changing or adding configurations to an | 948 | Patching the kernel involves changing or adding configurations to an |
| 968 | existing kernel, changing or adding recipes to the kernel that are | 949 | existing kernel, changing or adding recipes to the kernel that are |
| @@ -986,7 +967,7 @@ Section. | |||
| 986 | section, use the following commands to edit the ``calibrate.c`` file: | 967 | section, use the following commands to edit the ``calibrate.c`` file: |
| 987 | 968 | ||
| 988 | 1. *Change the working directory*: You need to locate the source | 969 | 1. *Change the working directory*: You need to locate the source |
| 989 | files in the local copy of the kernel Git repository: Change to | 970 | files in the local copy of the kernel Git repository. Change to |
| 990 | where the kernel source code is before making your edits to the | 971 | where the kernel source code is before making your edits to the |
| 991 | ``calibrate.c`` file: | 972 | ``calibrate.c`` file: |
| 992 | :: | 973 | :: |
| @@ -1046,13 +1027,10 @@ Section. | |||
| 1046 | 1027 | ||
| 1047 | .. note:: | 1028 | .. note:: |
| 1048 | 1029 | ||
| 1049 | Be sure to replace | 1030 | Be sure to replace `path-to` |
| 1050 | path-to | ||
| 1051 | with the pathname to your local Git repositories. Also, you must | 1031 | with the pathname to your local Git repositories. Also, you must |
| 1052 | be sure to specify the correct branch and machine types. For this | 1032 | be sure to specify the correct branch and machine types. For this |
| 1053 | example, the branch is | 1033 | example, the branch is ``standard/base`` and the machine is ``qemux86``. |
| 1054 | standard/base | ||
| 1055 | and the machine is "qemux86". | ||
| 1056 | 1034 | ||
| 1057 | 4. *Build the Image:* With the source modified, your changes staged and | 1035 | 4. *Build the Image:* With the source modified, your changes staged and |
| 1058 | committed, and the ``local.conf`` file pointing to the kernel files, | 1036 | committed, and the ``local.conf`` file pointing to the kernel files, |
| @@ -1073,7 +1051,8 @@ Section. | |||
| 1073 | 6. *Look for Your Changes:* As QEMU booted, you might have seen your | 1051 | 6. *Look for Your Changes:* As QEMU booted, you might have seen your |
| 1074 | changes rapidly scroll by. If not, use these commands to see your | 1052 | changes rapidly scroll by. If not, use these commands to see your |
| 1075 | changes: | 1053 | changes: |
| 1076 | :: | 1054 | |
| 1055 | .. code-block:: none | ||
| 1077 | 1056 | ||
| 1078 | # dmesg | less | 1057 | # dmesg | less |
| 1079 | 1058 | ||
| @@ -1134,13 +1113,10 @@ Section. | |||
| 1134 | 1113 | ||
| 1135 | .. note:: | 1114 | .. note:: |
| 1136 | 1115 | ||
| 1137 | To build | 1116 | To build ``core-image-minimal`` again and see the effects of your patch, |
| 1138 | core-image-minimal | 1117 | you can essentially eliminate the temporary source files saved in |
| 1139 | again and see the effects of your patch, you can essentially | 1118 | ``poky/build/tmp/work/...`` and residual effects of the build by entering |
| 1140 | eliminate the temporary source files saved in | 1119 | the following sequence of commands: |
| 1141 | poky/build/tmp/work/... | ||
| 1142 | and residual effects of the build by entering the following | ||
| 1143 | sequence of commands: | ||
| 1144 | :: | 1120 | :: |
| 1145 | 1121 | ||
| 1146 | $ cd ~/poky/build | 1122 | $ cd ~/poky/build |
| @@ -1174,7 +1150,7 @@ Using  ``menuconfig`` | |||
| 1174 | The easiest way to define kernel configurations is to set them through | 1150 | The easiest way to define kernel configurations is to set them through |
| 1175 | the ``menuconfig`` tool. This tool provides an interactive method with | 1151 | the ``menuconfig`` tool. This tool provides an interactive method with |
| 1176 | which to set kernel configurations. For general information on | 1152 | which to set kernel configurations. For general information on |
| 1177 | ``menuconfig``, see http://en.wikipedia.org/wiki/Menuconfig. | 1153 | ``menuconfig``, see https://en.wikipedia.org/wiki/Menuconfig. |
| 1178 | 1154 | ||
| 1179 | To use the ``menuconfig`` tool in the Yocto Project development | 1155 | To use the ``menuconfig`` tool in the Yocto Project development |
| 1180 | environment, you must do the following: | 1156 | environment, you must do the following: |
| @@ -1212,35 +1188,20 @@ the tool and save your changes to create an updated version of the | |||
| 1212 | 1188 | ||
| 1213 | .. note:: | 1189 | .. note:: |
| 1214 | 1190 | ||
| 1215 | You can use the entire | 1191 | You can use the entire ``.config`` file as the ``defconfig`` file. For |
| 1216 | .config | 1192 | information on ``defconfig`` files, see the |
| 1217 | file as the | 1193 | ":ref:`kernel-dev/kernel-dev-common:changing the configuration`", |
| 1218 | defconfig | 1194 | ":ref:`kernel-dev/kernel-dev-common:using an "in-tree" \`\`defconfig\`\` file`", |
| 1219 | file. For information on | 1195 | and ":ref:`kernel-dev/kernel-dev-common:creating a \`\`defconfig\`\` file`" |
| 1220 | defconfig | 1196 | sections. |
| 1221 | files, see the " | ||
| 1222 | Changing the Configuration | ||
| 1223 | ", " | ||
| 1224 | Using an In-Tree | ||
| 1225 | defconfig | ||
| 1226 | File | ||
| 1227 | , and " | ||
| 1228 | Creating a | ||
| 1229 | defconfig | ||
| 1230 | File | ||
| 1231 | " sections. | ||
| 1232 | 1197 | ||
| 1233 | Consider an example that configures the "CONFIG_SMP" setting for the | 1198 | Consider an example that configures the "CONFIG_SMP" setting for the |
| 1234 | ``linux-yocto-4.12`` kernel. | 1199 | ``linux-yocto-4.12`` kernel. |
| 1235 | 1200 | ||
| 1236 | .. note:: | 1201 | .. note:: |
| 1237 | 1202 | ||
| 1238 | The OpenEmbedded build system recognizes this kernel as | 1203 | The OpenEmbedded build system recognizes this kernel as ``linux-yocto`` |
| 1239 | linux-yocto | 1204 | through Metadata (e.g. :term:`PREFERRED_VERSION`\ ``_linux-yocto ?= "12.4%"``). |
| 1240 | through Metadata (e.g. | ||
| 1241 | PREFERRED_VERSION | ||
| 1242 | \_linux-yocto ?= "12.4%" | ||
| 1243 | ). | ||
| 1244 | 1205 | ||
| 1245 | Once ``menuconfig`` launches, use the interface to navigate through the | 1206 | Once ``menuconfig`` launches, use the interface to navigate through the |
| 1246 | selections to find the configuration settings in which you are | 1207 | selections to find the configuration settings in which you are |
| @@ -1259,7 +1220,8 @@ area where the specific kernel is built. For example, if you were | |||
| 1259 | building a Linux Yocto kernel based on the ``linux-yocto-4.12`` kernel | 1220 | building a Linux Yocto kernel based on the ``linux-yocto-4.12`` kernel |
| 1260 | and you were building a QEMU image targeted for ``x86`` architecture, | 1221 | and you were building a QEMU image targeted for ``x86`` architecture, |
| 1261 | the ``.config`` file would be: | 1222 | the ``.config`` file would be: |
| 1262 | :: | 1223 | |
| 1224 | .. code-block:: none | ||
| 1263 | 1225 | ||
| 1264 | poky/build/tmp/work/qemux86-poky-linux/linux-yocto/4.12.12+gitAUTOINC+eda4d18... | 1226 | poky/build/tmp/work/qemux86-poky-linux/linux-yocto/4.12.12+gitAUTOINC+eda4d18... |
| 1265 | ...967-r0/linux-qemux86-standard-build/.config | 1227 | ...967-r0/linux-qemux86-standard-build/.config |
| @@ -1289,11 +1251,8 @@ kernel layer. | |||
| 1289 | 1251 | ||
| 1290 | .. note:: | 1252 | .. note:: |
| 1291 | 1253 | ||
| 1292 | Be sure to make a copy of the | 1254 | Be sure to make a copy of the ``.config`` file and do not just rename it. |
| 1293 | .config | 1255 | The build system needs an existing ``.config`` file from which to work. |
| 1294 | file and do not just rename it. The build system needs an existing | ||
| 1295 | .config | ||
| 1296 | file from which to work. | ||
| 1297 | 1256 | ||
| 1298 | Creating a  ``defconfig`` File | 1257 | Creating a  ``defconfig`` File |
| 1299 | ------------------------------ | 1258 | ------------------------------ |
| @@ -1307,13 +1266,9 @@ which the OpenEmbedded build system can draw to create the final | |||
| 1307 | 1266 | ||
| 1308 | .. note:: | 1267 | .. note:: |
| 1309 | 1268 | ||
| 1310 | Out-of-the-box, the Yocto Project never ships a | 1269 | Out-of-the-box, the Yocto Project never ships a ``defconfig`` or ``.config`` |
| 1311 | defconfig | 1270 | file. The OpenEmbedded build system creates the final ``.config`` file used |
| 1312 | or | 1271 | to configure the kernel. |
| 1313 | .config | ||
| 1314 | file. The OpenEmbedded build system creates the final | ||
| 1315 | .config | ||
| 1316 | file used to configure the kernel. | ||
| 1317 | 1272 | ||
| 1318 | To create a ``defconfig``, start with a complete, working Linux kernel | 1273 | To create a ``defconfig``, start with a complete, working Linux kernel |
| 1319 | ``.config`` file. Copy that file to the appropriate | 1274 | ``.config`` file. Copy that file to the appropriate |
| @@ -1335,16 +1290,13 @@ created to hold the configuration changes. | |||
| 1335 | 1290 | ||
| 1336 | .. note:: | 1291 | .. note:: |
| 1337 | 1292 | ||
| 1338 | The build system applies the configurations from the | 1293 | The build system applies the configurations from the ``defconfig`` |
| 1339 | defconfig | ||
| 1340 | file before applying any subsequent configuration fragments. The | 1294 | file before applying any subsequent configuration fragments. The |
| 1341 | final kernel configuration is a combination of the configurations in | 1295 | final kernel configuration is a combination of the configurations in |
| 1342 | the | 1296 | the ``defconfig`` file and any configuration fragments you provide. You need |
| 1343 | defconfig | 1297 | to realize that if you have any configuration fragments, the build system |
| 1344 | file and any configuration fragments you provide. You need to realize | 1298 | applies these on top of and after applying the existing ``defconfig`` file |
| 1345 | that if you have any configuration fragments, the build system | 1299 | configurations. |
| 1346 | applies these on top of and after applying the existing defconfig | ||
| 1347 | file configurations. | ||
| 1348 | 1300 | ||
| 1349 | For more information on configuring the kernel, see the "`Changing the | 1301 | For more information on configuring the kernel, see the "`Changing the |
| 1350 | Configuration <#changing-the-configuration>`__" section. | 1302 | Configuration <#changing-the-configuration>`__" section. |
| @@ -1368,9 +1320,8 @@ appear in the ``.config`` file, which is in the :term:`Build Directory`. | |||
| 1368 | 1320 | ||
| 1369 | .. note:: | 1321 | .. note:: |
| 1370 | 1322 | ||
| 1371 | For more information about where the | 1323 | For more information about where the ``.config`` file is located, see the |
| 1372 | .config | 1324 | example in the |
| 1373 | file is located, see the example in the | ||
| 1374 | ":ref:`kernel-dev/kernel-dev-common:using \`\`menuconfig\`\``" | 1325 | ":ref:`kernel-dev/kernel-dev-common:using \`\`menuconfig\`\``" |
| 1375 | section. | 1326 | section. |
| 1376 | 1327 | ||
| @@ -1384,10 +1335,9 @@ multi-processor support within the kernel: | |||
| 1384 | 1335 | ||
| 1385 | .. note:: | 1336 | .. note:: |
| 1386 | 1337 | ||
| 1387 | All configuration fragment files must use the | 1338 | All configuration fragment files must use the ``.cfg`` extension in order |
| 1388 | .cfg | 1339 | for the OpenEmbedded build system to recognize them as a configuration |
| 1389 | extension in order for the OpenEmbedded build system to recognize | 1340 | fragment. |
| 1390 | them as a configuration fragment. | ||
| 1391 | 1341 | ||
| 1392 | Another method is to create a configuration fragment using the | 1342 | Another method is to create a configuration fragment using the |
| 1393 | differences between two configuration files: one previously created and | 1343 | differences between two configuration files: one previously created and |
| @@ -1429,9 +1379,8 @@ information on how to use the output as a configuration fragment. | |||
| 1429 | .. note:: | 1379 | .. note:: |
| 1430 | 1380 | ||
| 1431 | You can also use this method to create configuration fragments for a | 1381 | You can also use this method to create configuration fragments for a |
| 1432 | BSP. See the " | 1382 | BSP. See the ":ref:`kernel-dev/kernel-dev-advanced:bsp descriptions`" |
| 1433 | BSP Descriptions | 1383 | section for more information. |
| 1434 | " section for more information. | ||
| 1435 | 1384 | ||
| 1436 | Where do you put your configuration fragment files? You can place these | 1385 | Where do you put your configuration fragment files? You can place these |
| 1437 | files in an area pointed to by | 1386 | files in an area pointed to by |
| @@ -1480,7 +1429,8 @@ See the ":ref:`kernel-dev/kernel-dev-common:using \`\`menuconfig\`\``" section f | |||
| 1480 | information on how to create a configuration file. | 1429 | information on how to create a configuration file. |
| 1481 | 1430 | ||
| 1482 | Following is sample output from the ``do_kernel_configcheck`` task: | 1431 | Following is sample output from the ``do_kernel_configcheck`` task: |
| 1483 | :: | 1432 | |
| 1433 | .. code-block:: none | ||
| 1484 | 1434 | ||
| 1485 | Loading cache: 100% |########################################################| Time: 0:00:00 | 1435 | Loading cache: 100% |########################################################| Time: 0:00:00 |
| 1486 | Loaded 1275 entries from dependency cache. | 1436 | Loaded 1275 entries from dependency cache. |
| @@ -1577,10 +1527,8 @@ produces warning messages for the following issues: | |||
| 1577 | 1527 | ||
| 1578 | .. note:: | 1528 | .. note:: |
| 1579 | 1529 | ||
| 1580 | The | 1530 | The :ref:`ref-tasks-kernel_configcheck` task can also optionally report if |
| 1581 | do_kernel_configcheck | 1531 | an option is overridden during processing. |
| 1582 | task can also optionally report if an option is overridden during | ||
| 1583 | processing. | ||
| 1584 | 1532 | ||
| 1585 | For each output warning, a message points to the file that contains a | 1533 | For each output warning, a message points to the file that contains a |
| 1586 | list of the options and a pointer to the configuration fragment that | 1534 | list of the options and a pointer to the configuration fragment that |
| @@ -1627,7 +1575,7 @@ Expanding Variables | |||
| 1627 | =================== | 1575 | =================== |
| 1628 | 1576 | ||
| 1629 | Sometimes it is helpful to determine what a variable expands to during a | 1577 | Sometimes it is helpful to determine what a variable expands to during a |
| 1630 | build. You can do examine the values of variables by examining the | 1578 | build. You can examine the values of variables by examining the |
| 1631 | output of the ``bitbake -e`` command. The output is long and is more | 1579 | output of the ``bitbake -e`` command. The output is long and is more |
| 1632 | easily managed in a text file, which allows for easy searches: | 1580 | easily managed in a text file, which allows for easy searches: |
| 1633 | :: | 1581 | :: |
| @@ -1767,7 +1715,10 @@ Here are some basic steps you can use to work with your own sources: | |||
| 1767 | as derived from the :term:`SRCPV` | 1715 | as derived from the :term:`SRCPV` |
| 1768 | variable. The combined results are a string with the following | 1716 | variable. The combined results are a string with the following |
| 1769 | form: | 1717 | form: |
| 1770 | 3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2 | 1718 | :: |
| 1719 | |||
| 1720 | 3.19.11+git1+68a635bf8dfb64b02263c1ac80c948647cc76d5f_1+218bd8d2022b9852c60d32f0d770931e3cf343e2 | ||
| 1721 | |||
| 1771 | While lengthy, the extra verbosity in ``PV`` helps ensure you are | 1722 | While lengthy, the extra verbosity in ``PV`` helps ensure you are |
| 1772 | using the exact sources from which you intend to build. | 1723 | using the exact sources from which you intend to build. |
| 1773 | 1724 | ||
| @@ -1778,7 +1729,10 @@ Here are some basic steps you can use to work with your own sources: | |||
| 1778 | triggers an explicit build failure. You must change it to match a | 1729 | triggers an explicit build failure. You must change it to match a |
| 1779 | list of the machines that your new recipe supports. For example, | 1730 | list of the machines that your new recipe supports. For example, |
| 1780 | to support the ``qemux86`` and ``qemux86-64`` machines, use the | 1731 | to support the ``qemux86`` and ``qemux86-64`` machines, use the |
| 1781 | following form: COMPATIBLE_MACHINE = "qemux86|qemux86-64" | 1732 | following form: |
| 1733 | :: | ||
| 1734 | |||
| 1735 | COMPATIBLE_MACHINE = "qemux86|qemux86-64" | ||
| 1782 | 1736 | ||
| 1783 | 5. *Customize Your Recipe as Needed:* Provide further customizations to | 1737 | 5. *Customize Your Recipe as Needed:* Provide further customizations to |
| 1784 | your recipe as needed just as you would customize an existing | 1738 | your recipe as needed just as you would customize an existing |
| @@ -1813,7 +1767,8 @@ is running that image. | |||
| 1813 | Prior to attempting to build the out-of-tree modules, you need to be on | 1767 | Prior to attempting to build the out-of-tree modules, you need to be on |
| 1814 | the target as root and you need to change to the ``/usr/src/kernel`` | 1768 | the target as root and you need to change to the ``/usr/src/kernel`` |
| 1815 | directory. Next, ``make`` the scripts: | 1769 | directory. Next, ``make`` the scripts: |
| 1816 | :: | 1770 | |
| 1771 | .. code-block:: none | ||
| 1817 | 1772 | ||
| 1818 | # cd /usr/src/kernel | 1773 | # cd /usr/src/kernel |
| 1819 | # make scripts | 1774 | # make scripts |
| @@ -1835,7 +1790,8 @@ create your own out-of-tree Linux kernel module recipe. | |||
| 1835 | 1790 | ||
| 1836 | This template recipe is located in the ``poky`` Git repository of the | 1791 | This template recipe is located in the ``poky`` Git repository of the |
| 1837 | Yocto Project :yocto_git:`Source Repository <>` at: | 1792 | Yocto Project :yocto_git:`Source Repository <>` at: |
| 1838 | :: | 1793 | |
| 1794 | .. code-block:: none | ||
| 1839 | 1795 | ||
| 1840 | poky/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb | 1796 | poky/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb |
| 1841 | 1797 | ||
| @@ -1925,17 +1881,15 @@ changes. | |||
| 1925 | 1881 | ||
| 1926 | .. note:: | 1882 | .. note:: |
| 1927 | 1883 | ||
| 1928 | In the following examples, unless you provide a commit range, | 1884 | In the following examples, unless you provide a commit range, ``kernel.org`` |
| 1929 | kernel.org | ||
| 1930 | history is blended with Yocto Project kernel changes. You can form | 1885 | history is blended with Yocto Project kernel changes. You can form |
| 1931 | ranges by using branch names from the kernel tree as the upper and | 1886 | ranges by using branch names from the kernel tree as the upper and |
| 1932 | lower commit markers with the Git commands. You can see the branch | 1887 | lower commit markers with the Git commands. You can see the branch |
| 1933 | names through the web interface to the Yocto Project source | 1888 | names through the web interface to the Yocto Project source |
| 1934 | repositories at | 1889 | repositories at :yocto_git:`/`. |
| 1935 | . | ||
| 1936 | 1890 | ||
| 1937 | To see a full range of the changes, use the ``git whatchanged`` command | 1891 | To see a full range of the changes, use the ``git whatchanged`` command |
| 1938 | and specify a commit range for the branch (commit\ ``..``\ commit). | 1892 | and specify a commit range for the branch (`commit`\ ``..``\ `commit`). |
| 1939 | 1893 | ||
| 1940 | Here is an example that looks at what has changed in the ``emenlow`` | 1894 | Here is an example that looks at what has changed in the ``emenlow`` |
| 1941 | branch of the ``linux-yocto-3.19`` kernel. The lower commit range is the | 1895 | branch of the ``linux-yocto-3.19`` kernel. The lower commit range is the |
| @@ -1990,8 +1944,8 @@ Adding Recipe-Space Kernel Features | |||
| 1990 | =================================== | 1944 | =================================== |
| 1991 | 1945 | ||
| 1992 | You can add kernel features in the | 1946 | You can add kernel features in the |
| 1993 | `recipe-space <#recipe-space-metadata>`__ by using the | 1947 | :ref:`recipe-space <kernel-dev/kernel-dev-advanced:recipe-space metadata>` |
| 1994 | :term:`KERNEL_FEATURES` | 1948 | by using the :term:`KERNEL_FEATURES` |
| 1995 | variable and by specifying the feature's ``.scc`` file path in the | 1949 | variable and by specifying the feature's ``.scc`` file path in the |
| 1996 | :term:`SRC_URI` statement. When you | 1950 | :term:`SRC_URI` statement. When you |
| 1997 | add features using this method, the OpenEmbedded build system checks to | 1951 | add features using this method, the OpenEmbedded build system checks to |
| @@ -2008,9 +1962,9 @@ You add a kernel feature by providing the feature as part of the | |||
| 2008 | OpenEmbedded build system searches all forms of kernel Metadata on the | 1962 | OpenEmbedded build system searches all forms of kernel Metadata on the |
| 2009 | ``SRC_URI`` statement regardless of whether the Metadata is in the | 1963 | ``SRC_URI`` statement regardless of whether the Metadata is in the |
| 2010 | "kernel-cache", system kernel Metadata, or a recipe-space Metadata (i.e. | 1964 | "kernel-cache", system kernel Metadata, or a recipe-space Metadata (i.e. |
| 2011 | part of the kernel recipe). See the "`Kernel Metadata | 1965 | part of the kernel recipe). See the |
| 2012 | Location <#kernel-metadata-location>`__" section for additional | 1966 | ":ref:`kernel-dev/kernel-dev-advanced:kernel metadata location`" section for |
| 2013 | information. | 1967 | additional information. |
| 2014 | 1968 | ||
| 2015 | When you specify the feature's ``.scc`` file on the ``SRC_URI`` | 1969 | When you specify the feature's ``.scc`` file on the ``SRC_URI`` |
| 2016 | statement, the OpenEmbedded build system adds the directory of that | 1970 | statement, the OpenEmbedded build system adds the directory of that |
| @@ -2073,6 +2027,5 @@ build. | |||
| 2073 | .. note:: | 2027 | .. note:: |
| 2074 | 2028 | ||
| 2075 | If other features are contained below "test.scc", then their | 2029 | If other features are contained below "test.scc", then their |
| 2076 | directories are relative to the directory containing the | 2030 | directories are relative to the directory containing the ``test.scc`` |
| 2077 | test.scc | ||
| 2078 | file. | 2031 | file. |
