XenEdgy

Differences between revisions 3 and 4
Revision 3 as of 2006-06-23 08:38:15
Size: 3103
Editor: ALagny-109-1-9-136
Comment: drafting
Revision 4 as of 2006-06-23 08:42:25
Size: 3422
Editor: ALagny-109-1-9-136
Comment: main yay
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Xen in Edgy, probably Universe = = Xen in Edgy =
Line 42: Line 42:
To avoid confusing naive users, these Xen-guest kernel packages will be called xen-kernel* instead of linux-kernel*. This should avoid users accidentally installing these kernels instead of the normal ones (which would be Bad). With this provision, these kernels can safely go into main, so we can provide a "supported" Xen in Edgy.

Xen in Edgy

Xen is really exciting and several Edgy specs depend on or are related to Xen.

Supporting Xen in the normal Ubuntu kernels is not practical for Edgy, unfortunately (see XenEnabledKernel).

This spec documents our plan to get some kind of Xen support in Edgy.

Goal

Some reasonably straightforward way of converting an existing install into one which runs as dom0 under Xen, including all of the pieces that are needed to make this work and be useful.

Restrictions

  • The kernel will not be a normal Ubuntu kernel so hardware support may not be as good - in particular, drivers from linux-restricted-modules are not going to be supported.
  • Significant support effort for problems with this kernel is not likely to be available.
  • In the default setup, domU's will not be able to talk to the general Internet. Instead, they will talk only to the dom0 via a private network range. (This might be considered an advantage.)
  • The arrangements for dealing with the TLS libc problem are not wholly wonderful but unlikely to be catastrophic.

Pieces

  • Xen hypervisor and tools package. We will sync this from Debian. (xen-3.0) with minor changes.
  • Kernel. We will provide a stock upstream kernel patched with the Xen guest support.

  • Grievous hack to divert tls libc.
  • update-grub change to detect Xen setups and add them to the menu. The system will dual boot into Xen+xenkernel and stock ubuntu kernel.

Design

Xen hypervisor and tools package

This is reasonably well-developed upstream and in Debian and we don't expect many changes will be needed.

The default networking setup for talking to domU's will be vif-route (ie, normal packet forwarding - except that we won't turn on forwarding) rather than the bridge. This is less intrusive than bridge-based setup in Xen. We will by default use fixed statically allocated range: 172.20.216.0/24, with .1 reserved for the dom0. (This range was chosen randomly. See also http://www.chiark.greenend.org.uk/ucgi/~ijackson/cam-grin?id=ea9920c2a2ff3e58)

We will arange to divert everything in /lib/tls http://wiki.xensource.com/xenwiki/DebianTlsLibcDiversion.

Kernel

There will be a completely separate kernel source package which contains a stock upstream kernel with the Xen patches applied. The Xen patches are intended for specific upstream kernels (2.6.12 in current xen-3.0 in sid) so we will use whatever upstream kernel version corresponds to the patch in the xen-3.0 we are using. This means the Xen-enabled kernel version in use may change relatively late in the release cycle (compared to the main Ubuntu kernels).

To avoid confusing naive users, these Xen-guest kernel packages will be called xen-kernel* instead of linux-kernel*. This should avoid users accidentally installing these kernels instead of the normal ones (which would be Bad). With this provision, these kernels can safely go into main, so we can provide a "supported" Xen in Edgy.

update-grub

The Xen-enabled kernels will have names which show that they are for use with the Xen hypervisor. update-grub will be changed to recognise these and add entries to boot xen with xen kernels, in addition to the normal entries for normal kernels.

xen-support package

Metapackage which depends on the appropriate hypervisor, kernel, and tools.

XenEdgy (last edited 2008-08-06 16:36:53 by localhost)