Re: prompt_ramdisk=1 and load_ramdisk=1 doesn't work with 2.6.11 onfloppy

From: Andrew Morton
Date: Tue Mar 22 2005 - 22:49:18 EST


"Tetsuji \"Maverick\" Rai" <badtrans666@xxxxxxxxxxx> wrote:
>
> I am making a small boot-floppy linux distro with kernel 2.6.11. The
> kernel is so big that I need to load ramdisk from the second floppy
> and I don't use initrd. My problem is the kernel wouldn't prompt to
> load ramdisk image. I tried syslinux, grub and lilo as boot loader
> and for syslinux,

The basic mechanism seems to work OK here. I couldn't be bothered setting
up a floppy so I patched things:

--- 25/init/do_mounts_rd.c~a 2005-03-22 19:16:22.000000000 -0800
+++ 25-akpm/init/do_mounts_rd.c 2005-03-22 19:16:26.000000000 -0800
@@ -12,7 +12,7 @@

#define BUILD_CRAMDISK

-int __initdata rd_prompt = 1;/* 1 = prompt for RAM disk, 0 = don't prompt */
+int rd_prompt = 1;/* 1 = prompt for RAM disk, 0 = don't prompt */

static int __init prompt_ramdisk(char *str)
{
diff -puN init/do_mounts.c~a init/do_mounts.c
--- 25/init/do_mounts.c~a 2005-03-22 19:32:53.000000000 -0800
+++ 25-akpm/init/do_mounts.c 2005-03-22 19:41:38.000000000 -0800
@@ -371,8 +371,7 @@ void __init mount_root(void)
ROOT_DEV = Root_FD0;
}
#endif
-#ifdef CONFIG_BLK_DEV_FD
- if (MAJOR(ROOT_DEV) == FLOPPY_MAJOR) {
+ if (1) {
/* rd_doload is 2 for a dual initrd/ramload setup */
if (rd_doload==2) {
if (rd_load_disk(1)) {
@@ -382,7 +381,6 @@ void __init mount_root(void)
} else
change_floppy("root floppy");
}
-#endif
create_dev("/dev/root", ROOT_DEV, root_device_name);
mount_block_root("/dev/root", root_mountflags);
}
_


The machine does pause at the prompt.

So I'd suggest that you need to start sticking printk()s into mount_root(),
rd_load_disk() and change_floppy(), see if you can work out what's
happening.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/