On Fri, Sep 6, 2019 at 1:15 PM Stefan Hajnoczi <stefanha@xxxxxxxxxx> wrote: > > Make it possible to boot directly from a virtiofs file system with tag > 'myfs' using the following kernel parameters: > > rootfstype=virtiofs root=myfs rw > > Booting directly from virtiofs makes it possible to use a directory on > the host as the root file system. This is convenient for testing and > situations where manipulating disk image files is cumbersome. > > Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx> > --- > This patch is based on linux-next (next-20190904) but should apply > cleanly to other virtiofs trees. > > init/do_mounts.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/init/do_mounts.c b/init/do_mounts.c > index 9634ecf3743d..030be2f1999a 100644 > --- a/init/do_mounts.c > +++ b/init/do_mounts.c > @@ -554,6 +554,16 @@ void __init mount_root(void) > change_floppy("root floppy"); > } > #endif > +#ifdef CONFIG_VIRTIO_FS > + if (root_fs_names && !strcmp(root_fs_names, "virtiofs")) { > + if (!do_mount_root(root_device_name, "virtiofs", > + root_mountflags, root_mount_data)) > + return; > + > + panic("VFS: Unable to mount root fs \"%s\" from virtiofs", > + root_device_name); > + } > +#endif I think you don't need this, you can abuse a hack for mtd/ubi in prepare_namespace(). At least for 9p it works well: qemu-system-x86_64 -m 4G -M pc,accel=kvm -nographic -kernel arch/x86/boot/bzImage -append "rootfstype=9p rootflags=trans=virtio,version=9p2000.L root=mtdfake console=ttyS0 ro init=/bin/sh" -virtfs local,id=rootfs,path=/,security_model=passthrough,mount_tag=mtdfake If this works too for virtiofs I suggest to cleanup the hack and generalize it. B-) -- Thanks, //richard