I am compiling a custom Linux kernel from the source tree, is there any place where all the Linux kernel config options and description is available. It is hard to find a description for each option and its use-case.

2 Answers 2


Options with descriptions are specified in Kconfig in each subdirectoy. To see all of them, you need to concatenate all Kconfig files (e.g. using find), or you can do something like make menuconfig, where you have a hierarchical menu with descriptions as help texts.

The currently selected options are stored in the .config file in the root directory.


Are you perhaps trying to write a kernel .config file manually from scratch? The kernel source Makefiles have built-in configuration tools: for example, run make menuconfig to get a text-based menu interface for configuring the kernel. See Documentation/admin-guide/README.rst for a complete list of configuration tools available.

The configuration tools include a help function that will be able to describe most options. Those options that don't have a help description tend to be one of the following:

  • very new, possibly experimental parts of the kernel (so a help description has not been written yet - feel free to submit a patch to add a suitable description in this case).

  • technical settings that are determined automatically based on other settings (for example, when you set the CPU type, a whole lot of settings are automatically set according to the features available in that CPU type)

  • debugging settings that are intended for the developers of a particular driver or other kernel component only - if you need to change these, you should either be one of those developers or at least already contacting them.

The help texts come from the Kconfig files in each sub-directory of the kernel source code.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .