-   Linux - Distributions (
-   -   How do driver packages get updated with kernel update (any distribution)? (

OkoSanto 05-26-2010 04:04 AM

How do driver packages get updated with kernel update (any distribution)?

This is more of a general interest question, rather than a problem that needs solving. Any takers?

I was wondering how distributions manage to update all their driver packages when they ship a new kernel version. What I mean is: when I use a manually compiled kernel module, say, ndiswrapper wifi driver, I need to recompile it with the current kernel headers after every kernel update. However, when I'm using the ndiswrapper packages from my distribution (I'm using kubuntu but I can imagine this is similar in many distributions?), everything just works after a kernel update, even though package management doesn't seem to download a new ndiswrapper package version. Also, I can't imagine canonical is compiling new packages for every kernel update. So how do they do it? Google told me about "dynamic kernel module support", does this have anything to do with it?

The follow-up, ubuntu/debian-specific, question, would be: can I create my own package like that (since the ndiswrapper package in the official repositories is outdated and doesn't work too well).

Thank you in advance!

kilgoretrout 05-27-2010 07:11 AM

The kernel modules are automatically recompiled through a system originally developed by Dell called dkms, i.e. dynamic kernel module support:

Many distros use dkms, fedora, mandriva, ubuntu and probably others that I'm not aware of.

As for creating your own dkms kernel module for ndiswrapper, if you have the source for the newer version of ndiswrapper and dkms installed, then it's possible:

The above is for an RH based system, but it should be adaptable to debian based systems as well.

All times are GMT -5. The time now is 04:32 PM.