LWN.net Logo

Kernel configuration for distributions

Kernel configuration for distributions

Posted Jul 19, 2012 6:35 UTC (Thu) by drjones (subscriber, #60990)
In reply to: Kernel configuration for distributions by awesomeman
Parent article: Kernel configuration for distributions

CONFIG_EXPERT is a great idea, but it doesn't work as advertised. The idea, according to its help text, is to hide config options from the config menu that most people would never want to modify (options for "non-standard" kernels). However, if you flip this option on, you not only expose those options for modification, but several defaults are *changed*, giving your config an embedded personality. If you're not building an embedded kernel, then EXPERT isn't useful. Getting EXPERT to work as advertised, or implementing some other scheme that hides/exposes standard options, makes sense in order to reduce config menu complexity. An overhaul of config option default value management (maybe with some hierarchical defconfig type scheme) might also be nice.


(Log in to post comments)

Kernel configuration for distributions

Posted Jul 19, 2012 15:15 UTC (Thu) by WolfWings (guest, #56790) [Link]

The problem is actually that 'EXPERT=n' sets several options certain ways, but their default values are not those settings.

So technically, turning EXPERT=y is returning things to their true defaults, that 'embedded personality' as you put it.

I.E. I believe this would count as a kernel bug of sorts: The defaults for some values do not match their 'EXPERT=n' case, causing toggling that to change other unrelated features when nothing else has been changed.

Kernel configuration for distributions

Posted Jul 19, 2012 16:00 UTC (Thu) by drjones (subscriber, #60990) [Link]

I can see how the use of 'default !EXPERT' in Kconfig files can be interpreted this way, and it may be the case for some of 'default !EXPERT' options. However, if you take the options in usr/Kconfig, for example, and look at commits

73d8a12f0529 bzip2/lzma: move CONFIG_RD_* options under CONFIG_EMBEDDED
6a108a14fa35 kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT

you'll see from the commit message of 73d8a12f0529 that the toggling default was selected with the init section size of the kernel for embedded systems in mind, and then later 6a108a14fa35 simply renamed EMBEDDED. IMHO, the general symbol name EXPERT should do nothing except expose more options to the menu. Toggling defaults to be more embedded friendly was better left to the symbol EMBEDDED.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds