Forces mtdblock search for root= param in WC.
This is to allow compatibility with ginstall by making root=rootfs{0,1}
boot properly.
Change-Id: Iabfc3b196918a0b076fae672e65b4c6805159844
diff --git a/init/do_mounts.c b/init/do_mounts.c
index bbaa577..fc515f7 100755
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -287,7 +287,7 @@
out:
putname(fs_names);
}
-
+
#ifdef CONFIG_ROOT_NFS
static int __init mount_nfs_root(void)
{
@@ -386,8 +386,13 @@
if (saved_root_name[0]) {
root_device_name = saved_root_name;
- if (!strncmp(root_device_name, "mtdblock:", 9)) {
- struct mtd_info *mtd = get_mtd_device_nm(root_device_name + 9);
+ if (!strncmp(root_device_name, "mtd", 3) ||
+ !strncmp(root_device_name, "ubi", 3)) {
+ mount_block_root(root_device_name, root_mountflags);
+ goto out;
+ } else {
+ /* Assumes root system is an mtd device. */
+ struct mtd_info *mtd = get_mtd_device_nm(root_device_name);
if (!IS_ERR(mtd))
sprintf(root_device_name, "/dev/mtdblock%d", mtd->index);
else {
@@ -396,10 +401,6 @@
printk_all_partitions();
panic("VFS: Unable to mount root fs");
}
- } else if (!strncmp(root_device_name, "mtd", 3) ||
- !strncmp(root_device_name, "ubi", 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)