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/