I need help with an insmod of a driver in Mandrake 9.2:
I get the following error:
driver.o: kernel-module version mismatch
	driver.o was compiled for kernel version 2.4.22
	while this kernel is version 2.4.22-10mdk.
What is going on and how do I correct this?
Try compiling a 2.4.22 kernel for your machine, install it as MyKernel
under LILO, and insmod into that.  2.4.22 != 2.4.22-10mdk.
-Dan
Try using the insmod -f flag.
If you compile this module yourself, against kernel 2.4.22 source
you should have a look in the kernel source top Makefile. It might
contain something like this:
EXTRAVERSION = -10mdk
Try changing this to just plain:
EXTRAVERSION =
You might need to reconfigure your kernel source after this change
BR/ Robert
Why would Mandrake ship the product with this problem?
        If   you're  compiling  the   kernel  module   yourself  then,
technically  speaking,  Mandrake didn't  ship  the  product with  this
problem.  Remember to install  the *mandrake* kernel sources.  I would
be you're probably making a mistakes and not getting something right.
        Mandrake  did, FWIW,  ship 9.2  early because  everyone wanted
things from  the RC  badly (and  plus they're not  exactly in  a great
financial situation),  so if  you run Mandrake  Update on a  fresh 9.2
distribution  you'll find  a  hundred patches  or something  similarly
obscene.
-Dan
I didn't recompile the kernel module. This is a straight load of 9.2, and 
then compiling the little driver. Whatever errors exist are in the 
distribution. I will try the update and see if that helps.
-- 
Un-elect Dubya in 2004
> Michael Lodman <jlo...@rainbow-networks.com> writes:
I didn't recompile the kernel module. This is a straight load of 9.2, and 
All distributions(well I can't say all, at least the ones that I have
used) ship with the kernel configured to only load modules compiled at
the same time as that kernel.  If you want to have no problems
recompile the kernel.  I can't remember the exact wording but it's one
of the first options when you do a make config/menuconfig/xconfig.
hi all,
I also have the same kind of problem, but I am using RedHat 9.0 and
kernel is 2.4.20-8, I get error message saying
module is compiled for 2.4.20 and your kernel is 2.4.20-8. If i
recompile the
kernel how can I specify the new kernel in GRUB. And is there any
other way to solve this problem instead of recompiling it.
I have tried specifing -I option with path in gcc while compiling
module.
Thank you,
Ravi
I have only limited Mandrake experience (and *no* RH) but it looks like 
your modules were compiled for a vanilla kernel but you're both using 
MDK/RH specific kernels (specifically, the EXTRAVERSION variable has 
been bet in the kernels makefile). I guess you could try getting any 
updates that are available for the modules on the MDK/RH sites, making 
sure the update matches your kernel. Otherwise, compile a kernel, it's 
not hard.
cd /usr/src/linux-2.4.18(or whatever)
make oldconfig
make dep
make install modules modules_install
Then you just reboot and you're done. If you want to reconfigure 
anything in the kernel, them use `make menuconfig' instead of `make 
oldconfig'. Also, note that the `make dep' stage only needs to be done 
when you compile a kernel for the first time, or after an upgrade or patch.
HTH,
Ross
This should work on any distro
gcc -O2 -DMODULE -D__KERNEL__ -isystem /lib/modules/`uname -r`/build/include 
-W -Wall  -c <module_name.c>
bye,mayur.