There is a -i argument to RPM to install packages, but it is more convenient to use –U when installing and upgrading software because -U installs or upgrades the package depending on whether or not it is already installed. However, there is an exception: installing a new kernel. When installing a new kernel, you should keep the current kernel installed in case the new kernel does not work with the system’s hardware, does not perform as well as the current kernel, or causes other problems. When you use the –U argument to RPM, the older version of the software package is no longer available.
For most packages, you will receive an error message when trying to use the -i argument to upgrade a package if you already have an older version installed. With the kernel package, you will not receive this error because it is possible to have multiple versions of the kernel installed. Thus, it is recommended that you always use the rpm -ivh kernel-<version> -<release>.<arch>.rpm command when upgrading the kernel so the older kernel remains on the system. The system must be rebooted to enable the new kernel. After rebooting, you will notice the new kernel in the list of possible boot choices. By default, the system boot loader is configured to boot the new kernel. To modify which kernel is booted by default, edit the boot loader configuration file for your architecture. Chapter 2, “Post-Installation Configuration,” contains example boot loader files for all architectures.
For x86 and x86_64 systems, modify the value of the default option in /etc/grub.conf file. Each kernel installed has a section in /etc/grub.conf starting with a title line such as the one shown in Listing 5.4. The value of the default option is the number of the title section, with the count starting at 0 and going from the first title section listed to the bottom of the file.
If you are unable to boot the new kernel to modify the bootloader configuration file, you can choose a different kernel using the up and down arrow keys at the bootloader screen shown as the system is booting and before the kernel is loaded.