Describing Linux's build system
The Linux kernel is a monolithic kernel and as such shares the same address space. Although it has the ability to load modules at runtime, the kernel must contain all the symbols the module uses at compilation time. Once the module is loaded, it will share the kernel's address space.
The kernel build system, or kbuild, uses conditional compilation to decide which parts of the kernel are compiled. The kernel build system is independent of the Yocto build system.
In this recipe, we will explain how the kernel's build system works.
How to do it...
The kernel configuration is stored in a .config
text file in the kernel root directory. The kbuild system reads this configuration to build the kernel. The .config
file is referred to as the kernel configuration file. There are multiple ways to define a kernel configuration file:
Manually editing the
.config
file, although this is not recommended.Using one of the user interfaces the kernel offers (type the make help command...