How to Install or Upgrade to Kernel 6.1 in CentOS 7/Centos 8/Stream, CWP7, aaPanel and VestaCP

In this tutorial we’ll updating/installing Kernel 6.1 on Linux OS – Centos 7/8 EL7/8. So what is kernel? -A kernel is the lowest level of easily replaceable software that interfaces with the hardware in your computer/server. It is responsible for interfacing all of your applications that are running in “user mode” down to the physical hardware, and allowing processes, known as servers, to get information from each other using inter-process communication (IPC).

ELRepo supports Red Hat Enterprise Linux (RHEL) and its derivatives such as Scientific Linux, CentOS Linux, Alma Linux and Rocky Linux.

In order to Update Kernel This requirements are mandatory :

  • Centos 7/Centos 8/stream with root access
  • KVM virtualization/any other full virtualization OR Dedicated Server
  • SSH/Terminal access

Let’s started with Kernel install/update procedure :

Check current kernel version :

uname -sr

Eg. output :

[root@server ~]# uname -sr
Linux 3.10.0-1160.15.2.el7.x86_64
or
Linux 4.18.0-338.el8.x86_64 #versions may vary

Now We’ll Start the procedure of Kernel upgrade on el7/8 CentOS 7/8 :

Enable the ELRepo repository on  CentOS 7, RHEL 7 and Scientific Linux, run the below commands :

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

Enable the ELRepo repository on CentOS 8, RHEL 8, Alma Linux and Rocky Linux, run the below commands :

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

You can retrieve latest download links on official page here

Now we’ll install Kernel 6.1 with the below command :

** at the time kernel 6.1 was available as latest version, for latest versions the procedure will be the same.

yum --enablerepo=elrepo-kernel install kernel-ml -y

Now kernel 6.1 will downloaded and installed this process will take some time to complete.

Now we need to add/modify config under /etc/default/grub :

nano /etc/default/grub

And put this line or modify the line if already exists to :

GRUB_DEFAULT=saved

eg :

[root@server ~]# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=us crashkernel=auto  vconsole.font=latarcyrheb-sun16 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_DEFAULT=saved

*** here I’ve changed “GRUB_DEFAULT=saved” to “GRUB_DEFAULT=0”

Save the file and run this command to create the kernel configs :

CentOS 7/EL7 :

grub2-set-default 0
grub2-mkconfig -o /boot/grub2/grub.cfg

CentOS 8/Stream/EL8 :

grub2-mkconfig -o /boot/grub2/grub.cfg

That’s it reboot your server and check the kernel version again :

CentOS 7/EL7 :

uname -sr
[root@server ~]# uname -sr
Linux 6.1.6-1.el7.elrepo.x86_64

CentOS 8/Stream/EL8 :

uname -sr
[root@server ~]# uname -sr
Linux 6.1.6-1.el8.elrepo.x86_64

TO update Kernel on CentOS 7/EL7 :

yum clean all
yum --enablerepo=elrepo-kernel install kernel-ml
or
yum --enablerepo=elrepo-kernel update kernel-ml
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

TO update Kernel on CentOS 8/Stream/EL8 :

dnf clean all
dnf--enablerepo=elrepo-kernel install kernel-ml
or dnf --enablerepo=elrepo-kernel update kernel-ml grub2-mkconfig -o /boot/grub2/grub.cfg reboot

Clean Old Kernels :

CentOS 7/EL7 :

yum install yum-utils -y
package-cleanup --oldkernels --count=1

CentOS 8/Stream/EL8 :

dnf remove --oldinstallonly --setopt installonly_limit=2 kernel

Advanced cleanup (this will remove old kernel headers and tools):

rpm -qa kernel\* |sort -V
rpm -e --nodeps kernel-tools kernel-tools-libs kernel-headers

Eg. usage :

[root@srv1 ~]# rpm -qa kernel\* |sort -V
kernel-headers-3.10.0-957.10.1.el7.x86_64
kernel-ml-5.0.3-1.el7.elrepo.x86_64
kernel-ml-devel-5.0.3-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.10.1.el7.x86_64
kernel-tools-libs-3.10.0-957.10.1.el7.x86_64

[root@srv1 ~]# rpm -e --nodeps kernel-tools-3.10.0-957.10.1.el7.x86_64 kernel-tools-libs-3.10.0-957.10.1.el7.x86_64 kernel-headers-3.10.0-957.10.1.el7.x86_64

TO install Latest Kernel-ML devel and tool package CentOS 7/EL7 :

yum remove kernel-tools kernel-tools-libs
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml-tools

TO install Latest Kernel-ML devel and tool package CentOS 8/Stream/EL8 :

dnf remove kernel-tools kernel-tools-libs
dnf --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml-tools

Additional :

to check kernel saved entry :

grep saved /boot/grub2/grubenv
Back to top button