Messages in this thread | | | Subject | why I don't like initrd (was Re: Linux-2.1.92 - Feature Freeze) | Date | Fri, 3 Apr 1998 23:37:58 -0600 (CST) | From | kwrohrer@enteract ... |
| |
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
| |