RHCSA – Linux Kernal Overview

Overview

By the end of this article you should be able to answer the following questions:


What is the command to display the version of the kernel running?

$ uname -r

Where are the kernel modules stored?

/lib/modules

What is the command to list all the available kernel files?

$ ls -lh /boot | grep vmlinuz

Which top level folder does the kernel creates during bootup?

– /proc (houses running process’s data)
– /sys (houses system device drivers)
– /dev (houses file representation of all your devices)

What is the command to view help info about your high level folders?

$ man hier


The Linux kernel is the core of your OS. You can find out what is your kernel’s version using the uname command:

$ uname -r
3.10.0-229.14.1.el7.x86_64

As a safety measure, never update an existing kernel, just install a new one. Yum is smart enough to do this for you.

The linux kernel is amonolithic kernel.

The Linux kernel loads device drivers and filesystem drivers from kernel modules. These modules are loaded dynamically, as and when needed. These kernel modules can be found in the

/lib/modules

directory:

$ ls -l /lib/modules
total 8
drwxr-xr-x. 8 root root 4096 Sep 19 20:58 3.10.0-229.14.1.el7.x86_64
drwxr-xr-x. 7 root root 4096 Sep 16 19:31 3.10.0-229.el7.x86_64

The kernel itself can be found in the /boot folder, here is an example of a kernel file:

$ ls -lh /boot | grep vmlinuz
-rwxr-xr-x. 1 root root 4.8M Sep 16 19:31 vmlinuz-0-rescue-bb2262658ee64941afea091071b78f45
-rwxr-xr-x. 1 root root 4.8M Sep 15 16:14 vmlinuz-3.10.0-229.14.1.el7.x86_64
-rwxr-xr-x. 1 root root 4.8M Mar  6  2015 vmlinuz-3.10.0-229.el7.x86_64

“vmlinuz” refers to the fact that the Linux kernel is stored in a compressed image file. This gets decompressed during bootup.

During boot-up, the kernel creates the following folders:

  • /proc – This contains running processes and any kernel parameters that can modify
  • /sys – This contains the detected system devices and details about their drivers. However system devices are not accessible via this folder, they are accessible via the /dev folder.
  • /dev – This stores the access points for your devices

For help info about these high level directories as well as others, checkout:

$ man hier