[mythtv-users] modules.conf vs modprobe.conf
Michael T. Dean
mtdean at thirdcontact.com
Fri Jan 7 17:04:21 EST 2005
On 01/02/2005 02:15 PM, nate s wrote:
>On Thu, 30 Dec 2004 16:27:34 -0500, Michael T. Dean
><mtdean at thirdcontact.com> wrote:
>
>
>>On 12/13/2004 06:50 PM, Jarod Wilson wrote:
>>
>>>On Monday 13 December 2004 15:27, Schwarz, Robert P wrote:
>>>
>>>>I have been fighting sound for several days and have finally resolved my
>>>>problem. In the write up by Robert Kulagowski he refers to adding lines
>>>>to "modules.conf" in Jarod's document he refers to adding lines to
>>>>"modprobe.conf". I was having sound issues until I copied lines from
>>>>modules.conf to modprobe.conf.
>>>>
>>>>
>>>[...]
>>>
>>>
>>>>Can someone provide some light on this to me?
>>>>
>>>>
>>>Some distros use modules.conf, some use modprobe.conf. Apparently, whatever
>>>distro you're using uses modprobe.conf.
>>>
>>>
>>Specifically, any distro using Linux 2.6 should be using modprobe.conf
>>and any distro using Linux 2.4 should be using modules.conf.
>>
>>
>What about the distros that can use either, such as gentoo?
>
OK, I tried to cut it back to the "some light" you requested. I guess
now I have to bring out my million-candle-power spotlight... :)
By "any distro using Linux 2.x," I meant, literally, "any distro *that
is* using Linux 2.x." In other words, since any distro built around
Linux 2.4 can be upgraded to use Linux 2.6 with a kernel compile and a
few other changes, it's not so much a Gentoo vs. Debian vs. SUSE vs.
Fedora Core kind of thing. It's not even a
"which-kernel-shipped-with-my-distro" kind of thing. It's really
dependant on the kernel *currently* in use on the system.
The Linux 2.4 kernel requires the modutils package (
ftp://ftp.kernel.org/pub/linux/utils/kernel/modutils/v2.4/ ) to handle
loading and removing kernel modules and other kernel-module
maintenance. The modprobe and depmod commands from the modutils package
use the configuration file modules.conf.
The Linux 2.6 kernel (technically, 2.5.48 and above) requires the
module-init-tools package (
ftp://ftp.kernel.org/pub/linux/utils/kernel/module-init-tools/ ) for the
same. The modprobe command from the module-init-tools package uses the
configuration file modprobe.conf. (Note, also, that neither
configuration file is used by the kernel itself.)
One *mandatory* requirement for upgrading from a Linux 2.4 kernel to a
Linux 2.6 kernel is to install module-init-tools. During the install,
module-init-tools can be instructed to move the modutil binaries to
"*.old" (i.e. modprobe becomes modprobe.old). Then, it installs the new
binaries (i.e. modprobe). From this point on, when the new binaries are
run, the first thing they do is check the version of the running
kernel. If it's a 2.4 kernel, they pass the command to the "*.old"
binary. If it's a 2.6 kernel, they execute the command themselves.
This allows you to upgrade your system from Linux 2.4 to Linux 2.6, and
then boot back into Linux 2.4 when you realize that installing a Linux
2.6 kernel on a system built around a Linux 2.4 kernel adds little and
causes many problems. (Not because of problems with the kernel, but
because of problems with the thousands of (improperly written)
applications on your system built around the Linux 2.4 kernel...)
However, that being said, I included the words, "should be using." By
that I meant that it's always possible that the distro packagers decided
to do things differently. For example, Red Hat, having developed much
of the code for the Native POSIX Thread Library (NPTL), which requires a
kernel that supports Thread-Local Storage (TLS)--in other words, a Linux
2.6 kernel--decided they wanted NPTL available in Linux 2.4, so they
patched the 2.4 kernel to support TLS (leaving a kernel
vaguely-reminiscent of the Linux kernel :) and back-ported NPTL to work
with their modified-Linux-2.4 kernel. Similarly, any distribution
packager could decide that they want to modify the source of
modutils/module-init-tools to make the package work with the "wrong"
kernel version. I'm not saying that any do--I really couldn't tell you
since I haven't used all distros (actually, I don't use any distro)--but
I seldom say never. ;)
>Gentoo uses modules.conf; is modprobe.conf not compatiable with a 2.4 kernel,
>while modules.conf is with a 2.6?
>
>
Correct. The format of modprobe.conf has changed rather dramatically
from the format of modules.conf. The most noticeable example being that
all of the "add above" and "add below" commands in modules.conf have
been replaced with a much-more straight-forward "install" command.
While the "install" command is much more straight-forward--with it you
simply provide the commands that should be executed (in the order in
which they should be executed) when a module install is requested--many
people who have years of experience (dating back to Linux 2.2 days) with
modutil's modules.conf format have complained that it's much more
difficult to use. Probably much of this comes from the fact that when
installing module-init-tools on a Linux 2.4 system, you can use a
contributed script (generate-modprobe.conf) to generate a modprobe.conf
by reading your modules.conf and checking your current kernel
configuration. Unfortunately, this script is something of a
"modprobe.conf-obfuscator" as it provides all the configuration
information you could possibly need (i.e. taking a 26-line,
717-character modules.conf and outputting a 171-line, 5968-character
modprobe.conf--in my case, at least. ;) Manually creating an equally
functional configuration files leaves 21 lines and 847 characters...
>The files look so similar
>
True. The alias configuration line is still the same--and is often the
most-commonly-used line in the file--making (correctly-written, not
"obfuscated") modprobe.conf files look very much like modules.conf files.
From man 5 modprobe.conf (
http://www.die.net/doc/linux/man/man5/modprobe.conf.5.html ):
The format of modprobe.conf is simple... The syntax is a
simplification of modules.conf
See also man 5 modules.conf (
http://www.die.net/doc/linux/man/man5/modules.conf.5.html ) for further
comparison.
>that I doubt it would matter very much
>either way. If indeed both kernels would work with both, then I think
>it is more of a distro-specific thing than a kernel-specific one.
>
I would agree, if your assumption were correct. ;)
>Also, do all other (single-kernel) distros follow this?
>
>
I think I answered this one above...
HTH.
Mike
More information about the mythtv-users
mailing list