Bug 1717 - [NAS] kernel config manual is not straight forward.
Summary: [NAS] kernel config manual is not straight forward.
Status: RESOLVED FIXED
Alias: None
Product: Reference
Classification: Documentation
Component: handbook (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: Medium major
Target Milestone: 1.2 M1
Assignee: Scott Rifenbark
QA Contact:
URL: http://git.yoctoproject.org/cgit.cgi/...
Whiteboard: 13-March-2012: Resolved/Fixed
Depends on:
Blocks:
 
Reported: 2011-11-02 20:31 UTC by Shane Wang
Modified: 2012-03-13 18:49 UTC (History)
6 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Shane Wang 2011-11-02 20:31:56 UTC
The kernel config manual is not straight forward. In order to find how to config the kernel, as an experienced meta-data developer, Ke spent much time digging out where and how in the documents.
Comment 1 Darren Hart 2011-11-03 15:42:36 UTC
This should be being addressed with the yocto developer manual as well as in the kernel architecture and use manual. What was Ke trying to change?
Comment 2 Darren Hart 2011-11-03 15:45:15 UTC
.
Comment 3 Ke Yu 2011-11-03 18:55:49 UTC
What I does in NAS project is to add the kernel NFS server configuration which is disabled in default configuration.

So finally I find the "BSP developer guide" (http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html#bsp-filelayout-kernel) actually meet my requirement.

meanwhile, I still have some suggestions for the doc.
1. when i read the doc on config file part, i am not quite sure what is the format of the configuration file, is it standard kernel config file, or in other format. later i know it is standard kernel config file. but it would be good if there are some content example of the configuration file. for example,  list the eth.cfg content as:
meta-<bsp_name>/recipes-kernel/linux/linux-yocto/eth.cfg 
CONFIG_xxx=Y
CONFIG_xxx=M
...

in this case, user will immediately knows it is the standard kernel config file which he is familiar with before, and he will be happy :)

2. The other question I meet is how to generate the desired config file 
what I does is: extract the kernel source, and "make menuconfig", and use help to check the dependency. and then check the generated config file.
i know there can be many ways to achieve the goal. it would be helpful if we can provide one way for reference.

3. Another question I meet is when i debug the NAS, I once need to disable IPv6 support. so the questions are: how to disable one feature, and what if my provided config file has conflict with the default config. e.g. in my config file CONFIG_IPV6=n, while in default config, the CONFIG_IPv6=y, will that conflict?

for the question "how to disable one feature", i later know CONFIG_xxx=n works
for the question of conflict, i did not meet the conflict fortunately, so i did not know the answer actually

so I suggest the document also provide the content related to the above two question.
Comment 4 Darren Hart 2011-11-04 05:44:10 UTC
Thanks Ke. I'm adding Tom to CC and thinking Scott R can drive the changes from here.
Comment 5 Scott Rifenbark 2011-11-04 06:52:25 UTC
Yes - this manual needs work.  During the 1.1 release my time was focused on creating the YP Development manual.  The plan is to have the Kernel Manual simply be a reference and not a manual that tells you how to do much.  But rather a manual that explains how we maintain the kernel tree, how it is updated, etc.  i will try and address the specific concerns you pointed out in the appropriate place.

Thanks, 
Scott
Comment 6 Tom Zanussi 2011-11-04 07:16:02 UTC
Hmm, this shouldn't have been such a mystery.

I actually created a BKM covering such topics in preparation for a meeting with the PRC team several months ago when handing off the Pegasus BSP development. 

In it there's a section on the topic of changing config options:

BKM: starting a new BSP

"Adding new options and/or changing kernel code"

https://wiki.yoctoproject.org/wiki/BKM:_starting_a_new_BSP


In a similar vein, a couple of days ago Darren was becoming frustrated that people were having such a hard time dealing with all this kind of stuff, and I pointed him to other documents in the same place:

https://wiki.yoctoproject.org/wiki/BSPs

https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP
https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_qemu_desktop
https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another

Some of the above also provided the basis for sections already in the Developer's manual, such as Appendix A.

So the information is out there, but apparently nobody's able to find it, despite my having published links etc at various times.

So maybe the thing to do is to collect it all in a more visible place, and provide a little more narrative about where to find it and which applies to what use cases.  I know Darren was thinking of putting together something like that along with proxy information for people within Intel, sort of a one-stop-shop for people working in this area.
Comment 7 Scott Rifenbark 2011-11-04 07:26:00 UTC
Agreed Tom, 

This is what i meant by getting these concerns addressed in the right places.  I think some organization and word-smithing will help on this one.

Scott
Comment 8 Scott Rifenbark 2012-03-13 18:49:14 UTC
I have created sections in the YP BSP Guide and the YP Development Manual that specifically address kernel configuration.  These two new sections combined with the "Linux Kernel Configuration" section that is in the YP Kernel manual all combine to address the initial confusion surrounding configuration of the kernel.  The aggregated text now presents configuration concepts, points to a specific example that shows how to use menuconfig and configuration fragments for creating kernel configurations, and provides the "glue" text to help tie things together.

Much of the information and reviews was provided by Bruce Ashfield.  Here are the updated sections, which are in the "latest" versions of the manuals:

BSP Guide - http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-filelayout-kernel

Kernel Manual - http://www.yoctoprojet.org/docs/latest/kernel-manual/kernel-manual.html#kernel-configuration

Development Manual - http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#configuring-the-kernel

Scott