Re: 2.3.34 patch to stop kmod/modprobe loops

Jesse Pollard (pollard@tomcat.admin.navo.hpc.mil)
Mon, 27 Dec 1999 13:44:42 -0600 (CST)


From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
> On Thu, 23 Dec 1999, Jesse Pollard wrote:
>
> > It seems to me that an even simpler method could be done:
> >
> > 1. In the help text for the Unix domain sockets, just say:
> > "If this is a module and kmod is also to be used, then
> > this module must be installed via configuration files
> > before multi-user mode is entered".
> >
> > 2. Have a configuration file to do an "insmod ..." during the
> > boot.
>
> Neither of these solutions would work when booting with "init=/bin/sh" or
> in "emergency" mode. Not a nice surprise when one reverts to one of these
> methods for some reason.
>
> Otherwise one may put an appropriate "sysinit" line that would call
> insmod or modprobe at the top of inittab (before other ones or it wouldn't
> work).

If init isn't called, then neither is syslog. The network is not initialized,
the kernel isn't even listed as part of a functiontional system. I get to this
level by sepcifing a single user boot. No modules, No /usr (if separate
fs) no vi, no daemons, no swap; only a single shell prompt by starting
getty to initialize the console (and root login). Domain sockets are
not exactly available at this level either. They are useless until
more of the system is functioning.

If this is necessary now (in single user mode), then I will load the module
needed. In the case my SCSI partition for /usr has been damaged, then I may
have to load IDE modules before I can even mount a backup /usr file system.

If your system is more damaged than that, then I recommend a good recovery
floppy based system to boot from before doing anything to any of the
normal disk partitions. The recovery disk would not have that many modules
to load either (domain sockets, networking compiled in, and a ram disk system).
If more modules need to be loaded, then they can be transfered from a root
floppy for use. It has gotten sufficiently inexpensive to have a zip drive
for a root system. Just keep the kernel below 640K and boot from floppy.

Even at a 2.2x level, I have found that kernels can stay between 300-400K
for initial boot.

It still looks like just documenting it as a mis-configuration would
be sufficient. The kernel doesn't need to prevent mis-configuration; but
documentation on proper configuration (what and why) does need to be present.

I do believe the depmod should be done as you described (depmod -ae m.n.p).
This (possibly) should even be added to the "make modules_install" list.

BTW, I think (untested, mind you) the "init=/bin/sh" could be done if
1. the insmod is in roots .profile
2. the .profile checks to see if it is already loaded...
3. instead of init=/bin/sh, how about "init=/bin/rawsh.sh" where rawsh.sh
does an "insmod" and then starts reading commands...
-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@navo.hpc.mil

Any opinions expressed are solely my own.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/