diff options
Diffstat (limited to 'init/do_mounts_initrd.c')
-rw-r--r-- | init/do_mounts_initrd.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/init/do_mounts_initrd.c b/init/do_mounts_initrd.c index 07e7d31f2d0..a05cabd0fd1 100644 --- a/init/do_mounts_initrd.c +++ b/init/do_mounts_initrd.c @@ -41,7 +41,7 @@ static int __init do_linuxrc(void * shell) static void __init handle_initrd(void) { int error; - int i, pid; + int pid; real_root_dev = new_encode_dev(ROOT_DEV); create_dev("/dev/root.old", Root_RAM0, NULL); @@ -58,7 +58,7 @@ static void __init handle_initrd(void) pid = kernel_thread(do_linuxrc, "/linuxrc", SIGCHLD); if (pid > 0) { - while (pid != sys_wait4(-1, &i, 0, NULL)) + while (pid != sys_wait4(-1, NULL, 0, NULL)) yield(); } @@ -86,7 +86,10 @@ static void __init handle_initrd(void) printk("okay\n"); else { int fd = sys_open("/dev/root.old", O_RDWR, 0); - printk("failed\n"); + if (error == -ENOENT) + printk("/initrd does not exist. Ignored.\n"); + else + printk("failed\n"); printk(KERN_NOTICE "Unmounting old root\n"); sys_umount("/old", MNT_DETACH); printk(KERN_NOTICE "Trying to free ramdisk memory ... "); |