This discussion is archived
13 Replies Latest reply: Aug 13, 2012 5:55 PM by Dude! RSS

Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel

746586 Newbie
Currently Being Moderated
Hello,

Is it normal that versions of these packages differs?
I wasnt aware of that, but kernel-uek-headers version is 2.6.32 while kernel-uel and kernel-uek-devel are 2.6.39.

I was notified about that when I installed virtualbox additions:
[root@ena-testbed-01 cdrom]# sh ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.1.18 Guest Additions for Linux.........
VirtualBox Guest Additions installer
Removing installed version 4.1.18 of VirtualBox Guest Additions...
Removing existing VirtualBox DKMS kernel modules           [  OK  ]
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following  
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-uek-devel-2.6.39-200.29.2.el6uek.x86_64

Building the main Guest Additions module                   [  OK  ]
Building the shared folder support module                  [  OK  ]
Building the OpenGL support module                         [  OK  ]
Doing non-kernel setup of the Guest Additions              [  OK  ]
...
...
Good news: it not seems to break functionnality at this time.
I tried couple of yum clean all + yum update without any changes...

Yum info of packages:
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.39-200.29.2.el6uek.x86_64 #1 SMP Sat Jul 14 10:50:56 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# yum info kernel-uek kernel-uek-devel kernel-uek-headers 
Loaded plugins: security
Installed Packages
Name        : kernel-uek
Arch        : x86_64
Version     : 2.6.39
Release     : 200.29.2.el6uek
Size        : 99 M
Repo        : installed
From repo   : ol6_UEK_latest
Summary     : The Linux kernel
URL         : http://www.kernel.org/
License     : GPLv2
Description : The kernel package contains the Linux kernel (vmlinuz), the core of any
            : Linux operating system.  The kernel handles the basic functions
            : of the operating system: memory allocation, process allocation, device
            : input and output, etc.

Name        : kernel-uek-devel
Arch        : x86_64
Version     : 2.6.39
Release     : 200.29.2.el6uek
Size        : 27 M
Repo        : installed
From repo   : ol6_UEK_latest
Summary     : Development package for building kernel modules to match the kernel
URL         : http://www.kernel.org/
License     : GPLv2
Description : This package provides kernel headers and makefiles sufficient to build modules
            : against the kernel package.

Name        : kernel-uek-headers
Arch        : x86_64
Version     : 2.6.32
Release     : 300.32.1.el6uek
Size        : 2.2 M
Repo        : installed
From repo   : ol6_latest
Summary     : Header files for the Linux kernel for use by glibc
URL         : http://www.kernel.org/
License     : GPLv2
Description : Kernel-headers includes the C header files that specify the interface
            : between the Linux kernel and userspace libraries and programs.  The
            : header files define structures and constants that are needed for
            : building most standard programs and are also needed for rebuilding the
            : glibc package.
Are the repos in problem?

Thanks
Bruno Lavoie
  • 1. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Avi Miller Guru
    Currently Being Moderated
    blavoie wrote:
    I wasnt aware of that, but kernel-uek-headers version is 2.6.32 while kernel-uel and kernel-uek-devel are 2.6.39.
    You can remove kernel-uek-headers. It's not used by the VBoxLinuxAdditions.run or the VirtualBox Guest Additions.
  • 2. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Dude! Guru
    Currently Being Moderated
    I can confirm that. Although normally you cannot simply remove kernel-uek-headers since it is required by glibc-headers and gets automatically installed by yum when installing gcc, which is required to build the Virtualbox Guest Additions anyway.

    Even after using "rpm -e --nodeps kernel-uek-headers", the Guest Additions will be build.
    Will this also work under VMware?

    Nevertheless, I think the OP has a point though wondering why the installed kernel-uek-headers package are not the same version as the UEK kernel.

    http://www.virtualbox.org/manual/ch02.html#externalkernelmodules
    +"The version numbers of the header file packages must be the same as that of the kernel you are using."+

    Wasn't the kernel-uek2-headers package previously available in the "addon" channel. What happened to it?
  • 3. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Avi Miller Guru
    Currently Being Moderated
    Dude wrote:
    I can confirm that. Although normally you cannot simply remove kernel-uek-headers since it is required by glibc-headers and gets automatically installed by yum when installing gcc, which is required to build the Virtualbox Guest Additions anyway.
    It's also OK that the version of kernel-headers mismatches with the kernel itself. We ship kernel-headers for the RHCK (2.6.32) which can also be used by the UEK/UEK. However, if we shipped kernel-uek-headers for 2.6.39, it would break stuff compiled against RHCK/UEK.
  • 4. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Dude! Guru
    Currently Being Moderated
    http://kernel.org/doc/Documentation/make/headers_install.txt
    +"Kernel headers are backwards compatible, but not forwards compatible."+

    I don't know if this is valid also between major kernel versions, and you probably have more records and experience in this area than I do, but the above suggests that the kernel headers should not break backwards compatibility.
  • 5. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    746586 Newbie
    Currently Being Moderated
    Thanks for fast replies.
    But I don't know if it's finally, really, ok...
    I thought too that versions between these packages must match... Maybe because my RHEL/CentSOS background..
    Then, the final answer is even if virtualbox module complains at compile time, it's safe to continue this way?

    Maybe a bit of ignorance by me, but what happens if kernel source changed on the newer version (2.6.39) and that headers on (2.6.32) are mismatching with the former?

    I don't want to have a crappy vm for testing oracle database stuff.
    I use the package oracle-rdbms-server-11gR2-preinstall to make it easier, only under OEL6.
    Maybe I also want to test ASMlib stuff, build in UEK with OEL6.

    Should I return to RHEL/CENTOS for my tests?

    Thanks
    Bruno
  • 6. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Avi Miller Guru
    Currently Being Moderated
    blavoie wrote:
    But I don't know if it's finally, really, ok...
    It's finally, really OK. :)
    I thought too that versions between these packages must match... Maybe because my RHEL/CentSOS background..
    Then, the final answer is even if virtualbox module complains at compile time, it's safe to continue this way?
    Yes, it is. None of the products actually use the kernel headers.
    Maybe a bit of ignorance by me, but what happens if kernel source changed on the newer version (2.6.39) and that headers on (2.6.32) are mismatching with the former?
    Nothing at all. The kernel source is not installed on your machine. :)
    Should I return to RHEL/CENTOS for my tests?
    Nope, especially considering ASMlib is not supported on either of those (for the 6.x version).
  • 7. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Avi Miller Guru
    Currently Being Moderated
    Dude wrote:
    http://kernel.org/doc/Documentation/make/headers_install.txt
    +"Kernel headers are backwards compatible, but not forwards compatible."+
    Read further:
    Kernel headers are backwards compatible, but not forwards compatible. This means that a program built against a C library using older kernel headers should run on a newer kernel (although it may not have access to new features), but a program built against newer kernel headers may not work on an older kernel.
    Thus, we provide the older kernel headers so that they run on both the older and newer kernels. If we provided the newer kernel headers, a program built may not work on an older (i.e. RHCK or UEK) kernel.
  • 8. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Dude! Guru
    Currently Being Moderated
    I'd say there is nothing to worry about regarding kernel-uek-headers and Virtualbox. It will certainly not be an unreliable installation. I've been using this kind of setup for a couple of years and had no trouble so far. If you do suspect a problem with it, you can also disable the Guest Additions, but of course you can't use folder sharing or use advanced video modes.
  • 9. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Dude! Guru
    Currently Being Moderated
    That makes sense. And strict RHEL compatibility is apparently part of the Oracle Linux plan.

    Although I wonder why someone would need a crash kernel or want to use the original, older RHEL kernel. ;-)
  • 10. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Dude! Guru
    Currently Being Moderated
    For what it's worth, below is a disk performance test with Virtualbox Guest Additions installed and without. There is no difference to report.

    # uname -r
    2.6.39-200.29.2.el6uek.x86_64

    # hdparm -t /dev/sde1

    With Guest Additions:
    Timing buffered disk reads: 964 MB in 3.00 seconds = 321.24 MB/sec


    Without:
    Timing buffered disk reads: 1098 MB in 3.00 seconds = 365.81 MB/sec

    Results always vary by 10 - 20 %.

    (Tested under Virtualbox 4.1.18, Oracle Linux 6.3, MacPro 2009 OSX 10.6.8/64-bit mode)
  • 11. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Avi Miller Guru
    Currently Being Moderated
    Dude wrote:
    Although I wonder why someone would need a crash kernel or want to use the original, older RHEL kernel. ;-)
    Crash kernels are very useful for Root Cause Analysis of kernel panics. And the older RHEL kernel is useful for 3rd party vendors that only provide binary drivers for their hardware and only for the RHCK.
  • 12. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Avi Miller Guru
    Currently Being Moderated
    Dude wrote:
    # hdparm -t /dev/sde1
    hdparm is pretty useless in a VM, particularly on a Type 2 hypervisor which has to deal with the Host OS buffering as well. You're better off running ORION or SLOB against those disks to get an actual Direct I/O usage benchmark. You also want to ensure the "Use Host I/O Cache" is disabled on your virtual IDE and SATA controllers.
  • 13. Re: Versions mismatch of kernel-uek kernel-uek-headers kernel-uek-devel
    Dude! Guru
    Currently Being Moderated
    No, "use I/O host cache" is not enabled in the Virtualbox Storage settings.

    Here are some more tests. The results from hdparm actually don't seem so far fetched. Since I have some other stuff running in the background (music player, 3 other virtual machines, etc) performance will not be consistent though.

    orion_linux_x86-64 -run simple -testname mytest -num_disks 1

    Maximum Large MBPS=362.09 @ Small=0 and Large=2
    Maximum Small IOPS=1777 @ Small=5 and Large=0
    Minimum Small Latency=1.23 @ Small=1 and Large=0

    time dd if=/dev/zero of=/u01/testfile bs=1024 count=1048576
    1073741824 bytes (1.1 GB) copied, 5.32234 s, 202 MB/s

    time dd if=/dev/zero of=/u01/testfile bs=1024 count=200
    204800 bytes (205 kB) copied, 0.000342737 s, 598 MB/s

    hdparm -tT /dev/sde1
    Timing cached reads: 11352 MB in 2.00 seconds = 5683.39 MB/sec
    Timing buffered disk reads: 812 MB in 3.01 seconds = 270.18 MB/sec

    Host I/O cache doesn't really make a huge difference in my setup though:

    Timing cached reads: 10938 MB in 2.00 seconds = 5475.35 MB/sec
    Timing buffered disk reads: 1046 MB in 3.00 seconds = 348.40 MB/sec

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points