[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: modules.conf vs conf.modules

Sean 'Shaleh' Perry wrote:
> > Can anyone verify that this is the case? Add any info? Which should I
> > use on my system? Do I have a choice? Is there a plain-english ("for
> > dummies") page somewhere that explains how modules work (modutils vs
> > /etc/modules vs kmod vs kerneld vs conf.modules vs modules.conf vs
> > /etc/modutils/ vs auto vs specific items in /etc/modules vs compile-in
> > vs Godzilla vs Buck Rogers in the 23rd Century)?
> >
> update-modules is the key component.  Documentation for Debian and modules can
> be found in the package supplying it: modutils.  Look in
> /usr/share/doc/modutils.
> $ dpkg -S /sbin/update-modules
> modutils: /sbin/update-modules
> After digesting that, feel free to ask for more info.

Thanks! That's definitely a good start. I had browsed around in that
directory, but this time I found the "module-policy.Debian.gz" file that
I had missed earlier.

At the risk of wasted bandwidth but for list archival purposes in a
hopefully "for dummies"-style, here's my take on that file
(questions/comments following it):

The main configuration file is "/etc/conf.modules".

It is assembled at boot-time by "update-modules", using individual
module configuration files found in "/etc/modutils". Some of these files
are normal configuration files (as defined in the manpage for
"modprobe"); others are executables that when run generate information
that is incorporated into the "/etc/conf.modules" file.

Some modules are kernel-version specific, and must be updated each time
the kernel undergoes a version update; other modules are not
kernel-version specific, although over time they'll get too out of date
to be of value unless they are modified occasionally.

The kernel-version specific modules are stored in
"/lib/modules/[specific kernel-version]/"; the "generic" modules are
stored in "/lib/modules/[general "whole-number" kernel version]/". For
example, modules specific to the 2.2.17 kernel would go in
"/lib/modules/2.2.17/", whereas a general module that will work with the
2.2.x series would go in "/lib/modules/2.2/".

Within the modules directory are subdirectories for specific types of
modules; for example, there are directories named "fs" (for file system
modules) and "net" (for network-related modules), etc.

A module directory also contains a "module.dep" file that tells insmod
about module dependencies. For example, if the "vfat" module depends on
the "msdos" module, the "module.dep" file would specify this.

However, I don't have an "/etc/conf.modules" file on my system. I do
have an "/etc/conf.modules.old" and an "/etc/modules.conf". So my basic
question still stands. Which file is to be used? The documentation
mentioned above says "conf.modules"; the fresh install of Debian
followed by an update to Potato has "modules.conf". Other documentation
in that directory says "modules.conf". Again, there's no clear statement
of which to use and why.

Some of the documentation in this directory talks about kerneld; other
seems to indicate that kmod has replaced kerneld. The one that talks
about kerneld ("README.kerneld.gz") says to empty out the "/etc/modules"
files except for the line "auto"; wow! what brokenness that created on
my system.

Perhaps all the answers are in this directory, but they seem to be
written for developers who understand the under-the-hood aspects of
Debian/GNU Linux much better than I do. I'm sorry to be so dense, but
again, I need a "for dummies"-type document.

Wait... I just found this line in "Changelog.Debian.gz": "Update various
scripts to note that conf.modules is now called modules.conf". This
indicates that the file is indeed now called "modules.conf", but gives
no clue as to why. Does Debian's use of the new name conflict with some

Can I delete my "/etc/conf.modules.old" file without worry?

Thanks for your reply!


Reply to: