#1
  1. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2006
    Posts
    123
    Rep Power
    18

    Downloading kernel headers for various distro's


    I'm trying to cross-compile a module for a variety of distributions. To do so, I need the kernel headers for each one. I'm running on Debian, so I can apt-get any headers I want for that, but I also want to compile the module for the following distributions:

    RHEL 3 and 4
    SUSE 9.0, 9.1, 9.2, 9.3, 10.0, 10.1
    Fedora Core 3, 4, 5

    How can I download the header files for these distro's? Unlike Debian, they only provide a single kernel (not counting smp) for i386 platforms per version, so I should just need a single set of headers for each. I managed to find full SUSE kernel sources, but the headers have include problems... for instance, linux/config.h includes linux/autoconf.h, which is not provided in the SUSE kernel sources.

    Any thoughts on where I can the correct kernel headers for these distributions?
  2. #2
  3. fork while true;
    Devshed God 1st Plane (5500 - 5999 posts)

    Join Date
    May 2005
    Location
    England, UK
    Posts
    5,538
    Rep Power
    1051
    Have you tried installing them? Download the free vmware player and look on the community site for images of the distros you want. Play them on top of your existing operating system and download the headers onto each of them. Much more reliable than fiddling around on another distro.
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2006
    Posts
    123
    Rep Power
    18
    Originally Posted by LinuxPenguin
    Have you tried installing them? Download the free vmware player and look on the community site for images of the distros you want. Play them on top of your existing operating system and download the headers onto each of them. Much more reliable than fiddling around on another distro.
    Hmm I considered that, but I would need a different computer for that (the one I'm on now is _way_ too slow for that). I may end up doing that, but for now I'm trying to avoid it.

    Also, as a test I compiled the module against a few "vanilla" kernels. These are all 2.4 kernels... the host system is running a 2.4, as is the vanilla i'm compiling against... yet the resulting module tells me (when I try to load it, just to see it's failed message) that it's meant for 2.6.13! How the heck?! I haven't compiled *anything* 2.6 on this machine *ever*. There's some 2.6 source in a different directory... but that's it.

    Any suggestions on either issue? I solved the SUSE missing header problem... some kernel sources don't link asm to asm-i386 or anything else (for obvious reasons), so i had to add the link myself.
  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2006
    Posts
    123
    Rep Power
    18
    Ok, I solved my own problem... the kernels shipped without the version.h file, and so decided to misrepresent themselves. Easily fixed. If you have any other insight on getting headers/sources for cross-compiling though, i'd appreciate it!

IMN logo majestic logo threadwatch logo seochat tools logo