Partial patch?: linux-2.5.2-pre7/init/do_mounts.c kdev_t initrd fixes

Adam J. Richter (adam@yggdrasil.com)
Fri, 4 Jan 2002 00:13:47 -0800


--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

The following patch gets linux-2.5.2-pre7/init/do_mounts.c
to compile when CONFIG_INITRD has been set; however, it does so by
ifdef'ing out the "/linuxrc" support (CONFIG_LINUXRC).

I regard the linuxrc facility as unnecessary bloat, but
linuxrc fans are welcome to fix the code that I have bracketed in
CONFIG_LINUXRC and either remove my CONFIG_LINUXRC conditionals or,
better yet, add it as an option to drivers/block/Config.in.

Also, note that this patch is completely untested as I
am still working on getting 2.5.2-pre7 to build.

-- 
Adam J. Richter     __     ______________   4880 Stevens Creek Blvd, Suite 104
adam@yggdrasil.com     \ /                  San Jose, California 95129-1034
+1 408 261-6630         | g g d r a s i l   United States of America
fax +1 408 261-6631      "Free Software For The Rest Of Us."

--fUYQa+Pmc3FrFX/N Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="mounts.diff"

--- linux-2.5.2-pre7/init/do_mounts.c Thu Jan 3 19:52:02 2002 +++ linux/init/do_mounts.c Fri Jan 4 00:07:50 2002 @@ -631,7 +631,7 @@ #ifdef CONFIG_BLK_DEV_RAM if (rd_prompt) change_floppy("root floppy disk to be loaded into RAM disk"); - create_dev("/dev/ram", MKDEV(RAMDISK_MAJOR, n), NULL); + create_dev("/dev/ram", mk_kdev(RAMDISK_MAJOR, n), NULL); #endif return rd_load_image("/dev/root"); } @@ -724,7 +724,7 @@ mount_block_root("/dev/root", root_mountflags); } -#ifdef CONFIG_BLK_DEV_INITRD +#if defined(CONFIG_BLK_DEV_INITRD) && defined(CONFIG_LINUXRC) static int do_linuxrc(void * shell) { static char *argv[] = { "linuxrc", NULL, }; @@ -748,7 +748,7 @@ static void __init handle_initrd(void) { -#ifdef CONFIG_BLK_DEV_INITRD +#if defined(CONFIG_BLK_DEV_INITRD) && defined(CONFIG_LINUXRC) int ram0 = kdev_t_to_nr(MKDEV(RAMDISK_MAJOR,0)); int error; int i, pid; @@ -801,8 +801,8 @@ static int __init initrd_load(void) { #ifdef CONFIG_BLK_DEV_INITRD - create_dev("/dev/ram", MKDEV(RAMDISK_MAJOR, 0), NULL); - create_dev("/dev/initrd", MKDEV(RAMDISK_MAJOR, INITRD_MINOR), NULL); + create_dev("/dev/ram", mk_kdev(RAMDISK_MAJOR, 0), NULL); + create_dev("/dev/initrd", mk_kdev(RAMDISK_MAJOR, INITRD_MINOR), NULL); #endif return rd_load_image("/dev/initrd"); } @@ -816,7 +816,9 @@ #ifdef CONFIG_BLK_DEV_INITRD if (!initrd_start) mount_initrd = 0; +# ifdef CONFIG_LINUXRC real_root_dev = ROOT_DEV; +# endif #endif sys_mkdir("/dev", 0700); sys_mkdir("/root", 0700);

--fUYQa+Pmc3FrFX/N-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/