On Linux how many kernel you can compile at the same time and how many kernel you can load in Linux?

last updated in Categories

Q. I see few kernels while booting my Linux system. My question is on Linux how many kernel you can compile at the same time and how many Kernel you can load in Linux?

A. You can compile as many as kernel (or different version of same kernel with different features such as router or particular device driver) you want. You are limited by disk space only. However you can load only one kernel at a time on a physical system.

There exists a combination of hardware and software that allows you to load multiple Linux kernel using special technique called Virtualization. It is the technique of managing and presenting storage devices and resources functionally, regardless of their physical layout or location. For example XEN or Vmware software provides Virtualization facility to load multiple kernel and application on a single physical system.


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

5 comment

  1. The answer is not entirely correct.

    You can run the Linux kernel as a program inside your currently running kernel. It requires some tweaking and compiling, but it is very much possible and it is not virtualisation

  2. Yup, UML is virtualization only. Basically with server virtualization, one can create multiple virtual servers on a single physical server. Each virtual server has its own set of virtual hardware on which an operating system and application are loaded. Generally XEN and Vmware used but as you pointed out UML one of such solution. In short you cannot boot same version of kernel.

  3. while making my LFS and moving from LFS to BLFS? i figured that? i can compile N-number of kernels and also load them. and andy _is_ right user-mode-linux can also be used to load a specific kernel, especially when you are playing with gcc optimisation and also when cross compiling kernel. the userspace and userland is chrooted and schrooted for smooth execution.

    Still, have a question? Get help on our forum!