lkml.org 
[lkml]   [1998]   [Apr]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subjectwhy I don't like initrd (was Re: Linux-2.1.92 - Feature Freeze)
Date
From
And lo, H. Peter Anvin saith unto me:
> > People need enough PnP to be able to boot from a PNP ISA device without
> > relying on initrd tricks. (Yes, ISA PNP is both an abomination and an
> > oxy moron)
> Why is that? initrd is an excellent and very general mechanism.
> There seems to be a lot of resistance to using it; unfortunately I
> feel too many Linux people want to take the path of least resistance
> which far too often ends up putting too many things in the kernel.
> This is a problem.
(1) It's an extra step to go wrong.
(2) It's actually many extra steps to go wrong.
(3) There's no automated way to make a given initrd setup do something
it doesn't already do. The closest I've seen is RedHat's mkinitrd
program, which can be made to insmod additional modules (and
will automatically include them in the initrd!). Compare
this to "cp /vmlinuz /dev/fd0 ; rdev /dev/fd0 /dev/whatever"
followed by just sticking the floppy in the target machine
and hitting the big red switch...
(4) When something *does* go wrong with your initrd, you can't just grab
a known good kernel -- or even a rescue disk not made for that
particular system -- and boot around the problematic initrd,
the way you can boot around the problematic kernel with a floppy.
Given the frequency with which I screw up kernel updates,
this *will* bite me every so often once I venture into the
new waters of initrd.
(4a) answering "linux init=/bin/sh" to the lilo prompt doesn't get
you anywhere if your initrd is hosed, since you probably
don't even have the drivers to mount /, let alone get you
/bin/sh...

(5) Unlike "make zlilo" or "make zdisk", AFAIK the standard linux
kernel distribution doesn't know how to correctly install a
shiny new kernel with the corresponding initrd image, even
assuming I have a program to run that creates an initrd
with the correctly updated contents (nothing like booting
2.1.92 with 2.1.91's modules...since odds are it won't
work...).

Besides, the areas where initrd is necessary are generally the areas
where the kernel support is so rough and new that the developers
still only start the features up much later in the boot process,
if not manually, rather than getting the kernel support to the
point where all the needed parameters can be entered with make
config or lilo append= (or the lilo prompt)...

If I trusted initrd, I'd have set up / as a mirror set...but especially
for someone who occasionally tries the very latest kernel without
additional patches, initrd is just too vulnerable to any number of
errors on my part... If I wanted raid 0, I could just set it up
in /etc/lilo.conf and then never have a problem again, just like I
don't have problems now booting off a partition...

Keith


--
"Quartz glyph jocks vend, fix, BMW." -- 1990 IOCCC judges
The Decline of Western Civilization: Native Americans revered Raven and
Coyote. Our parents watched Moose and Squirrel. Our children drool on
Microsoft Barney and Tickle Me Elmo. http://www.enteract.com/~kwrohrer


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:42    [W:0.094 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site