[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Compiling Kernel Modules against the Kernel Source Tree



Hello,

I have redhat 9.0 with kernel 2.4.20-8 running and the 
kernel-source-2.4.20-8.i386.rpm installed. The source tree is under 
/usr/linux-2.4/

When I compile a module against the source tree and want to insert it 
thereafter, I get the following message:

root@tuerli dd]# /sbin/insmod ./hello-1.o
./hello-1.o: kernel-module version mismatch
         ./hello-1.o was compiled for kernel version 2.4.20
         while this kernel is version 2.4.20-8.

with /sbin/insmod -f ./hello-1.o it works.

My attempt:
----------
I recompiled the kernel and gave it an custom name. Result: The problem 
persisted. Only when I recompiled the kernel and gave it the name: 
2.4.20 . The /sbin/insmod command worked properly. My conclusion: There 
must be a silly version check arround about which I dont' know and which 
  only compares strings.

My questions:
------------
	-How can I compile the module that this warning doesn't occur 	 

          anymore(because source-tree and compiled kernel in my 
machine 			are the same, they only have different names.)
	-Is there a command arround to determine the source tree's 	 

	version?
	-How does the gcc-compiler know where to look for the kernel 	 
       	header files? Is there a Environment Variable which 
determines 			that? Is there a default location?

Thanks a lot,
Christoph

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/