Ubuntu kernel 2.6.15-21-686/386

Tim Frost timfrost at xtra.co.nz
Sun May 7 06:09:34 UTC 2006


On Fri, 2006-05-05 at 14:45 +0200, Alan McKinnon wrote: 
> On Friday 05 May 2006 10:11, Tim Frost wrote:
> > On Thu, 2006-05-04 at 17:03 +0100, jweathers777 wrote:
> > > I'm also experiencing this problem on my Dual Processor AMD
> > > Opteron system.
> > > It's a show stopper for me in terms of using Kubuntu in the
> > > office right now because I need to run VMWare on my box and to
> > > compile one its modules it requires the kernel headers for my
> > > kernel and the kernel headers for 2.6.15-20 (the kernel that
> > > appears to run albeit with a long pause while mounting the root
> > > file system) don't appear in my Adept list.
> >
> > The kernel headers are named linux-headers-2.6.15-20-i686 or
> > linux-headers-2.6.15-21-i686 (*not* kernel-headers-.....)
> > If you do 'apt-get install linux-headers-$(uname -r)' that *should*
> > get the correct headers for the running kernel.
> >
> > you will also need build-essential (to get the compiler, etc)
> 
> Perhaps I'm missing something here, but why do you need the headers 
> from the _current_running_kernel?
> 
> For their actual intended purpose, that interface is not supposed to 
> change.

Ubuntu kernels have the entry "CONFIG_MODVERSIONS=y" in the kernel
configuration file, which turns on version stamps in kernel modules.
With this set when a module is compiled, the kernel version is recorded
in the module binary, and the module loader will reject a module file
for  a different kernel.

The VMware installer (or rather, the script vmware-config.pl) is trying
to build a kernel module for the current running kernel, on the
assumption that the person running the install (in this case
jweathers777) wants VMware to run in that environment.  Because it is
building a kernel module, it needs the corresponding build environment,
which is the headers package corresponding to that kernel.  

It is possible to point vmware-config.pl to the headers for a different
kernel version, in which case the modules will be built for that other
kernel version (they won't load in the current kernel, but will load
when the kernel that they were built for is booted).


Tim






More information about the ubuntu-users mailing list