Linux Kernel Overview
What is the Linux Kernel?
The Linux kernel is the core software that acts as an interface between the hardware and various software applications running on your system.
uname
uname command can be used to view kernel and system information.
uname -flag
| Flag | Function |
| -r | View current kernel version |
| -i | View current hardware platform |
| -a | Print all information |
After installing a new kernel version, a server reboot is required.
Where is the Linux Kernel stored?
Typically, the kernel file itself (located within /boot) is prefaced with 'vmlinuz', for example:
vmlinuz-5.15.0-106-generic
Note; is the kernel is prefaced with vmlinuz - this means that the kernel is compressed and must be uncompressed on boot. If the kernel file is prefaced with vmlinux - then it isn't compressed.
Working on Linux systems, you may see systems with various kernels installed.
To check which kernel is currently being treated as the primary one (which will be loaded on boot), you can check the symlinks (in /boot), as below:
vmlinuz -> vmlinuz-5.15.0-107-generic
vmlinuz.old -> vmlinuz-5.15.0-106-generic
initrd
What is initrd?
initrd (initialisation RAM disk) is essentially a set of instructions used to load the kernel. initrd is stored temporarily in system memory whilst the kernel is loaded.
Which file in /boot is initrd?
The initrd file will be prefaced with just that - initrd:
initrd.img-5.15.0-106-generic
To check which initrd file is currently being treated as the primary one (which will be loaded on boot), you can check the symlinks (in /boot), as below:
initrd.img -> initrd.img-5.15.0-107-generic
initrd.img.old -> initrd.img-5.15.0-106-generic