
Warning
-------

xenner is still experimental, it is not yet ready for production use.
xenner should check careful enough that guests can't crash xenner and
can't break out of the hvm container.  Bugs happen though ...


Kernel requirements
-------------------

xenner needs kvm version 49 or newer.  vanilla linux kernel 2.6.25 or
newer is fine too.


Third party packages needed
---------------------------

Xen.  Yes, really.  Not the hypervisor itself (obviously, the whole
point of this project is to not need it for running xen kernels).  The
libraries and utilities are needed nevertheless though, because I
don't want to reinvent everything ...


Parts of this package
---------------------

xenner       -- the application which runs the xen pv kernels using kvm
xenner-stats -- print statistics about a running xenner VM.
evtchnd      -- xen event channel implementation as daemon.
blkbackd     -- xen blkback implementation as daemon.  Handles raw files
                and devices only for now.
netbackd     -- xen netback implementation as daemon.
libxenctrl   -- faked library, so the xen utilities continue to work.


Getting started
---------------

Before you can boot guest kernels you should start some daemons,
otherwise things work partly only.  You'll need:

 (1) evtchnd
 (2) xenstored (with the faked libxenctl, so it talks to evtchnd
     instead of trying xen hypercalls ...)
 (3) xenconsoled (also with the faked libxenctl).
 (4) blkbackd (also with the faked libxenctl).
 (5) netbackd (also with the faked libxenctl).

There is a xenner.init script to assist with the daemons startup.
Works without installing too, it detects when being started from
the build directory.

Then you can boot guests using xenner.  Pass it a kernel and ramdisk
file.  When started without kernel specified it tries to get one using
pygrub.  Try "xenner -h" for more info on the command line options.


What else you can do
--------------------

blkbackd and netbackd work also with Xen itself.  blkbackd can work as
drop-in replacement for the blktap device & tapdisk daemon.  netbackd
can work as drop-in replacement for the in-kernel netback driver.

Note that blkbackd easily reaches the gntdev limit of 128 grant pages
(with Xen only, xenner has no such limit).  When running in aio mode
you must limit the number of parallel requests to eight, i.e. start it
this way: "blkbackd -a -m 8".
