On Thu, Jun 12, 2014 at 1:20 PM, Dario Faggioli
<dario.faggioli(a)citrix.com> wrote:
Hello everyone,
On gio, 2014-06-12 at 08:20 +0100, Richard W.M. Jones wrote:
> On Wed, Jun 11, 2014 at 10:02:22PM +0100, George Dunlap wrote:
> > On Wed, Jun 11, 2014 at 8:34 PM, Richard W.M. Jones <rjones(a)redhat.com>
wrote:
> > > Do you know what extra packages have to be installed or commands need
> > > to be run to enable Xen drivers in Fedora?
> >
> > The kernel already has a lot of the Xen stuff enabled. AFAICT from
> > looking at the boot output it's just missing those two modules in the
> > initrd. (Although it's possible you'll need more.) I'm pretty
sure
> > they should just come in the normal kernel rpm; there aren't really
> > any user-space components necessary for basic functionality of a Xen
> > guest. (There are a few tools which someone might want to install for
> > one purpose or another -- tools for querying Xen state or acting as a
> > "driver domain" -- but they're something that should be added as
> > needed, not in the core.)
>
> I suspect we may need to run a dracut command in %post. Something
> like:
>
> dracut --add-drivers "some list of xen kmods ..."
>
> I'm not sure which Xen drivers are required. The Fedora 21 kernel has
> 13 files named 'xen*.ko.xz'.
>
So, first of all, forgive my libguestfs / virt-builder ignorance. :-)
About the modules, what I know is that if I point virt-install to this
location:
http://mirror.euserv.net/linux/fedora/linux/releases/20/Fedora/x86_64/os/
it just works, i.e., the installer is able to see the virtual disk and
network interface while running in a Xen (PV) guest.
Looking inside the initrd.img that the above uses, here's what I find:
$ find lib/modules/3.11.10-301.fc20.x86_64/ -iname xen*
lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/block/xen-blkfront.ko
lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/net/xen-netback
lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/net/xen-netback/xen-netback.ko
lib/modules/3.11.10-301.fc20.x86_64/kernel/drivers/net/xen-netfront.ko
I'm not sure why they have xen-netback in there -- that's a network
*provider*, not a network *consumer*. It certainly shouldn't be
necessary for booting!
xen-blkfront and xen-netfront were the two that I mentioned in my
original e-mail; I'm pretty sure just adding those two should work.
For the KVM folks: unlike virtio, which is provided to the guest by
qemu, the traditional Xen PV devices are provided by another VM on the
system. This is typically domain 0, but can actually be any VM. The
code providing the virtual device is called the "back-end", and the
code consuming the virtual device is called the "front-end". All you
need in the initrd are front-ends for disk and network -- xen-blkfront
and xen-netfront.
-George