diff --git a/init/do_mounts.c b/init/do_mounts.c index 279ad28bf4fb..eb29443dc67c 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -461,6 +461,8 @@ static dev_t __init parse_root_device(char *root_device_name) */ void __init prepare_namespace(void) { + int err; + if (root_delay) { printk(KERN_INFO "Waiting %d sec before mounting root device...\n", root_delay); @@ -491,6 +493,13 @@ out: devtmpfs_mount(); init_mount(".", "/", NULL, MS_MOVE, NULL); init_chroot("."); +#ifdef CONFIG_BLOCK + /* recreate the /dev/root */ + err = create_dev("/dev/root", ROOT_DEV); + + if (err < 0) + pr_emerg("Failed to create /dev/root: %d\n", err); +#endif } static bool is_tmpfs;