kernel linker: Overriding a driver shipped with kernel via module?

John-Mark Gurney jmg at funkthat.com
Wed Nov 19 00:15:25 UTC 2014


Slawa Olhovchenkov wrote this message on Tue, Nov 18, 2014 at 16:45 +0400:
> On Mon, Nov 17, 2014 at 03:15:29PM -0800, Xin Li wrote:
> 
> > Right now one can declare version for a module by doing something like:
> > 
> > MODULE_VERSION(module_name, module_version);
> > 
> > Sometimes, it may be desirable for a vendor to release a new driver
> > that overrides the driver shipped with the kernel itself.  However, it
> > seems that the MODULE_VERSION facility would just refuse the module
> > when preloaded with kernel.
> > 
> > Looking at some other vendor drivers, they are using a slightly
> > different module name to overcome this limitation.  Is that the only
> > way to do it?
> 
> I think now time to move to modulated kernel and load all drivers
> currently present in GENERIC as modules (via loader.conf).

This becomes slightly more difficult for storage drivers which must
be loaded at boot time so the you can mount root from it...  But yes,
we are interested in methods to make it easier/more automatic for
modules to be loaded to support the hardware that is present in a
system...

-- 
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."


More information about the freebsd-arch mailing list