bzip2/lzma: config and initramfs support for bzip2/lzma decompression
[safe/jmp/linux-2.6] / init / do_mounts.c
index 660c1e5..d055b19 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/device.h>
 #include <linux/init.h>
 #include <linux/fs.h>
+#include <linux/initrd.h>
 
 #include <linux/nfs_fs.h>
 #include <linux/nfs_fs_sb.h>
@@ -22,7 +23,7 @@
 int __initdata rd_doload;      /* 1 = load RAM disk, 0 = don't load */
 
 int root_mountflags = MS_RDONLY | MS_SILENT;
-char * __initdata root_device_name;
+static char * __initdata root_device_name;
 static char __initdata saved_root_name[64];
 static int __initdata root_wait;
 
@@ -262,6 +263,10 @@ retry:
                printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
 
                printk_all_partitions();
+#ifdef CONFIG_DEBUG_BLOCK_EXT_DEVT
+               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);
        }
 
@@ -372,7 +377,8 @@ void __init prepare_namespace(void)
 
        if (saved_root_name[0]) {
                root_device_name = saved_root_name;
-               if (!strncmp(root_device_name, "mtd", 3)) {
+               if (!strncmp(root_device_name, "mtd", 3) ||
+                   !strncmp(root_device_name, "ubi", 3)) {
                        mount_block_root(root_device_name, root_mountflags);
                        goto out;
                }