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