From 333f776d6cf163ae1f6a375db000dcdd2989532f Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 13 Mar 2012 12:34:30 -0600 Subject: documentation: Updates for [YOCTO #1717]. Minor edits to the BSP Guide, the Development Manual, and the Kernel Manual to address [YOCTO #1717], which noted confusion over the kernel manual when a user was trying to find kernel configuration information. The fix for this bug involved several areas. I had previously created a new section called "Kernel Configuration" in the kernel manual and "Configuring the Kernel" in the YP Development manual. There were several rounds of feedback from Bruce Ashfield. This commit represents the final touches on the three manuals to address the bug. Fixes [YOCTO #1717] (From yocto-docs rev: de8f85753ad1d6dde66adb6bb4cb09e9528c7cd6) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/bsp-guide/bsp.xml | 49 ++++++++++++++-------- .../dev-manual/dev-manual-common-tasks.xml | 12 +++--- documentation/kernel-manual/kernel-concepts.xml | 6 +-- 3 files changed, 41 insertions(+), 26 deletions(-) (limited to 'documentation') diff --git a/documentation/bsp-guide/bsp.xml b/documentation/bsp-guide/bsp.xml index a49c0bef0b..a8d571c038 100644 --- a/documentation/bsp-guide/bsp.xml +++ b/documentation/bsp-guide/bsp.xml @@ -513,7 +513,7 @@ Yocto Project Files at meta/recipes-kernel/linux. You can append your specific changes to the kernel recipe by using a - similarly named append file, which is located in BSP Layer (e.g. + similarly named append file, which is located in the BSP Layer (e.g. the meta-<bsp_name>/recipes-kernel/linux directory). @@ -571,12 +571,17 @@ SRCREV_machine_pn-linux-yocto_crownbay ?= "63c65842a3a74e4bd3128004ac29b5639f16433f" SRCREV_meta_pn-linux-yocto_crownbay ?= "59314a3523e360796419d76d78c6f7d8c5ef2593" - The append file defines crownbay as the compatible machine, - defines the KMACHINE, points to some configuration fragments - to use by setting the KERNEL_FEATURES variable, and then points - to the specific commits in the Yocto Project Files Git repository and the - meta Git repository branches to identify the exact kernel needed - to build the Crown Bay BSP. + The append file defines crownbay as the compatible machine and + defines the KMACHINE. + The file also points to some configuration fragments to use by setting the + KERNEL_FEATURES variable. + The location for the configuration fragments is the kernel tree itself in the + Yocto Project Build + Directory under linux/meta. + Finally, the append file points to the specific commits in the + Yocto Project Files Git + repository and the meta Git repository branches to identify the + exact kernel needed to build the Crown Bay BSP. One thing missing in this particular BSP, which you will typically need when @@ -591,14 +596,14 @@ For example, suppose you had a set of configuration options in a file called - defconfig. + myconfig. If you put that file inside a directory named /linux-yocto and then added a SRC_URI statement such as the following to the append file, those configuration options will be picked up and applied when the kernel is built. - SRC_URI += "file://defconfig" + SRC_URI += "file://myconfig" @@ -608,30 +613,40 @@ into their own files and add those by using a SRC_URI statement like the following in your append file: - SRC_URI += "file://defconfig \ + SRC_URI += "file://myconfig \ file://eth.cfg \ file://gfx.cfg" - The FILESEXTRAPATHS variable is in boilerplate form here - in order to make it easy to do that. - It basically allows those configuration files to be found by the build process. + The FILESEXTRAPATHS variable is in boilerplate form in the + previous example in order to make it easy to do that. + This variable must be in your layer or BitBake will not find the patches or + configurations even if you have them in your SRC_URI. + The FILESEXTRAPATHS variable enables the build process to + find those configuration files. Other methods exist to accomplish grouping and defining configuration options. - For example, you could directly add configuration options to the Yocto kernel + For example, if you are working with a local clone of the kernel repository, + you could checkout the kernel's meta branch, make your changes, + and then push the changes to the local bare clone of the kernel. + The result is that you directly add configuration options to the Yocto kernel meta branch for your BSP. The configuration options will likely end up in that location anyway if the BSP gets added to the Yocto Project. For an example showing how to change the BSP configuration, see the - "Changing the BSP Configuration" section - in the Yocto Project Development Manual. + "Changing the BSP Configuration" + section in the Yocto Project Development Manual. + For a better understanding of working with a local clone of the kernel repository + and a local bare clone of the kernel, see the + "Modifying the Kernel + Source Code" section also in the Yocto Project Development Manual. In general, however, the Yocto Project maintainers take care of moving the SRC_URI-specified - configuration options to the meta branch. + configuration options to the kernel's meta branch. Not only is it easier for BSP developers to not have to worry about putting those configurations in the branch, but having the maintainers do it allows them to apply 'global' knowledge about the kinds of common configuration options multiple BSPs in diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 90d9b54726..088c529b97 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -1722,8 +1722,8 @@ so that there are some definite steps on how to do this. I need more detail her Where do you put your configuration files? - You can place these configuration files in the same area to which the - SRC_URI points. + You can place these configuration files in the same area pointed to by + SRC_URI. The Yocto Project build process will pick up the configuration and add it to the kernel's configuration. For example, assume you add the following to your @@ -1731,10 +1731,10 @@ so that there are some definite steps on how to do this. I need more detail her file://my_smp.cfg - You would put the config fragment file my_smp.cfg in your - layer right beneath the directory containing the - linux-yocto_3.0.bbappend file and the build system - will pick up and apply the fragment. + You would put the config fragment file my_smp.cfg in a + sub-directory with the same root name (linux-yocto) + beneath the directory that contains your linux-yocto_3.0.bbappend + file and the build system will pick up and apply the fragment. diff --git a/documentation/kernel-manual/kernel-concepts.xml b/documentation/kernel-manual/kernel-concepts.xml index a82977dc49..54d75f6c16 100644 --- a/documentation/kernel-manual/kernel-concepts.xml +++ b/documentation/kernel-manual/kernel-concepts.xml @@ -318,16 +318,16 @@ Conceptually, Linux Yocto kernel configuration occurs similarly to that needed for any Linux kernel. - The Linux Yocto kernel build process uses a .config, which + The Linux Yocto kernel build process uses a .config file, which is created through the Linux Kernel Coinfiguration (LKC) tool. You can directly set various configurations in the .config file by using the menuconfig tool as built by BitBake. - You can also affect the configurations in the file by using configuration fragments. + You can also define configurations in the file by using configuration fragments. It is not recommended that you edit the .config file directly. - Here is are some brief descriptions of the ways you can affect the + Here are some brief descriptions of the ways you can affect the .config file: The menuconfig Tool: -- cgit v1.2.3-54-g00ecf