How to upgrade Kernel in Red Hat Linux to kernel-PAE

Let me brief you about kernel-PAE. In most of the servers the RAM requirement some times exceeds more than 8 GB RAM. But a normal Red Hat kernel can support only upto 8 GB RAM and in case you increase the value the exceeded amount of RAM is not visible. So to overcome this situation we use kernel-PAE.

In this post I will show you the steps to upgrade your kernel. Make you are you use the correct version of rpm file if you are downloading it from an external source.

The following commands are tested on Red Hat and CentOS.

Check the version of kernel installed in your machine
# rpm -qa | grep kernel
(this will list you with all the kernel installed in your system)
# yum upgrade kernel
(this will upgrade your system with the new kernel)

Make sure that if you are using yum upgrade then you DO NOT need to restart your system to make the achanges affect. Once the command is sucessfully executed, you can use
# rpm -qa | grep kernel
to check if the kernel has been upgraded properly. To confirm the same you can also check the entries in grub.conf as shown below
# less /boot/grub/grub.conf
default=1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-8.el5xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.18-8.el5
module /boot/vmlinuz-2.6.18-8.el5xen ro root=LABEL=/ rhgb quiet
module /boot/initrd-2.6.18-8.el5xen.img
If you want to switch your kernel to some other version manually using yum. It happens when we want to install kernel-PAE instead of normal kernel so that our servers can detect RAM more than 4 GB. Normal kernel is capable of detecting RAM upto 4 GB so generally in servers we prefer kernel PAE which can read uptill 64 GB of RAM.

For more details on the same you can check the following link kernel-PAE (Physical Address Extension)
# yum install kernel-PAE
(this will install kernel-PAE and add a new entry in grub.conf)
If you are following this procedure then make sure once the command is executed properly you will have to restart your server with the new kernel for the changes to take affect.

NOTE: Do not remove the old kernel without making sure your newly installed kernel is working properly as it can lead to harsh consequences.

Now once the new kernel is installed, this is what you need to do.
# vi /boot/grub/grub.conf
default=1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-8.el5xen)
root (hd0,0)
kernel /boot/xen.gz-2.6.18-8.el5
module /boot/vmlinuz-2.6.18-8.el5xen ro root=LABEL=/ rhgb quiet
module /boot/initrd-2.6.18-8.el5xen.img

title Red Hat Enterprise Linux Server (2.6.18-8.el5PAE)
root (hd0,0)
kernel /boot/.gz-2.6.18-8.el5 module /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet
module /boot/initrd-2.6.18-8.el5.img

change the
default=1 ==> default=0
and boot your OS and if your machine boots up properly then you can remove the old kernel using this command

# rpm -e kernel-2.x.x.xel5
(you can check the correct version of the kernel using the very first command on this page)

Follow the below links for more tutorials: