From: Scott Rifenbark Date: Wed, 27 Sep 2017 20:09:54 +0000 (-0700) Subject: kernel-dev: Eliminated "Generating Configuration Files" section. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fae276ea095f96278e970940840fa61ebcc9ff59;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git kernel-dev: Eliminated "Generating Configuration Files" section. This section was largely redundant now. The small things that did add value I placed in other areas of the chapter 2. One was a new section on expanding variables using bitbake -e. Another was a bit about the defconfig file. And a small procedure on how to create config fragments using the "diffconfig" command was retained. Links from the dev-manual and the ref-manual were adjusted as well. (From yocto-docs rev: 7059d3eac1fec20089cabf197503f1bec747686d) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 3f33a81b123..9c694220380 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -6770,9 +6770,6 @@ Some notes from Cal: scripts/kconfig directory. For more information on configuration fragments, see the - "Generating Configuration Files" - section of the Yocto Project Linux Kernel Development - Manual and the "Creating Configuration Fragments" section in the Yocto Project Linux Kernel Development Manual. diff --git a/documentation/kernel-dev/kernel-dev-advanced.xml b/documentation/kernel-dev/kernel-dev-advanced.xml index a6f01a8e2a6..3b830fb77f0 100644 --- a/documentation/kernel-dev/kernel-dev-advanced.xml +++ b/documentation/kernel-dev/kernel-dev-advanced.xml @@ -319,8 +319,6 @@ You can find information on configuration fragment files in the "Creating Configuration Fragments" - section and in - the "Generating Configuration Files" section. @@ -347,7 +345,7 @@ As described in the - "Generating Configuration Files" + "Validating Configuration" section, you can use the following BitBake command to audit your configuration: @@ -634,7 +632,7 @@ For information on how to break a complete .config file into the various configuration fragments, see the - "Generating Configuration Files" + "Creating Configuration Fragments" section. diff --git a/documentation/kernel-dev/kernel-dev-common.xml b/documentation/kernel-dev/kernel-dev-common.xml index 494f6af117e..9be49848e4a 100644 --- a/documentation/kernel-dev/kernel-dev-common.xml +++ b/documentation/kernel-dev/kernel-dev-common.xml @@ -1479,8 +1479,8 @@ Using  <filename>menuconfig</filename> - The easiest way to define kernel configurations is to set them through the - menuconfig tool. + The easiest way to define kernel configurations is to set + them through the menuconfig tool. This tool provides an interactive method with which to set kernel configurations. For general information on menuconfig, see @@ -1495,8 +1495,8 @@ &OE_INIT_FILE; script found in the Build Directory. - You must also be sure of the state of your build's configuration - in the + You must also be sure of the state of your build's + configuration in the Source Directory. The following commands initialize the BitBake environment, run the @@ -1516,6 +1516,17 @@ After making your changes, simply exit the tool and save your changes to create an updated version of the .config configuration file. + + You can use the entire .config file + as the defconfig file. + For information on defconfig files, + see the + "Changing the Configuration", + "Using an In-Tree defconfig File, + and + "Creating a defconfig File" + sections. + @@ -1655,10 +1666,8 @@ after applying the existing defconfig file configurations. For more information on configuring the kernel, see the - "Changing the Configuration" - and - "Generating Configuration Files" - sections. + "Changing the Configuration" + section. @@ -1695,6 +1704,7 @@ It is simple to create a configuration fragment. + One method is to use shell commands. For example, issuing the following from the shell creates a configuration fragment file named my_smp.cfg that enables multi-processor @@ -1710,6 +1720,66 @@ + + Another method is to create a configuration fragment using the + differences between two configuration files: one previously + created and saved, and one freshly created using the + menuconfig tool. + + + + To create a configuration fragment using this method, follow + these steps: + + + Complete a Build Through Kernel Configuration: + Complete a build at least through the kernel + configuration task as follows: + + $ bitbake linux-yocto -c kernel_configme -f + + This step ensures that you create a + .config file from a known state. + Because situations exist where your build state might + become unknown, it is best to run this task prior + to starting menuconfig. + + + Launch menuconfig: + Run the menuconfig command: + + $ bitbake linux-yocto -c menuconfig + + + + Create the Configuration Fragment: + Run the diffconfig + command to prepare a configuration fragment. + The resulting file fragment.cfg + is placed in the + ${WORKDIR} directory: + + $ bitbake linux-yocto -c diffconfig + + + + + + + The diffconfig command creates a file + that is a list of Linux kernel CONFIG_ + assignments. + See the "Changing the Configuration" + section for additional information on how to use the output + as a configuration fragment. + + You can also use this method to create configuration + fragments for a BSP. + See the "BSP Descriptions" + section for more information. + + + Where do you put your configuration fragment files? You can place these files in an area pointed to by @@ -1976,6 +2046,24 @@ +
+ Expanding Variables + + + Sometimes it is helpful to determine what a variable expands + to during a build. + You can do examine the values of variables by examining the + output of the bitbake -e command. + The output is long and is more easily managed in a text file, + which allows for easy searches: + + $ bitbake -e virtual/kernel > some_text_file + + Within the text file, you can see exactly how each variable is + expanded and used by the OpenEmbedded build system. + +
+
Working with a "Dirty" Kernel Version String @@ -2045,102 +2133,6 @@ "linux-yocto". -
- Generating Configuration Files - - - You can manipulate the .config file - used to build a linux-yocto recipe with the - menuconfig command as follows: - - $ bitbake linux-yocto -c menuconfig - - This command starts the Linux kernel configuration tool, - which allows you to prepare a new - .config file for the build. - When you exit the tool, be sure to save your changes - at the prompt. - - - - The resulting .config file is - located in the build directory, - ${B}, - which expands to - ${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build. - You can use the entire .config file as the - defconfig file as described in the - "Changing the Configuration" section. - For more information on the .config file, - see the - "Using menuconfig" - section. - - You can determine what a variable expands to by looking - at the output of the bitbake -e - command: - - $ bitbake -e virtual/kernel - - Search the output for the variable in which you are - interested to see exactly how it is expanded and used. - - - - - A better method is to create a configuration fragment using the - differences between two configuration files: one previously - created and saved, and one freshly created using the - menuconfig tool. - - - - To create a configuration fragment using this method, follow - these steps: - - Complete a build at least through the kernel - configuration task as follows: - - $ bitbake linux-yocto -c kernel_configme -f - - This step ensures that you will be creating a - .config file from a known state. - Because situations exist where your build state might - become unknown, it is best to run the previous - command prior to starting up - menuconfig. - - Run the menuconfig - command: - - $ bitbake linux-yocto -c menuconfig - - Run the diffconfig - command to prepare a configuration fragment. - The resulting file fragment.cfg - will be placed in the - ${WORKDIR} directory: - - $ bitbake linux-yocto -c diffconfig - - - - - - The diffconfig command creates a file that is a - list of Linux kernel CONFIG_ assignments. - See the "Changing the Configuration" - section for information on how to use the output as a - configuration fragment. - - You can also use this method to create configuration - fragments for a BSP. - See the "BSP Descriptions" - section for more information. - - -
-
Modifying Source Code diff --git a/documentation/kernel-dev/kernel-dev-faq.xml b/documentation/kernel-dev/kernel-dev-faq.xml index 9e0517d4af9..b2cf2d4d0da 100644 --- a/documentation/kernel-dev/kernel-dev-faq.xml +++ b/documentation/kernel-dev/kernel-dev-faq.xml @@ -36,7 +36,8 @@ - Refer to the "Generating Configuration Files" + Refer to the + "Creating Configuration Fragments" section for information. diff --git a/documentation/kernel-dev/kernel-dev-intro.xml b/documentation/kernel-dev/kernel-dev-intro.xml index 174ab93ab00..885a54ce1ef 100644 --- a/documentation/kernel-dev/kernel-dev-intro.xml +++ b/documentation/kernel-dev/kernel-dev-intro.xml @@ -212,7 +212,7 @@ Applicable: If your situation calls for changing the kernel's configuration, you can use - menuconfig, + menuconfig, which allows you to interactively develop and test the configuration changes you are making to the kernel. Saving changes you make with menuconfig diff --git a/documentation/ref-manual/ref-tasks.xml b/documentation/ref-manual/ref-tasks.xml index e145518989e..2b3856f5c01 100644 --- a/documentation/ref-manual/ref-tasks.xml +++ b/documentation/ref-manual/ref-tasks.xml @@ -883,7 +883,7 @@ $ bitbake linux-yocto -c diffconfig For more information, see the - "Generating Configuration Files" + "Creating Configuration Fragments" section in the Yocto Project Linux Kernel Development Manual.
@@ -918,7 +918,7 @@ $ bitbake linux-yocto -c kernel_configcheck -f For more information, see the - "Generating Configuration Files" + "Validating Configuration" section in the Yocto Project Linux Kernel Development Manual.
@@ -956,12 +956,9 @@ See the - "Generating Configuration Files" + "Using menuconfig" section in the Yocto Project Linux Kernel Development Manual for more information on this configuration tool. - You can also reference the - "Using menuconfig" - section in the Yocto Project Linux Kernel Development Manual.