Re: [PATCH 2/2] kvm tools: Add virtio-9p

Sasha Levin
2011-05-18T12:01:35Z

On Tue, 2011-05-17 at 23:27 +0300, Sasha Levin wrote:
> On Tue, 2011-05-17 at 22:08 +0300, Sasha Levin wrote:
> > 'kvm_9p' isn't created as a device under /dev, it's just a name used
> > internally by 9pnet_virtio (and located under sysfs).
> >
> > I couldn't figure out which params the kernel would expect to boot using
> > 9p over virtio (theres no device name to begin with).
> >
> > I've also couldn't find anything that suggested it's possible to boot
> > using virtio-9p as rootfs.
>
> Ignore that.
>
> Naming the virtio transport "/dev/root" and passing proper params to the
> kernel makes it work:
>
> [ 1.844983] VFS: Mounted root (9p filesystem) on device 0:11.
>
> I'll make some changes to the virtio-9p patch to make it easier for the
> user to do that.
>

Just to sum the '9p bootability' discussion, It is possible to boot from
virtio-9p devices. The sample disk image provided by qemu (the one we
link in our README) boots just fine.

I've had to use a 2.6.39 kernel when booting, using the 2.6.37 kernel
which we have in kvm tools tree doesn't work. I haven't investigated why
yet.

Transport name must be called "/dev/root". Both when defining it for the
virtio transport and in the kernel root= parameter. Changing either of
them leads to: '9p: no channels available'.

Here is the command line I've used (rootfs/ is a mount of
'linux-0.2.img'):
./kvm run -m 256 --virtio-9p rootfs/ --params "root=/dev/root
rootflags=rw,trans=virtio,version=9p2000,debug=0x00 rootfstype=9p rw"
-k /boot/bzImage

When trying to boot a distribution rootfs we get a lot of symbolic link
and file locking errors, since neither of those is supported by legacy
9p2000 - thats understandable. It just prevents from almost anything
more complicated than simple command line from working properly.

--

Sasha.