Getting Started with Oracle Unbreakable Enterprise Kernel Release 2

by Lenz Grimmer, March 2012

How to replace your Linux kernel with Release 2 of Oracle's Unbreakable Enterprise Kernel.

Introduction

This article describes how you can update your Oracle Linux systems to the latest version of the Unbreakable Enterprise Kernel. By switching to the latest Unbreakable Enterprise Kernel, you can get the latest innovations in mainline Linux. Switching is easy—applications and the operating system remain unchanged. There is no need to perform a full re-install; only the relevant RPM packages are replaced. You can obtain future updates easily from the Unbreakable Linux Network to keep your systems fully patched and secured.

At the time of this publishing, Unbreakable Enterprise Kernel Release 2 (version 2.6.39) was just released as an update for the first Unbreakable Enterprise Kernel (version 2.6.32). To learn more about the new features and benefits of using Unbreakable Enterprise Kernel Release 2, see the feature overview page and the release notes.

The examples used below are based on these versions, but a similar procedure should work for future kernel update releases as well.

This article describes two different installation methods:

  • The first method, using the Oracle Unbreakable Linux Network, requires a valid Oracle Linux Support subscription.
  • The second method involves obtaining the Unbreakable Enterprise Kernel from the public yum package repository.

It is assumed that you already have Oracle Linux 5 or 6 installed and you are running either the Unbreakable Enterprise Kernel Release 1 (2.6.32) or the Red Hat–compatible kernel (2.6.18 on Oracle Linux 5, 2.6.32 on Oracle Linux 6).

Unbreakable Enterprise Kernel Release 2 can be installed on Oracle Linux 5 Update 8 or newer, as well as on Oracle Linux 6 Update 2 or newer. If you're still running an older version of Oracle Linux, make sure you first update your system to the latest available minor release.

About the Unbreakable Enterprise Kernel for Oracle Linux

Oracle Linux with the Unbreakable Enterprise Kernel is Oracle's fully supported, tested, and certified Linux operating system for the enterprise. Oracle Linux is free to download, use, and distribute, and it is optimized to run Oracle hardware, databases, and middleware. You can obtain ISO images of the installation media from the Oracle Software Delivery Cloud without charge (requires registration).

The Oracle Linux base distribution is 100% userspace-compatible with Red Hat Enterprise Linux (RHEL). However, the Unbreakable Enterprise Kernel is released on an independent schedule and is always based on a recent version of the mainline Linux kernel. As a result, it delivers the latest innovations from mainline Linux, combined with tested performance and stability. It is installed and booted by default; major updates of the Unbreakable Enterprise Kernel are usually published every 12 to 18 months.

Installing the Unbreakable Enterprise Kernel from the Unbreakable Linux Network

The Unbreakable Linux Network (ULN) is a comprehensive and easy-to-use Website for Oracle Linux Support subscribers, which offers access to Linux software patches, updates, and fixes, along with documentation and support policies.

In order to get access to ULN you need to have a valid support subscription, which you can purchase online from the Oracle Linux Store.

Once you have successfully logged in to ULN, you first need to register your system. See the Unbreakable Linux Network FAQ for more details about this process. When you register a server, it is automatically subscribed to a channel that provides the latest Oracle Linux packages and updates for the respective version and architecture.

Continuously updated packages of the Unbreakable Enterprise Kernel are made available on ULN in a separate channel; you need to be subscribed to the appropriate channel for your system's operating system version.

Once your system is registered with ULN, you need to subscribe the system to the Unbreakable Enterprise Kernel Release 2 channel for your distribution.

The following example shows how to use the ULN Website to subscribe an Oracle Linux 6.2 (64-bit) system running Unbreakable Enterprise Kernel Release 1.

  • Log in to ULN with your user account and click the Systems tab to get a list of all systems that are currently registered with ULN (see Figure 1).
  • Figure 1. ULN System Profiles

    Figure 1. ULN System Profiles

    When you click a machine name, you will see the system's details, the channels it is subscribed to, and the list of available patches (see Figure 2).

    Figure 2. ULN System Details

    Figure 2. ULN System Details

    When you click a machine name, you will see the system's details, the channels it is subscribed to, and the list of available patches (see Figure 2).

  • Click Manage Subscriptionsto subscribe the system to the additional channel that provides the updated Unbreakable Enterprise Kernel packages. The channel will be displayed in the list of available channels (see Figure 3).
  • Figure 3. ULN List of Available Channels

    Figure 3. ULN List of Available Channels

  • Select the Latest Unbreakable Enterprise Kernel for Oracle Linux 6 channel and click the small arrow pointing to the right to add the channel to the list of subscribed channels (see Figure 4).
  • Figure 4. Channel Added to List of Subscribed Channels

    Figure 4. Channel Added to List of Subscribed Channels

  • Click Save Subscriptions to finish the subscription.
  • Your system is now subscribed to receive the latest build of Unbreakable Enterprise Kernel and all subsequent future updates.

    The naming scheme for the Unbreakable Enterprise Kernel channels is the following:

    ol<release>_<arch>_UEK_latest

    For example:

    ol6_x86_64_UEK_latest
  • Verify that the subscription succeeded by running yum repolist on the system:
  • 
    
    [root@oraclelinux62 ~]# yum repolist 
    Loaded plugins: refresh-packagekit, rhnplugin, security
    repo id                   repo name                                                            status
    ol6_x86_64_UEK_latest     Latest Unbreakable Enterprise Kernel for Oracle Linux 6 (x86_64)         22
    ol6_x86_64_latest         Oracle Linux 6 Latest (x86_64)                                       14,604
    repolist: 14,626
    
    

    As you can see, the ol6_x86_64_UEK_latest repository is now enabled in addition to the default update repository.

  • To see the list of available updates for this newly added repository, use the following command:
  • 
    
    [root@oraclelinux62 ~]# yum list updates
    Loaded plugins: refresh-packagekit, rhnplugin, security 
    Updated Packages
    bfa-firmware.noarch            3.0.2.2-1.el6               ol6_x86_64_UEK_latest
    kernel-uek.x86_64              2.6.39-100.5.1.el6uek       ol6_x86_64_UEK_latest
    kernel-uek-devel.x86_64        2.6.39-100.5.1.el6uek       ol6_x86_64_UEK_latest
    kernel-uek-firmware.noarch     2.6.39-100.5.1.el6uek       ol6_x86_64_UEK_latest
    ql2400-firmware.noarch         5.06.03-1.0.1.el6           ol6_x86_64_UEK_latest
    ql2500-firmware.noarch         5.06.03-1.0.1.el6           ol6_x86_64_UEK_latest
    
    
  • Now you can simply run yum update to download and install the available updates, as shown in Listing 1.
  • Listing 1. Downloading and Installing Available Updates

    
    
    [root@oraclelinux62 ~]# yum update
    Loaded plugins: refresh-packagekit, rhnplugin, security
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package bfa-firmware.noarch 0:3.0.0.0-1.el6 will be updated
    ---> Package bfa-firmware.noarch 0:3.0.2.2-1.el6 will be an update
    ---> Package kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-firmware.noarch 0:2.6.32-300.11.1.el6uek will be updated
    ---> Package kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek will be an update
    ---> Package ql2400-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2400-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    ---> Package ql2500-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2500-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================
     Package                 Arch       Version                   Repository                 Size
    ==============================================================================================
    Installing:
     kernel-uek              x86_64     2.6.39-100.5.1.el6uek     ol6_x86_64_UEK_latest      25 M
     kernel-uek-devel        x86_64     2.6.39-100.5.1.el6uek     ol6_x86_64_UEK_latest     7.6 M
    Updating:
     bfa-firmware            noarch     3.0.2.2-1.el6             ol6_x86_64_UEK_latest     442 k
     kernel-uek-firmware     noarch     2.6.39-100.5.1.el6uek     ol6_x86_64_UEK_latest     1.7 M
     ql2400-firmware         noarch     5.06.03-1.0.1.el6         ol6_x86_64_UEK_latest      91 k
     ql2500-firmware         noarch     5.06.03-1.0.1.el6         ol6_x86_64_UEK_latest     111 k
    
    Transaction Summary
    ==============================================================================================
    Install       2 Package(s)
    Upgrade       4 Package(s)
    
    Total download size: 35 M
    Is this ok [y/N]: y
    Downloading Packages:
    (1/6): bfa-firmware-3.0.2.2-1.el6.noarch.rpm                           | 442 kB     00:01     
    (2/6): kernel-uek-2.6.39-100.5.1.el6uek.x86_64.rpm                     |  25 MB     01:14     
    (3/6): kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64.rpm               | 7.6 MB     00:22     
    (4/6): kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch.rpm            | 1.7 MB     00:05     
    (5/6): ql2400-firmware-5.06.03-1.0.1.el6.noarch.rpm                    |  91 kB     00:00     
    (6/6): ql2500-firmware-5.06.03-1.0.1.el6.noarch.rpm                    | 111 kB     00:00     
    ----------------------------------------------------------------------------------------------
    Total                                                         325 kB/s |  35 MB     01:50     
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Updating   : kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch                          1/10 
      Installing : kernel-uek-2.6.39-100.5.1.el6uek.x86_64                                   2/10 
      Updating   : bfa-firmware-3.0.2.2-1.el6.noarch                                         3/10 
      Installing : kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64                             4/10 
      Updating   : ql2500-firmware-5.06.03-1.0.1.el6.noarch                                  5/10 
      Updating   : ql2400-firmware-5.06.03-1.0.1.el6.noarch                                  6/10 
      Cleanup    : bfa-firmware-3.0.0.0-1.el6.noarch                                         7/10 
      Cleanup    : ql2500-firmware-5.06.02-1.el6.noarch                                      8/10 
      Cleanup    : kernel-uek-firmware-2.6.32-300.11.1.el6uek.noarch                         9/10 
      Cleanup    : ql2400-firmware-5.06.02-1.el6.noarch                                     10/10 
    
    Installed:
      kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek  kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek 
    
    Updated:
      bfa-firmware.noarch 0:3.0.2.2-1.el6                                                         
      kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek                                          
      ql2400-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
      ql2500-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
    
    Complete!
    
    

    Congratulations, you have successfully installed the latest version of the Unbreakable Enterprise Kernel! Now, skip to the Postinstallation Tasks and Next Steps section to finish the installation.

Installing the Unbreakable Enterprise Kernel from the Public Yum Repositories

The initial releases of Oracle Linux and the Unbreakable Enterprise Kernel are freely available as individual RPM packages from the public yum repository.

You just need to add and enable the dedicated Unbreakable Enterprise Kernel yum repository to update to the current kernel version. This can be done by adding the appropriate yum repository configuration file and enabling the respective repository.

  • Start by downloading the corresponding repository configuration file.
  • For Oracle Linux 5, run the following command:

    
    
    [root@oraclelinux58 ~]# wget http://public-yum.oracle.com/public-yum-el5.repo -P /etc/yum.repos.d/ 
    --2012-03-13 10:32:12--   http://public-yum.oracle.com/public-yum-el5.repo
    Resolving public-yum.oracle.com... 141.146.44.34 
    Connecting to public-yum.oracle.com|141.146.44.34|:80... connected. 
    HTTP request sent, awaiting response... 200 OK 
    Length: 2987 (2.9K) [text/plain] 
    Saving to: "/etc/yum.repos.d/public-yum-el5.repo" 
    
    100%[====================================================================>] 2,987    --.-K/s   in 0s
    
    2012-03-13 10:32:13 (24.9 MB/s) - "/etc/yum.repos.d/public-yum-el5.repo" saved [2987/2987] 
    
    

    For Oracle Linux 6, run the following command:

    
    
    [root@oraclelinux62 ~]# wget http://public-yum.oracle.com/public-yum-ol6.repo -P /etc/yum.repos.d/ 
    --2012-03-13 10:45:08--  http://public-yum.oracle.com/public-yum-ol6.repo 
    Resolving public-yum.oracle.com... 141.146.44.34 
    Connecting to public-yum.oracle.com|141.146.44.34|:80... connected. 
    HTTP request sent, awaiting response... 200 OK 
    Length: 855 [text/plain] 
    Saving to: "/etc/yum.repos.d/public-yum-ol6.repo" 
    
    100%[====================================================================>] 855    --.-K/s   in 0s
    
    2012-03-13 10:45:08 (24.9 MB/s) - "/etc/yum.repos.d/public-yum-ol6.repo" saved [855/855] 
    
    
  • Now that you've added the Unbreakable Enterprise Kernel package repository configuration, you need to enable it. You can do so by opening the repository configuration file in your favorite text editor and changing the line enabled=0 to enabled=1 for the section that identifies the repository from which you will receive updates (ol5_UEK_base or ol6_UEK_base, in this case).
  • After the repository is enabled, check for available updates and install the new kernel packages, as shown in Listing 2.
  • Listing 2. Checking for Updates and Installing the New Packages

    
    
    
    
    
    [root@oraclelinux62 ~]# yum list updates 
    Loaded plugins: refresh-packagekit, rhnplugin, security
    Updated Packages
    bfa-firmware.noarch                        3.0.2.2-1.el6                          ol6_UEK_base
    kernel-uek.x86_64                          2.6.39-100.5.1.el6uek                  ol6_UEK_base
    kernel-uek-devel.x86_64                    2.6.39-100.5.1.el6uek                  ol6_UEK_base
    kernel-uek-firmware.noarch                 2.6.39-100.5.1.el6uek                  ol6_UEK_base
    ql2400-firmware.noarch                     5.06.03-1.0.1.el6                      ol6_UEK_base
    ql2500-firmware.noarch                     5.06.03-1.0.1.el6                      ol6_UEK_base
    [root@oraclelinux62 ~]# yum update
    Loaded plugins: refresh-packagekit, rhnplugin, security
    Setting up Update Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package bfa-firmware.noarch 0:3.0.0.0-1.el6 will be updated
    ---> Package bfa-firmware.noarch 0:3.0.2.2-1.el6 will be an update
    ---> Package kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek will be installed
    ---> Package kernel-uek-firmware.noarch 0:2.6.32-300.11.1.el6uek will be updated
    ---> Package kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek will be an update
    ---> Package ql2400-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2400-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    ---> Package ql2500-firmware.noarch 0:5.06.02-1.el6 will be updated
    ---> Package ql2500-firmware.noarch 0:5.06.03-1.0.1.el6 will be an update
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ==============================================================================================
     Package                   Arch         Version                      Repository          Size
    ==============================================================================================
    Installing:
     kernel-uek                x86_64       2.6.39-100.5.1.el6uek        ol6_UEK_base        25 M
     kernel-uek-devel          x86_64       2.6.39-100.5.1.el6uek        ol6_UEK_base       7.6 M
    Updating:
     bfa-firmware              noarch       3.0.2.2-1.el6                ol6_UEK_base       442 k
     kernel-uek-firmware       noarch       2.6.39-100.5.1.el6uek        ol6_UEK_base       1.7 M
     ql2400-firmware           noarch       5.06.03-1.0.1.el6            ol6_UEK_base        91 k
     ql2500-firmware           noarch       5.06.03-1.0.1.el6            ol6_UEK_base       111 k
    
    Transaction Summary
    ==============================================================================================
    Install       2 Package(s)
    Upgrade       4 Package(s)
    
    Total download size: 35 M
    Is this ok [y/N]: y
    Downloading Packages:
    (1/6): bfa-firmware-3.0.2.2-1.el6.noarch.rpm                           | 442 kB     00:01     
    (2/6): kernel-uek-2.6.39-100.5.1.el6uek.x86_64.rpm                     |  25 MB     01:14     
    (3/6): kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64.rpm               | 7.6 MB     00:23     
    (4/6): kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch.rpm            | 1.7 MB     00:05     
    (5/6): ql2400-firmware-5.06.03-1.0.1.el6.noarch.rpm                    |  91 kB     00:00     
    (6/6): ql2500-firmware-5.06.03-1.0.1.el6.noarch.rpm                    | 111 kB     00:00     
    ----------------------------------------------------------------------------------------------
    Total                                                         329 kB/s |  35 MB     01:49     
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Updating   : kernel-uek-firmware-2.6.39-100.5.1.el6uek.noarch                          1/10 
      Installing : kernel-uek-2.6.39-100.5.1.el6uek.x86_64                                   2/10 
      Updating   : bfa-firmware-3.0.2.2-1.el6.noarch                                         3/10 
      Installing : kernel-uek-devel-2.6.39-100.5.1.el6uek.x86_64                             4/10 
      Updating   : ql2500-firmware-5.06.03-1.0.1.el6.noarch                                  5/10 
      Updating   : ql2400-firmware-5.06.03-1.0.1.el6.noarch                                  6/10 
      Cleanup    : bfa-firmware-3.0.0.0-1.el6.noarch                                         7/10 
      Cleanup    : ql2500-firmware-5.06.02-1.el6.noarch                                      8/10 
      Cleanup    : kernel-uek-firmware-2.6.32-300.11.1.el6uek.noarch                         9/10 
      Cleanup    : ql2400-firmware-5.06.02-1.el6.noarch                                     10/10 
    
    Installed:
      kernel-uek.x86_64 0:2.6.39-100.5.1.el6uek  kernel-uek-devel.x86_64 0:2.6.39-100.5.1.el6uek 
    
    Updated:
      bfa-firmware.noarch 0:3.0.2.2-1.el6                                                         
      kernel-uek-firmware.noarch 0:2.6.39-100.5.1.el6uek                                          
      ql2400-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
      ql2500-firmware.noarch 0:5.06.03-1.0.1.el6                                                  
    
    Complete!
    
    

    The Unbreakable Enterprise Kernel Release 2 has now been installed.

Postinstallation Tasks and Next Steps

At this point, you need to reboot your system in order to enable the newly installed kernel. You will notice that the GRUB boot menu includes a new entry for the updated kernel version, which will be booted by default.

After rebooting, you can verify the kernel version number by running uname -r:




[root@oraclelinux62 ~]# uname -r 
2.6.39-100.5.1.el6uek.x86_64 

You can now enjoy the latest improvements and developments in Linux delivered by the Unbreakable Enterprise Kernel, without having to re-install your entire operating system or applications.

The dedicated Unbreakable Enterprise Kernel repository also includes additional and updated packages and tools that are required to enable or work with new kernel features. Some of these are updates for already existing packages, while others need to be installed manually.

For example, if you want to start using the B-tree file system (Btrfs), make sure you install the btrfs-progs package, as shown in Listing 3.

Listing 3. Installing the Package for Btrfs






[root@oraclelinux62 ~]# yum install btrfs-progs
Loaded plugins: refresh-packagekit, rhnplugin, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package btrfs-progs.x86_64 0:0.19-26.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch        Version            Repository                Size
================================================================================
Installing:
 btrfs-progs      x86_64      0.19-26.el6        ol6_x86_64_UEK_latest     258 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 258 k
Installed size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
btrfs-progs-0.19-26.el6.x86_64.rpm                       | 258 kB     00:01     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : btrfs-progs-0.19-26.el6.x86_64                               1/1 

Installed:
  btrfs-progs.x86_64 0:0.19-26.el6                                              

Complete!

Similarly, there will be additional packages for other newly introduced features, for example, features for using and managing Linux Containers (lxc).

Conclusion

This article described two methods you can use to update your Oracle Linux systems to the latest version of the Unbreakable Enterprise Kernel. Future updates can be obtained easily from the Unbreakable Linux Network to keep your systems fully patched and secured. With the help of Ksplice, applying these updates can even be performed without having to schedule any downtime or reboots.

Resources

Here are URLs for the resources referenced earlier in this document: