X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=init%2Fdo_mounts.c;h=21b3b8f33a728c505cd7396d9e7517775c07706c;hb=be883da7594b0a2a02074e683673ae0e522566a4;hp=adb7cad3e6eec17165efdf88acf1f0f936fc4c9d;hpb=55d8ca4f8094246da6e71889a4e04bfafaa78b10;p=karo-tx-linux.git diff --git a/init/do_mounts.c b/init/do_mounts.c index adb7cad3e6ee..21b3b8f33a72 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -310,6 +310,11 @@ retry: panic("VFS: Unable to mount root fs on %s", b); } + + printk("No filesystem could mount root, tried: "); + for (p = fs_names; *p; p += strlen(p)+1) + printk(" %s", p); + printk("\n"); panic("VFS: Unable to mount root fs on %s", __bdevname(ROOT_DEV, b)); out: putname(fs_names); @@ -404,6 +409,10 @@ void __init prepare_namespace(void) if (saved_root_name[0]) { root_device_name = saved_root_name; + if (!strncmp(root_device_name, "mtd", 3)) { + mount_block_root(root_device_name, root_mountflags); + goto out; + } ROOT_DEV = name_to_dev_t(root_device_name); if (strncmp(root_device_name, "/dev/", 5) == 0) root_device_name += 5;