Hi Stefan, I think following patch might allow you to mount virtio_fs as rootfs with new syntax.
I have only compiled it and not tested it. Plase have a look. Thanks Vivek virtio_fs passes root=<fs-instance-name> as identifier of virtio_fs instance to be mounted. None of the existing primitives seems to fit virito_fs needs. So check rootfstype and if it is "virtio_fs", do not parse root= further and call mount_block_root(). This is similar to carving out special paths for ubifs. Now virtio_fs users should be able to pass "root=myfs rootfstype=virtio_fs" and be able to mount that particular instance of virtio_fs as rootfs. Yet-To-Be-Signed-off-by: Vivek Goyal <[email protected]> --- init/do_mounts.c | 4 ++++ 1 file changed, 4 insertions(+) Index: rhvgoyal-linux-fuse/init/do_mounts.c =================================================================== --- rhvgoyal-linux-fuse.orig/init/do_mounts.c 2019-04-09 15:42:17.096602971 -0400 +++ rhvgoyal-linux-fuse/init/do_mounts.c 2019-07-25 16:40:29.226348627 -0400 @@ -595,6 +595,10 @@ void __init prepare_namespace(void) mount_block_root(root_device_name, root_mountflags); goto out; } + if (root_fs_names && !strncmp(root_fs_names, "virtio_fs", 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;
