diff options
Diffstat (limited to 'init/do_mounts.c')
-rw-r--r-- | init/do_mounts.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index 9634ecf3743d..69a08cf36545 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -440,7 +440,9 @@ retry: printk("DEBUG_BLOCK_EXT_DEVT is enabled, you need to specify " "explicit textual name for \"root=\" boot option.\n"); #endif - panic("VFS: Unable to mount root fs on %s", b); + printk(KERN_EMERG "VFS: Unable to mount root fs on %s\n", b); + printk(KERN_EMERG "User configuration error - no valid root filesystem found\n"); + panic("Invalid configuration from end user prevents continuing"); } if (!(flags & SB_RDONLY)) { flags |= SB_RDONLY; @@ -456,7 +458,9 @@ retry: #ifdef CONFIG_BLOCK __bdevname(ROOT_DEV, b); #endif - panic("VFS: Unable to mount root fs on %s", b); + printk(KERN_EMERG "VFS: Unable to mount root fs on %s\n", b); + printk(KERN_EMERG "User configuration error - no valid root filesystem found\n"); + panic("Invalid configuration from end user prevents continuing"); out: put_page(page); } @@ -643,7 +647,10 @@ struct file_system_type rootfs_fs_type = { void __init init_rootfs(void) { - if (IS_ENABLED(CONFIG_TMPFS) && !saved_root_name[0] && - (!root_fs_names || strstr(root_fs_names, "tmpfs"))) - is_tmpfs = true; + if (IS_ENABLED(CONFIG_TMPFS)) { + if (!saved_root_name[0] && !root_fs_names) + is_tmpfs = true; + else if (root_fs_names && !!strstr(root_fs_names, "tmpfs")) + is_tmpfs = true; + } } |