What does "compiling a kernel" mean?

What is meant by term kernel compilation?

Does it involve working directly on the source code of the kernel; making changes to the kernel program and then compiling the whole source code? Or does it mean something different?

If compiling the kernel involves working on the source code; then where do i get the kernel source code?

And after somebody compiles the kernel according to his needs, then does kernel automatically get registered in grub file and ready for the next boot time?


Solution 1:

Yes, compiling a kernel usually means:

  1. Downloading the source code.
  2. Possibly modifying the source code (most non-programmers don't usually do this).
  3. Configuring the kernel (what features/modules/drivers to include, etc.)
  4. Compiling it.

Instead of just make/make install, most people use a special toolchain that will generate debs at the end; you can simply install these with dpkg and have the GRUB, etc. parts taken care of.

Please see this question for a how-to: What's a simple way to recompile the kernel?