This discussion is archived
1 2 Previous Next 19 Replies Latest reply: Jan 29, 2013 3:08 AM by 926695 RSS

Does OEL Unbrekable Kernel support kernel ABI?

926695 Newbie
Currently Being Moderated
Hi ,

I tried to load drivers built on 2.6.32-200.13.1.el5uek on 2.6.32-300.10.1.el5uek. They failed to load with the following error "disagrees about version of symbol module_layout".
Can I at least load drivers built on 2.6.32-200.13.1.el5uek on other kernels with 2.6.32-200 series like 2.6.32-200.16.1.el5uek, 2.6.32-200.19.1.el5uek, 2.6.32-200.20.1.el5uek, 2.6.32-200.23.1.el5uek etc? Is this Kernel ABI is guaranteed? If so, can somebody point me to related links?


Thanks in advance,
Kiran
  • 1. Re: Does OEL Unbrekable Kernel support kernel ABI?
    Dude! Guru
    Currently Being Moderated
    I tried to load drivers built on 2.6.32-200.13.1.el5uek on 2.6.32-300.10.1.el5uek. They failed to load with the following error "disagrees about version of symbol module_layout".
    What you are trying to load is probably not important, but certainly impossible to guess.
    Is this Kernel ABI is guaranteed
    http://en.wikipedia.org/wiki/Loadable_kernel_module

    Linux does not provide a stable API or ABI for kernel modules. This means that there are differences in internal structure and function between different kernel versions, which can cause compatibility problems. In an attempt to combat those problems, symbol versioning data is placed within the .modinfo section of loadable ELF modules.
  • 2. Re: Does OEL Unbrekable Kernel support kernel ABI?
    Avi Miller Guru
    Currently Being Moderated
    923692 wrote:
    Can I at least load drivers built on 2.6.32-200.13.1.el5uek on other kernels with 2.6.32-200 series like 2.6.32-200.16.1.el5uek, 2.6.32-200.19.1.el5uek, 2.6.32-200.20.1.el5uek, 2.6.32-200.23.1.el5uek etc? Is this Kernel ABI is guaranteed? If so, can somebody point me to related links?
    Yes, the -200 family is KABI identical. We will not change ABI during a particular cycle. When we release -300, it was not kABI identical to -200. You'll need to build new drivers for the -300 family.
  • 3. Re: Does OEL Unbrekable Kernel support kernel ABI?
    926695 Newbie
    Currently Being Moderated
    Thanks a lot for the response, Avi Miller.
  • 4. Re: Does OEL Unbrekable Kernel support kernel ABI?
    926695 Newbie
    Currently Being Moderated
    Kernel ABI is guaranteed for uek2 kernels(2.6.39) as well? Can I load drivers built on 2.6.39-100.5.1.el5uek on other kernels with 2.6.39-100 series like 2.6.39-100.6.1.el5uek, 2.6.39-100.7.1.el5uek, 2.6.39-100.10.1.el5uek etc?
  • 5. Re: Does OEL Unbrekable Kernel support kernel ABI?
    Avi Miller Guru
    Currently Being Moderated
    923692 wrote:
    Kernel ABI is guaranteed for uek2 kernels(2.6.39) as well? Can I load drivers built on 2.6.39-100.5.1.el5uek on other kernels with 2.6.39-100 series like 2.6.39-100.6.1.el5uek, 2.6.39-100.7.1.el5uek, 2.6.39-100.10.1.el5uek etc?
    Yes. kABI is guaranteed for each 2.6.39-XXX family.
  • 6. Re: Does OEL Unbrekable Kernel support kernel ABI?
    926695 Newbie
    Currently Being Moderated
    Thanks a lot for the confirmation.
  • 7. Re: Does OEL Unbrekable Kernel support kernel ABI?
    926695 Newbie
    Currently Being Moderated
    I have installed below uek/uek2 kernels on OEL5 Update-7 and built drivers on each kernel. Please note that I have installed only kernel-uek, kernel-uek-devel and kernel-uek-firmware rpms for each below kernel.
    2.6.32-100.35.1.el5uek
    2.6.32-200.13.1.el5uek
    2.6.32-300.10.1.el5uek
    2.6.39-100.5.1.el5uek
    2.6.39-200.24.1.el5uek
    2.6.39-300.17.1.el5uek

    Drivers built on OEL5 Update-7 are expected to work on any OEL 5.X server with matching uek/uek2 kernels?
    Considering different versions of system libraries on each OEL 5.X, the approach I am following is safe or not?
    My intention is to use single build server to generate software that works on all OEL 5.X with any uek/uek2 kernels.
  • 8. Re: Does OEL Unbrekable Kernel support kernel ABI?
    Avi Miller Guru
    Currently Being Moderated
    923692 wrote:
    Drivers built on OEL5 Update-7 are expected to work on any OEL 5.X server with matching uek/uek2 kernels?
    Sure, but keep in mind we only support UEK/UEK2 on OL5.6 and higher, so you shouldn't be trying this on any server older than 5.6.
  • 9. Re: Does OEL Unbrekable Kernel support kernel ABI?
    926695 Newbie
    Currently Being Moderated
    Considering different versions of system libraries on each OEL 5.X, the approach I am following is safe or not?
    Could you please answer above question as well?
  • 10. Re: Does OEL Unbrekable Kernel support kernel ABI?
    Avi Miller Guru
    Currently Being Moderated
    923692 wrote:
    Considering different versions of system libraries on each OEL 5.X, the approach I am following is safe or not?
    I can't answer for sure that without seeing the code of your driver(s) and determining which, if any, system libraries it uses beyond the kernel itself. Keep in mind however that we update drivers in the kernel all the time and that newer kernels work on OL5 Updates 6, 7, 8 and now 9.
  • 11. Re: Does OEL Unbrekable Kernel support kernel ABI?
    926695 Newbie
    Currently Being Moderated
    Many thanks for the response.
    I can't answer for sure that without seeing the code of your driver(s) and determining which, if any, system libraries it uses beyond the kernel itself.
    Our driver(s) does not use system libraries. So, can we assume that the approach we are following is safe?

    Also, can we follow the same approach for OEL6.X? i.e Installing uek/uek2 kernels on OEL6U1 build server and using drivers built on it on any OEL6.X with matching uek/uek2 kernels.
  • 12. Re: Does OEL Unbrekable Kernel support kernel ABI?
    Avi Miller Guru
    Currently Being Moderated
    923692 wrote:
    Our driver(s) does not use system libraries. So, can we assume that the approach we are following is safe?
    You can assume anything you like. :) The forums are not the appropriate location for an official response from Oracle, though.
    Also, can we follow the same approach for OEL6.X? i.e Installing uek/uek2 kernels on OEL6U1 build server and using drivers built on it on any OEL6.X with matching uek/uek2 kernels.
    Again, you can do anything you like. If you want official build support from Oracle, you'll need to become a proper partner and communicate directly with the sustaining development team. BTW, is there any reason why you're not using the latest version of Oracle Linux to build your drivers? Also, there's no such thing as "OEL". Please use "Oracle Linux" or "OL" to refer to the product.
  • 13. Re: Does OEL Unbrekable Kernel support kernel ABI?
    926695 Newbie
    Currently Being Moderated
    Again, you can do anything you like. If you want official build support from Oracle, you'll need to become a proper partner and communicate directly with the sustaining development team.
    Thanks for the response. We will become partner and communicate with the sustaining development team.
    BTW, is there any reason why you're not using the latest version of Oracle Linux to build your drivers?
    We don't want to switch build server each time a new OL version is released. That is the reason we are going with base release. We wanted to use OL- 5.6 / OL 6.0 as build servers (in which uek kerrnels are introduced), but uek kernel is not available in OS ISOs for 32-bit versions of OL- 5.6 / OL 6.0. So, we switched to OL - 5.7 / OL 6.1.
    Also, there's no such thing as "OEL". Please use "Oracle Linux" or "OL" to refer to the product.
    Thanks for correcting me. I will use "Oracle Linux" or "OL" from now onwards.
  • 14. Re: Does OEL Unbrekable Kernel support kernel ABI?
    Avi Miller Guru
    Currently Being Moderated
    We don't want to switch build server each time a new OL version is released. That is the reason we are going with base release. We wanted to use OL- 5.6 / OL 6.0 as build servers (in which uek kerrnels are introduced), but uek kernel is not available in OS ISOs for 32-bit versions of OL- 5.6 / OL 6.0. So, we switched to OL - 5.7 / OL 6.1.
    You need to keep up with each release on your build servers as they're released and build for the newer kernels. So, you should be continually upgrading your build servers, to at least the latest release. You don't need to switch servers, just run a yum upgrade. Also, you should probably be using the 64-bit version, not the 32-bit version.

    Though, the best plan is to submit the source code to Oracle for direct inclusion into the kernel source tree, assuming it's GPL. You can do that via the ISV/IHV team.
1 2 Previous Next

Legend

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