--- ../../cirrus-arm-linux-1.4.5/linux-2.4.21/init/do_mounts.c 2005-12-20 12:01:26.000000000 -0500 +++ init/do_mounts.c 2006-02-06 21:38:42.000000000 -0500 @@ -365,11 +365,16 @@ retry: * Allow the user to distinguish between failed open * and bad superblock on root device. */ - printk ("VFS: Cannot open root device \"%s\" or %s\n", + printk ("VFS: Cannot open root device \"%s\" or %s, retry in 1 second.\n", root_device_name, kdevname (ROOT_DEV)); - printk ("Please append a correct \"root=\" boot option\n"); +/* printk ("Please append a correct \"root=\" boot option\n"); panic("VFS: Unable to mount root fs on %s", kdevname(ROOT_DEV)); +*/ + /* wait 1s try again */ + current->state=TASK_INTERRUPTIBLE; + schedule_timeout(HZ); + goto retry; } panic("VFS: Unable to mount root fs on %s", kdevname(ROOT_DEV)); out: