swift 11/12/26 16:00:00 Modified: kernel-config.xml Log: Add information about short-hand notations, use #shorthand to refer to it later
Revision Changes Path 1.9 xml/htdocs/doc/en/kernel-config.xml file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/kernel-config.xml?rev=1.9&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/kernel-config.xml?rev=1.9&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/en/kernel-config.xml?r1=1.8&r2=1.9 Index: kernel-config.xml =================================================================== RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/en/kernel-config.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- kernel-config.xml 4 Sep 2011 17:53:40 -0000 1.8 +++ kernel-config.xml 26 Dec 2011 15:59:59 -0000 1.9 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/kernel-config.xml,v 1.8 2011/09/04 17:53:40 swift Exp $ --> +<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/kernel-config.xml,v 1.9 2011/12/26 15:59:59 swift Exp $ --> <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> <guide> @@ -33,8 +33,8 @@ <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> <license/> -<version>1.4</version> -<date>2010-03-21</date> +<version>2</version> +<date>2011-12-26</date> <chapter> <title>Introduction</title> @@ -508,6 +508,120 @@ </section> </chapter> +<chapter id="shorthand"> +<title>Kernel configuration shorthand notation</title> +<section> +<title>Introduction</title> +<body> + +<p> +When you read about kernel configurations, you will often see that settings are +described as <c>CONFIG_<something></c>. This short-hand notation is what +the kernel configuration actually uses internally, and is what you will find in +the kernel configuration file (be it <path>/usr/src/linux/.config</path> or in +the auto-generated <path>/proc/config.gz</path> file). Of course, using +short-hand notation wouldn't do much good if you cannot translate this to the +real location in the kernel configuration. Luckily, the <c>make menuconfig</c> +tool allows you to do just that. +</p> + +</body> +</section> +<section> +<title>Translating CONFIG_FOO to the real configuration location</title> +<body> + +<p> +Suppose you need to enable <c>CONFIG_TMPFS_XATTR</c>, launch the kernel +configuration menu (<c>make menuconfig</c>) and type in <c>/</c>. This will open +the search box. In this search box, type <c>CONFIG_TMPFS_XATTR</c> (you can even +drop the <c>CONFIG_</c>). The next code listing shows the result of this search. +</p> + +<pre caption="Result of looking for CONFIG_TMPFS_XATTR"> +Symbol: TMPFS_XATTR [=n] +Type : boolean +Prompt: Tmpfs extended attributes + Defined at fs/Kconfig:138 + Depends on: TMPFS [=y] + Location: + -> File systems + -> Pseudo filesystems + -> Virtual memory file system support (former shm fs) (TMPFS [=y]) + Selected by: TMPFS_POSIX_ACL [=n] && TMPFS [=y] +</pre> + +<p> +This output yields lots of interesting information. +</p> + +<table> +<tr> + <th>Entry</th> + <th>Description</th> +</tr> +<tr> + <ti>Symbol: TMPFS_XATTR [=n]</ti> + <ti> + This identifies the kernel configuration entry you are looking for. It also + already tells you that the setting is currently <e>not enabled</e> ([=n]). + </ti> +</tr> +<tr> + <ti>Type: boolean</ti> + <ti> + The setting you looked for is a boolean (which means you can enable or + disable it). Some settings are numbers or strings. + </ti> +</tr> +<tr> + <ti>Prompt: Tmpfs extended attributes</ti> + <ti> + This is the text you will find in <c>make menuconfig</c> and as such, is the + entry that you are looking for in a more human readable format. + </ti> +</tr> +<tr> + <ti>Depends on: TMPFS [=y]</ti> + <ti> + Before you can even see this entry, you need to have <c>CONFIG_TMPFS</c> + enabled. In this case, this is done (hence the [=y]) but if this is not the + case, you will first need to look (and enable) <c>CONFIG_TMPFS</c>. + </ti> +</tr> +<tr> + <ti>Location: ...</ti> + <ti> + This is the location in the <c>make menuconfig</c> structure where you can + find the setting. Remember, the setting you are looking for is <e>Tmpfs + extended attributes</e>. + </ti> +</tr> +<tr> + <ti>Selected by: TMPFS_POSIX_ACL [=n] && TMPFS [=y]</ti> + <ti> + If the settings described here are both enabled (in our case, the first one + isn't), then <c>CONFIG_TMPFS_XATTR</c> will be automatically enabled as well + and you will not be able to disable it. + </ti> +</tr> +</table> + +<p> +With this information, you should be able to translate any <c>CONFIG_*</c> +requirements tossed at you easily. In short, it means you +</p> + +<ol> + <li>need to enable the settings described in the <e>Depends on</e> field</li> + <li>navigate where <e>Location:</e> points you towards</li> + <li>toggle the value referred to by <e>Prompt:</e></li> +</ol> + +</body> +</section> +</chapter> + <chapter> <title>Other kernel configuration documentation</title> <section>
