weirdness with ramdisk in pre2.0.2

J. Sean Connell (ankh@connor.canuck.gen.nz)
Sat, 1 Jun 1996 17:46:10 +1200 (NZST)


A friend of mine had been trying for serveral days to create a
boot/rootdisk pair using kernel pre2.0.2. However, despite reading all
the HOWTOs and FAQs there were on the subject, he could not get it to
actually load the rootdisk into memory on a ramdisk; it insisted upon
mounting it normally.

Ordinarily, this wouldn't've been a problem. However, since he needed
to use ftape, the fact that the rootdisk was mounted on a floppy drive
posed a biggie.

Eventually, we got it to work, but not until we hacked rd.c to pieces.
(attached: diff between our hacked rd.c and the original rd.c.)
Admittedly, our "solution" makes the kernel totally unusable if you don't
want the root fs on a partition, but it worked for us :)

Is it just us, or is there some brokenness in the ramdisk code?

--------CUT HERE--------
--- rd.c.orig Sat Jun 1 17:40:50 1996
+++ rd.c Sat Jun 1 17:42:09 1996
@@ -93,15 +93,13 @@
*/
int rd_size = 4096; /* Size of the ramdisks */

-#ifndef MODULE
-int rd_doload = 0; /* 1 = load ramdisk, 0 = don't load */
+int rd_doload = 1; /* 1 = load ramdisk, 0 = don't load */
int rd_prompt = 1; /* 1 = prompt for ramdisk, 0 = don't prompt */
int rd_image_start = 0; /* starting block # of image */
#ifdef CONFIG_BLK_DEV_INITRD
unsigned long initrd_start,initrd_end;
int mount_initrd = 1; /* zero if initrd should not be mounted */
#endif
-#endif

/*
* Basically, my strategy here is to set up a buffer-head which can't be
@@ -511,19 +509,17 @@

void rd_load()
{
- if (rd_doload == 0)
+/* if (rd_doload == 0)
return;
-
+ printk ("rd_doload != 0\n"); */
if (MAJOR(ROOT_DEV) != FLOPPY_MAJOR) return;

- if (rd_prompt) {
#ifdef CONFIG_BLK_DEV_FD
floppy_eject();
#endif
printk(KERN_NOTICE
"VFS: Insert root floppy disk to be loaded into ramdisk and press ENTER\n");
wait_for_keypress();
- }

rd_load_image(ROOT_DEV,rd_image_start);
--------CUT HERE--------

--
J. Sean Connell               Systems Software Architect, ICONZ
ankh@canuck.gen.nz            "Oh life is a glorious cycle of song,
ankh@iconz.co.nz               a medley of extemporanea,
#include <stddisc.h>           And love is a thing that can never go wrong...
                               And I'm Queen Marie of Romania."
I *hate* Sun Type 4 kbs!         --Dorothy Parker