2003-02-22 13:33:25

by Bill Davidsen

[permalink] [raw]
Subject: Module loading on demand

I note that with "new modules" modules no longer seem to load as needed
but must be loaded by hand or explicitly in modprobe.conf.

I have just been bitten by this trying to build a kernel (loop needed to
be loaded by hand) and using a VFAT format ZIP drive partition, where
mount didn't load the vfat module.

Is there some trick to making modules useful again?

--
bill davidsen, CTO TMR Associates, Inc <[email protected]>
Having the feature freeze for Linux 2.5 on Hallow'een is appropriate,
since using 2.5 kernels includes a lot of things jumping out of dark
corners to scare you.



2003-02-22 15:35:44

by Mikael Pettersson

[permalink] [raw]
Subject: Re: Module loading on demand

On Sat, 22 Feb 2003 08:43:29 -0500 (EST), Bill Davidsen wrote:
>I note that with "new modules" modules no longer seem to load as needed
>but must be loaded by hand or explicitly in modprobe.conf.

If this is the RedHat system you mentioned in your post on sym53c8xx
loading oddity, then you need apply the fix below which I posted to
LKML on Jan 19th.

===snip===
If you're running a RedHat system, you'll also need the following
patch to /etc/rc.d/rc.sysinit. Without it the kernel's modprobe and
hotplug functionalities will be disabled by rc.sysinit.

--- /etc/rc.d/rc.sysinit.~1~ 2002-08-22 23:10:52.000000000 +0200
+++ /etc/rc.d/rc.sysinit 2003-01-14 03:04:57.000000000 +0100
@@ -334,7 +334,7 @@
IN_INITLOG=
fi

-if ! grep -iq nomodules /proc/cmdline 2>/dev/null && [ -f /proc/ksyms ]; then
+if ! grep -iq nomodules /proc/cmdline 2>/dev/null && [ -f /proc/modules ]; then
USEMODULES=y
fi


(RedHat users should also comment out or remove the /sbin/update line in
/etc/inittab, but that's unrelated to the use of modules.)
===snip===

/Mikael

2003-02-22 16:30:52

by Alan

[permalink] [raw]
Subject: Re: Module loading on demand

On Sat, 2003-02-22 at 15:45, Mikael Pettersson wrote:
> If this is the RedHat system you mentioned in your post on sym53c8xx
> loading oddity, then you need apply the fix below which I posted to
> LKML on Jan 19th.
>
> ===snip===
> If you're running a RedHat system, you'll also need the following
> patch to /etc/rc.d/rc.sysinit. Without it the kernel's modprobe and
> hotplug functionalities will be disabled by rc.sysinit.
>
> --- /etc/rc.d/rc.sysinit.~1~ 2002-08-22 23:10:52.000000000 +0200
> +++ /etc/rc.d/rc.sysinit 2003-01-14 03:04:57.000000000 +0100
> @@ -334,7 +334,7 @@
> IN_INITLOG=
> fi
>
> -if ! grep -iq nomodules /proc/cmdline 2>/dev/null && [ -f /proc/ksyms ]; then
> +if ! grep -iq nomodules /proc/cmdline 2>/dev/null && [ -f /proc/modules ]; then
> USEMODULES=y
> fi

The other nasty is that if you install Rusty's rpms for the better module tools, and
then install a Red Hat kernel errata your errata kernel will not boot because the
Rusty tools replace insmod.static with a tool which only works standalone on 2.5. Its
not a big deal since most people who build 2.5 kernels build their own 2.4 ones too,
and you can fix the initrd by hand, but it is one to know about.

2003-02-22 16:37:30

by Bart De Schuymer

[permalink] [raw]
Subject: Re: Module loading on demand

On Saturday 22 February 2003 14:43, Bill Davidsen wrote:
> I note that with "new modules" modules no longer seem to load as needed
> but must be loaded by hand or explicitly in modprobe.conf.
> I have just been bitten by this trying to build a kernel (loop needed to
> be loaded by hand) and using a VFAT format ZIP drive partition, where
> mount didn't load the vfat module.
>
> Is there some trick to making modules useful again?

I don't know if this is your solution, but for some reason I have to do
echo "/sbin/modprobe" > /proc/sys/kernel/modprobe
to get automatic loading to work.
IIRC, this proc entry points to /bin/true by default for some reason, for 2.5
kernels.

--
cheers,
Bart

2003-02-22 16:49:14

by Magnus Danielson

[permalink] [raw]
Subject: Re: Module loading on demand

From: Alan Cox <[email protected]>
Subject: Re: Module loading on demand
Date: 22 Feb 2003 17:41:15 +0000

> The other nasty is that if you install Rusty's rpms for the better module tools, and
> then install a Red Hat kernel errata your errata kernel will not boot because the
> Rusty tools replace insmod.static with a tool which only works standalone on 2.5. Its
> not a big deal since most people who build 2.5 kernels build their own 2.4 ones too,
> and you can fix the initrd by hand, but it is one to know about.

The solution in Debian was to include both the 2.4 and 2.5 variants. There
where a bug in that, since initrd-tools forgot to include it, which is now
resolved. The correct variant was used depending on which kernel where
installed. A neater solution where to include the correct tools and modules
for kernel.

Cheers,
Magnus