[PATCH] Improper initrd failure message at boot time
Jay Lan [Thu, 30 Jun 2005 09:59:03 +0000 (02:59 -0700)]
On system boot up, there was an failure reported to boot.msg:

     <5>Trying to move old root to /initrd ... failed

According to initrd(4) man page, step #7 of BOOT-UP OPERATION
is described as below:
          7. If the normal root file has directory /initrd, device
          /dev/ram0 is moved from  /  to  /initrd.   Otherwise  if
          directory  /initrd  does  not  exist device /dev/ram0 is
          unmounted.

We got service calls from customers concerning about this failure message
at boot time.  Many systems do not have /initrd and thus the message can be
changed in the case of non-existing /initrd so that it does not sound like
a failure of the system.

Signed-off-by: Jay Lan <jlan@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

init/do_mounts_initrd.c

index 4def882..a05cabd 100644 (file)
@@ -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 ... ");