The infrastructure that the Linux kernel uses to configure and build the kernel is known as the kbuild system. Without delving into the gory details, the kbuild system ties together the complex kernel configuration and build process via four key components:
- The CONFIG_FOO symbols
- The menu specification file(s), called Kconfig
- The Makefile(s)
- The overall kernel config file itself
The purpose of these components is summarized as follows:
Kbuild component | Purpose in brief |
Config symbol: CONFIG_FOO |
Every kernel configurable FOO is represented by a CONFIG_FOO macro. Depending on the user's choice, the macro will resolve to one of y, m, or n: - y=yes: Implying to build the feature into the kernel image itself
- m=module: Implying to build it as a separate object, a kernel module
- n=no: Implying not to build the feature Note that CONFIG_FOO is an alphanumeric string (as we will soon see, you can look up the precise... |