FYI: /sbin/weak-modules

Jon Masters jonathan at jonmasters.org
Thu Aug 3 05:45:51 UTC 2006


[ Mail from this list is not reaching me for some reason - hence the
lack of thread headers. ]

On Thu, 03 Aug 2006 04:22:38 +0200, Arjan van de Ven wrote:

> On Thu, 2006-08-03 at 02:54 +0100, Jon Masters wrote:

> > weak-modules is part of some driver updates work we're doing at Red
> > Hat and also involves folks working on Fedora Extras "kmod" kernel
> > packaging (see the packaging list archives). Essentially, this and
> > other scripts are part of a system for allowing compatible kernel
> > modules to continue to work after a kernel update occurs -
> > weak-modules is the part that figures out which kernels are compatible
> > with a driver.

> so someone is finally working on a real kernel abi check rather than
> just the quite bad "check modversions" check which was useless (both too
> many false positives and negatives)?

There's more to do here. Next, I'm going to be modifying various other
tools so that they relate source and binary versions of functions (and
other symbols too) precisely so that it's possible to track ABI
changes with ease - the weak-updates stuff is just part of it. I'll be
saying more about this in due course, once there's stuff to actually
talk about! :-)

Since both we (Red Hat) and others (Novell/SuSE) have made changes to
module-init-tools, I'm also going to put my upstream m-i-t hat on and
get depmod to use an optional config file so we can properly handle
priorities of directories under /lib/modules. Right now, on Fedora,
the priorities are as follows (the OpenSuSE directory
structure/priorities are different):

/lib/modules/*/updates - override everything. For sysadmins to use for
manual control.
/lib/modules/*/extra - override everything in the kernel and in weak-updates.
/lib/modules/* - built in kernel modules.
/lib/modules/weak-updates - compatible drivers that have been
installed. The idea is that these will head upstream so in later
kernels, if there's a built-in, we use that instead.

There are other things that need to be genericized and sent upstream.
weak-modules will probably become a c-based utility and /might/ become
part of m-i-t if the other distros are interested in this being more
generically available. I should point out that the folks at SuSE have
been extremely helpful and communicative in this process - they
already had a similar technology in OpenSuSE so we were able to learn
a few things from that in the process.

What this stuff does for you (I prefered the other poster's use of
language...) is help in the case that a security errata or other minor
kernel update forces itself upon you. Not everyone (read: most people)
view recompiling modules every ten minutes as a good idea, so if a new
kernel is kABI compatible with existing modules, those are
automatically made available. I know Fedora doesn't have a stable
kABI, but I'm hopeful that this will be useful to those folks who do
rely upon (GPLed) out-of-tree drivers.

Jon.




More information about the fedora-devel-list mailing list