three major kernel modules: file system drivers, device drivers, and system
calls.
One major reason why people prefer to compile their kernels is that some
drivers (and other kernel features) need to be patched. At times some of the
kernel features may get broken. When this is the case,
patching up may
need the user to develop their kernels. Another case where a person may
develop a kernel is when they need to update
the drivers or needs to use
new ones. They may result in developing a new kernel. Compiling one’s
kernels will mean that the person will remove some kernels and build new
ones. The process of removing the older kernels and replacing them with
new ones will mean that the system is optimized.
The optimization, in many
cases, can result in a faster system for the user. However, this is just an
advantage and not a reason to build and replace kernels.