Conceptual
Login

Built-In Code Versus Loadable Kernel Modules

Kernel features can be compiled straight into the kernel image or built as a separate file you load while the system is running. Built-in code is always present but means a rebuild and a reboot to change it; a loadable module can be swapped out in seconds. For development you almost always want the loadable form. Choosing the wrong one is why your change sometimes seems to have no effect until you reboot.

Questions this Concept answers

  • Why do driver developers prefer the loadable form while they are still developing?