So, how do you decide the initial kernel configuration to begin with? Several techniques exist; a few common ones are as follows:
- Don't specify anything; the kbuild system will pull in a default kernel configuration.
- Use the existing distribution's kernel configuration.
- Build a custom configuration based on the kernel modules currently loaded in memory.
The first approach has the benefit of simplicity. The kernel will handle the details, giving you a default configuration. The downside is that the default config is really pretty large (here, we mean with reference to building Linux for an x86-based desktop or server-type system) – a huge number of options are turned on, just in case, which can make the build time very long and kernel image size very large. Of course, you are then expected to manually configure the kernel to the desired settings.
This brings up the question, where is the default kernel config stored? The kbuild...