PDA

View Full Version : FC2 kervel versioning support


fotisaueb
21st July 2004, 08:28 PM
Hi there does anybody know how to use versioning to build modules that are created for older kernel versions

Firstly I enabled the versioning support for 2.6.7 kernel and recompiled
Then I tried to seek the modversions.h file int /src/xxxx/includes/linux but I had no luck
On older kernel versions such as 2.4.20 a flag had to be used on gcc -DMODVERSIONS - include /xxxx/xxx/modversions.h if I'm not mistaken. Now on 2.6 kernel the .h file does not exist and compiling modules with gcc won't creat the .ko modules but the .o

Any help I really need to compile a cisco aironet driver for 2.4 kernel and on kernel 2.6 during complilation make gives me "unresolved symbol " errors I heard that versioning would help.
Please help
Thanx

superbnerd
21st July 2004, 09:53 PM
Not sure if I can help, but I am currently using the versioning thing your talking about. I had to compile madwifi driver for my wireless dlink card, so I enabled module versioning and I can use the same module I compiled for 2.6.5 on my 2.6.6. I don't know about editing header file or giving extra flags to gcc to make it work. if the source is giving ou "unresolved symbols" you might need to find an updated version of the driver. I would suggest try to find an rpm - yum anyone - or trying cvs.

fotisaueb
21st July 2004, 11:07 PM

can you tell me how did you use versioning commands etc?

superbnerd
21st July 2004, 11:54 PM
well first, you have to be able to compile you driver without errors. the versioning support is useful if, say, you have a driver that has already been compiled for a different kernel or for a half-binay/half-source driver like madwifi.
your main problem, IMHO, is that your driver is not properly compiling.

fotisaueb
22nd July 2004, 12:07 AM
I want to compile the aironet wireless driver although it's being compiled successfull when i insmod the .ko file unresolved symbols error appears during compilation I get some warning about unresolved symbols .
I found them in the source code it is about pcibios_present which should be in pci.h.
Unfortunately the definition of this function is included in the pci.h file on kernel 2.4 and NOT on 2.6 that's why i have the problem. There is no driver for full support of cisco aironet on 2.6 and the default driver that comes with 2.6 is not working properly.
So I want to fix the 2.4 driver to work with 2.6 do you suggest to rewrite the pci.h and pci.c so as to iclude the pcibios_present() function definition?


Thanx

superbnerd
22nd July 2004, 08:42 AM
Writing drivers is a little beyond my knowledge, but if you unerstand the code you sould attempt it, but for that I would suggest asking someone with more programming knowledge.