The Kconfig file at the root of the kernel source tree is used to fill in the initial screen of the menuconfig UI. Take a look at it if you wish. It works by sourcing various other Kconfig files in different folders of the kernel source tree. The following table summarizes the more important Kconfig* files and which menu they serve in the kbuild UI:
Menu | Kconfig file location for it |
The main menu, the initial screen |
Kconfig |
General setup + Enable loadable module support |
init/Kconfig |
Processor types and features |
arch/<arch>/Kconfig |
Power management |
kernel/power/Kconfig |
Firmware drivers |
drivers/firmware/Kconfig |
Virtualization |
arch/<arch>/kvm/Kconfig |
General architecture-dependent options |
arch/Kconfig |
Enable the block layer |
block/Kconfig |
Executable... |