When configuring a Linux kernel, I normally start with my distribution’s kernel config file. I often want to turn off some entries, but they are sometimes unchangeable because other CONFIG options that depend on it are enabled.
I can look up the dependencies manually, which often have dependencies of their own. It can be pretty time consuming to did through them all, especially if you’re trying to turn off something like CONFIG_KALLSYMS.
Question: Is there a way to specify a CONFIG option you want gone, and have all dependencies automatically selected/disselected as nessisary for you? I looked through all the make options and in the scripts directory, and didn’t see anything available for this.
UPDATE: Someone answered saying make oldconfig should do the job after removing (deleting) the desired CONFIG options from the .config file, but that didn’t work (his answer then disappeared):
$ make oldconfig
scripts/kconfig/conf -o arch/x86/Kconfig
*
* Restart config...
*
*
* Configure standard kernel features (for small systems)
*
Configure standard kernel features (for small systems) (EMBEDDED) [N/y/?] n
Load all symbols for debugging/ksymoops (KALLSYMS) [Y/?] (NEW) y
Include all symbols in kallsyms (KALLSYMS_ALL) [Y/?] (NEW) y
Do an extra kallsyms pass (KALLSYMS_EXTRA_PASS) [N/y/?] (NEW)
It automatically said “y” two the first two, and I’m trying to find an automated way to remove them and keep them gone.
It looks like Kconfiglib, by Ulf Magnusson, will let you grok the configuration dependencies in Python and modify configurations settings: http://lwn.net/Articles/426013 — beyond that, I’ve found discussion of the issue but no resolution.
Some helpful items for Kconfiglib: