From 4c0e713b815031bcbc9fad7c20b0be87d91c58c1 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 10 Oct 2017 14:54:26 -0700 Subject: kernel-dev: Applied review feedback Various edits for review feedback on the manual in general. (From yocto-docs rev: 218061535b5bed326331d00eee6f514c81299238) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/kernel-dev/kernel-dev-common.xml | 221 +++++---------------- .../kernel-dev/kernel-dev-concepts-appx.xml | 10 +- 2 files changed, 61 insertions(+), 170 deletions(-) diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml index 3dd4cd88b6..17d89f7454 100644 --- a/documentation/kernel-dev/kernel-dev-common.xml +++ b/documentation/kernel-dev/kernel-dev-common.xml @@ -57,7 +57,7 @@
- Getting Ready to Develop using <filename>devtool</filename> + Getting Ready to Develop Using <filename>devtool</filename> Follow these steps to prepare to update the kernel image using @@ -129,15 +129,18 @@ Don't forget to add it to your BBLAYERS (for details see ../meta-mylayer/README). - For background information on working with layers, - see the + For background information on working with + common and BSP layers, see the "Understanding and Creating Layers" - section in the Yocto Project Development Manual. - See the + section in the Yocto Project Development Manual + and the + "BSP Layers" + section in the Yocto Project Board Support (BSP) + Developer's Guide, respectively. + For information on how to use the + yocto-layer script, see the "Creating a General Layer Using the yocto-layer Script" - section in the Yocto Project Development Manual for - details on how to use the - yocto-layer script. + section in the Yocto Project Development Manual. @@ -350,15 +353,18 @@ Don't forget to add it to your BBLAYERS (for details see ../meta-mylayer/README). - For background information on working with layers, - see the + For background information on working with + common and BSP layers, see the "Understanding and Creating Layers" - section in the Yocto Project Development Manual. - See the + section in the Yocto Project Development Manual + and the + "BSP Layers" + section in the Yocto Project Board Support (BSP) + Developer's Guide, respectively. + For information on how to use the + yocto-layer script, see the "Creating a General Layer Using the yocto-layer Script" - section in the Yocto Project Development Manual for - details on how to use the - yocto-layer script. + section in the Yocto Project Development Manual. @@ -815,7 +821,7 @@ devtool, see the "Using devtool to Patch the Kernel" and - "Using Traditional Kernel Development to Patch the Kernel'>" + "Using Traditional Kernel Development to Patch the Kernel" sections.
@@ -935,16 +941,17 @@ To specify an "in-tree" defconfig file, - use the following - KBUILD_DEFCONFIG - statement form in the append file for the kernel recipe: + use the following statement form: KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file - You need to append the variable with - KMACHINE - and then supply the path to your "in-tree" - defconfig file. + Here is an example that appends the + KBUILD_DEFCONFIG variable with + "common-pc" and provides the path to the "in-tree" + defconfig file: + + KBUILD_DEFCONFIG_common-pc ?= "/home/scottrif/configfiles/my_defconfig_file" + @@ -990,14 +997,6 @@ to an existing kernel, changing or adding recipes to the kernel that are needed to support specific hardware features, or even altering the source code itself. - - You can also use the yocto-kernel script - found in the Source Directory - under scripts to manage kernel patches and configuration. - See the "Managing kernel Patches and Config Items with yocto-kernel" - section in the Yocto Project Board Support Packages (BSP) - Developer's Guide for more information. - @@ -1007,12 +1006,10 @@ code file. Applying the patch and booting the modified image causes the added messages to appear on the emulator's console. - - The example is a continuation of the setup procedure found in - the - "Getting Ready to Develop using devtool" - Section. - + The example is a continuation of the setup procedure found in + the + "Getting Ready to Develop Using devtool" + Section. Check Out the Kernel Source Files: @@ -1161,7 +1158,7 @@ meta-mylayer. See Step 3 of the - "Getting Ready to Develop using devtool" + "Getting Ready to Develop Using devtool" section for information on setting up this layer. @@ -1212,31 +1209,31 @@ to an existing kernel, changing or adding recipes to the kernel that are needed to support specific hardware features, or even altering the source code itself. - - You can also use the yocto-kernel script - found in the - Source Directory - under scripts to manage kernel patches - and configuration. - See the "Managing kernel Patches and Config Items with yocto-kernel" - section in the Yocto Project Board Support Packages (BSP) - Developer's Guide for more information. - - This example creates a simple patch by adding some QEMU emulator - console output at boot time through printk - statements in the kernel's calibrate.c source - code file. + The example in this section creates a simple patch by adding some + QEMU emulator console output at boot time through + printk statements in the kernel's + calibrate.c source code file. Applying the patch and booting the modified image causes the added messages to appear on the emulator's console. - - The example is a continuation of the setup procedure found in - the - "Getting Ready for Traditional Kernel Development" - Section. - + The example is a continuation of the setup procedure found in + the + "Getting Ready for Traditional Kernel Development" + Section. + + + + Although this example uses Git and shell commands to generate the + patch, you could use the yocto-kernel script + found in the Source Directory + under scripts to add and manage kernel + patches and configuration. + See the "Managing kernel Patches and Config Items with yocto-kernel" + section in the Yocto Project Board Support Packages (BSP) + Developer's Guide for more information on the + yocto-kernel script. Edit the Source Files @@ -2115,114 +2112,6 @@ -
- Iteratively Modifying Source Code - - - If you do not have existing patches or configuration files and - you are using traditional kernel development methods, - you can iteratively generate them from within the BitBake build - environment as described within this section. - During an iterative workflow, running a previously completed BitBake - task causes BitBake to invalidate the tasks that follow the - completed task in the build sequence. - Invalidated tasks rebuild the next time you run the build using - BitBake. - - - - As you read this section, be sure to substitute the name - of your Linux kernel recipe for the term - "linux-yocto". - - - - You can experiment with source code changes and create a - simple patch without leaving the BitBake environment. - To get started, be sure to complete a build at - least through the kernel configuration task: - - $ bitbake linux-yocto -c kernel_configme -f - - Taking this step ensures you have the sources prepared - and the configuration completed. - You can find the sources in the build directory within the - source/ directory, which is a symlink - (i.e. ${B}/source). - The source/ directory expands to - ${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build/source. - The directory pointed to by the - source/ symlink is also known as - ${STAGING_KERNEL_DIR}. - - - - You can edit the sources as you would any other Linux source - tree. - However, keep in mind that you will lose changes if you - trigger the - do_fetch - task for the recipe. - You can avoid triggering this task by not using BitBake to - run the - cleanall, - cleansstate, - or forced - fetch - commands. - Also, do not modify the recipe itself while working - with temporary changes or BitBake might run the - fetch command depending on the - changes to the recipe. - - - - To test your temporary changes, instruct BitBake to run the - compile again. - The -f option forces the command to run - even though BitBake might think it has already done so: - - $ bitbake linux-yocto -c compile -f - - If the compile fails, you can update the sources and repeat - the compile. - Once compilation is successful, you can inspect and test - the resulting build (i.e. kernel, modules, and so forth) from - the following build directory: - - ${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build - - Alternatively, you can run the deploy - command to place the kernel image in the - tmp/deploy/images directory: - - $ bitbake linux-yocto -c deploy - - And, of course, you can perform the remaining installation and - packaging steps by issuing: - - $ bitbake linux-yocto - - - - - For rapid iterative development, the edit-compile-repeat loop - described in this section is preferable to rebuilding the - entire recipe because the installation and packaging tasks - are very time consuming. - - - - Once you are satisfied with your source code modifications, - you can make them permanent by generating patches and - applying them to the - SRC_URI - statement as described in the - "Applying Patches" - section. - -
-
Working With Your Own Sources diff --git a/documentation/kernel-dev/kernel-dev-concepts-appx.xml b/documentation/kernel-dev/kernel-dev-concepts-appx.xml index a7ce72b8ef..fbecc13875 100644 --- a/documentation/kernel-dev/kernel-dev-concepts-appx.xml +++ b/documentation/kernel-dev/kernel-dev-concepts-appx.xml @@ -129,10 +129,12 @@ the LTSI kernel is linux-yocto-4.1. - linux-yocto-4.1, - linux-yocto-4.4, and - linux-yocto-4.9 are all LTS - kernels. + For Yocto Project release 2.4, the LTSI kernel is + linux-yocto-4.9 + + + linux-yocto-4.4 is an LTS + kernel. -- cgit v1.2.3-54-g00ecf