In this post, we are going to see How to boot with an old kernel in RHEL4,5,6/CentOS Operating systems.
RedHat Operating System uses GRUB boot loader as default one globally.
We can boot update the kernel using Yum/ RPM Package management like other package upgrades which we are doing.
Use the below command to know which boot loader installed on your OS.
#grubby -bootloader-probe
Changing kernel:
/boot/grub/grub.conf is the grub configuration file.
#cat /boot/grub/grub.conf
default=0 timeout=5 password --encrypted $6$GXGrYVEnbKXAnQoT$p64OkyclNDt4qM2q47GMsgNxJxQaclNs79gvYYsl4h07ReDtJpt5P5kQn1KQ52u2eW8pKHTqcG50ffv0UlRcW0 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Red Hat Enterprise Linux 6.4 (2.6.32-358.el6.x86_64) ===> kernel 0 root (hd0,0) kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/mapper/vg_geeklab-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_geeklab/lv_swap rd_LVM_LV=vg_geeklab/lv_root rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-358.el6.x86_64.img title Red Hat Enterprise Linux 6.3 (2.6.32-279.el6.x86_64) ===> kernel 1 root (hd0,0) kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_geeklab-lv_root rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_geeklab/lv_swap rd_LVM_LV=vg_geeklab/lv_root rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-279.el6.x86_64.img
In this, we can see Default will be 0. From this, we can understand OS will read by the default top kernel.
Whenever we are upgrading the kernel that will be coming up and considered as 0 and old kernel will be marked as 1.
So, We should change the number from “0” to “1” on below line of /boot/grub/grub.conf file using vi editor and save it.
default=1
We done the needed configuration change to boot the OS with an old kernel.
On the next boot it will take effect.
Using below command reboot the system and then check whether its booting with old kernel or new one.
#shutdown -r now
Use the below command to check the kernel versions which is in use right now
#uname -r