Driver Installation Ubuntu kernel 2.6.17 Basic Help
ahuguet at cttc.es
ahuguet
Thu Apr 5 04:47:28 PDT 2007
Hi Bryan,
make -C /usr/src/linux-source-2.6.17 SUBDIRS=`pwd` modules
this seems to work much faster and go to the point of the modified files
for the module, thank you.
Now, even if I use the make -C /usr/src/linux-source-2.6.17 SUBDIRS=./ clean
doesn't seem to make any difference.
So, as it seems, I'll just stick with the command you provided.
Substituting SUBDIRS=./ with SUBDIRS=`pwd` was the key.
Could you explain what the `pwd` order differs with ./ so that it now works?
I was afraid the compiled modules would not be portable. Somehow I
expected something similar to a java applet, as if the modules would need
a "java virtual machine" ("module virtual machine" :) ) that ends the job.
I guess there should be no problem taking the code and compiling the
sources on another Linux.
To load the newly compiled modules, I just remove the old ones in use with
rmmod and load the module anew with modprobe, right?
I'll review too the link you provided, thanks for all the information :)
> ahuguet at cttc.es wrote:
>>> maybe add a
>>> 2.5 'make -C /usr/src/linux-source-2.6.17 SUBDIRS=./ clean'
>>
>> If I do this, I get:
>>
>> CLEAN .
>> CLEAN .//.tmp_versions
>>
>> Then: make -C /usr/src/linux-source-2.6.17 SUBDIRS=./ modules
>>
>> I get:
>> CC arch/i386/kernel/asm-offsets.s
>> GEN include/asm-i386/asm-offsets.h
>> Building modules, stage 2.
>> MODPOST
>
> That's not right. It should have "CC (M)"'ed a bunch of files too.
>
> Does it work any differently if you use SUBDIRS="`pwd`" instead of "./"?
>
>> Once I have compiled the hostap modules, that are then stored at:
>> /lib/modules/2.6.17.14-ubuntu1/kernel/drivers/net/wireless/hostap
>> and that are hostap.ko, hostap_cs.ko, hostap_pci.ko, hostap_plx.ko
>> right?
>>
>> Could I simply copy this modules, and paste them in another linux
>> distribution computer, inside its modules folder, and load them with
>> modprobe?
>
> Absolutely not. The internal kernel interfaces are explicitly *not*
> stable. (See [1] -- the relevant parts there are under the "Binary
> Kernel Interface" section. That document doesn't address what you're
> trying to do exactly, but much of the information is still relevant).
>
> Modules can *not* be moved from one kernel version to another, because
> there is no stable binary interface in the kernel. Even changing some
> options in .config changes the module interface (e.g. regparm,
> 4K-stacks, SMP, etc.). If the gcc version changes, that's also a
> problem.
>
> But it's a problem with all kernel modules, not just hostap.
>
>> If I can't I guess I'll have to port the code (hostap .c and .h files)
>> compile anew there, make modules, and use them, but I wondered if I
>> could
>> skip the compilation process there.
>
> Can't skip it, sorry.
>
> [1] http://www.kroah.com/log/linux/stable_api_nonsense.html
>
>
More information about the Hostap
mailing list