What determines if kernel modules are auto-loaded?
David Fleck
david.fleck at mchsi.com
Mon Sep 22 05:58:33 PDT 2003
On Sun, 21 Sep 2003, Sergey DoubleF Zaharchenko wrote:
> On Sun, 21 Sep 2003 18:53:31 +0000 Sergey "DoubleF" Zaharchenko <doublef at tele-kom.ru> probably wrote:
> > Mostly the program which uses the device. For instance, vnconfig and
> > mount will load the necessary modules because they are supposed to be
> > run as root and expect to have the necessary priveleges. Why would a
> > programmer make a mp3 player that would auto-load the sound module? An
> > mp3 player should be portable and should not depend on such things as a
> > kernel module. Moreover, the player is not supposed to run as
> > root, which is required to load kernel modules.
>
> You should read kldload(2), etc. if you want to load modules in your program.
Thanks for the response - it helps shed some more light on things. But I
don't want to load modules for 'my' program - I'm far less interested in
this from a development point of view than from a system admin. point of
view.
Why, for instance, does my (4.6.2-RELEASE-p20) system have a nfs.ko kernel
module, and a line in /boot/defaults/loader.conf to enable this module,
but (apparently) no way to *use* the module? If I compile a kernel with
'options NFS' uncommented in the kernel config file, the nfs module gets
built into the kernel, and loading the module is pointless - however, if I
comment out 'options NFS', the kernel can't compile because of missing
symbols. So I have a chunk of code that gets built by the makefile as a
module, but can't be used as a module? I find this all very unintuitive.
What seems to be happening during the kernel compile process is that a
certain number of modules are always compiled, regardless of config file
settings - the settings only determine if a given chunk of code makes it
into the kernel itself. If the module is compiled into a .ko file, and if
the code isn't present in the kernel, then it can be loaded by kldload. Is
this correct?
--
David Fleck
david.fleck at mchsi.com
More information about the freebsd-questions
mailing list