>I've just started looking at Xen and I have some questions. These are
>all fairly basic, as there is preciously little overview documentation
>(most of it seems to be fairly detailed).
>
>First of all, I'm coming from an UML (User-Mode Linux) and VMware
>background. I'm using UML for a number of things, and I'm generally
>happy with it, except for the performance and lack of suspend/resume
>functionality.
>
>My questions:
>
> -- as I understand, Xen *requires* running a custom kernel, it isn't
> just a user-level application like UML or VMware?
So Xen = "the host" from your point of view; however it is /not/ an
operating system itself (i.e. it has no notion of filesystem, network
stack, process, user, etc), and so you cannot do anything with a system
without at least one guest OS. This is by contrast with UML and (most
versions of) VMWare.
The basic setup then is Xen + Domain 0. This is the first guest OS
booted, and is booted via grub along with Xen itself. Domain 0 by
default runs a XenoLinux kernel which is a modified kernel built to
understand that it is running on top of Xen rather than the bare
hardware. The XenoLinux kernel in turn allows proceses, etc, as per
regular linux. In terms of priviliege levels:
- Xen runs in ring 0 and can access all physical memory and devices
- XenoLinux kernel runs in ring 1 and can access a subset of physical
memory as allocated by Xen, and can access devices via Xen (this
final bit is changing currently but is not yet ready for general
release)
- XenoLinux processes run in ring 3 exactly as per normal.
Hence once you log into domain 0, it looks pretty much exactly like
a regular linux, with full application binary compatability, etc. In
addition there's an extended interface which allows one to create
additional guest operating systems (domains 1, 2, 3, ....), each with
their own allocation of physical memory, virtual devices, etc.
> -- if yes, is it reasonable to expect that a patched (customized for a
> laptop) kernel that includes swsusp2 and encryption (among other
> things) will be able to support Xen?
So encryption should not be a problem; swsusp2 might be depending on
how much power-management support it requires. To try this out you'd
need to build a xenolinux kernel from scratch (i.e. get the source,
build xen, build a xenolinux tree (see HOWTO), patch xenolinux tree,
cross fingers, build, boot...).
Note that the xenolinux kernel is based on 2.4.25 -- there is no
support for 2.6 as yet.
> -- is Xen at all suitable for the following usage scenario: a laptop
> host, with frequently changing networking, software suspend (via
> swsusp2), Xenolinux without real-world networking
> (e.g. host<->Xenolinux communication only)?
Laptop is fine in general (several of us run xen and xenolinux on our
laptops), although some funky laptops may cause problems (we support only
a subset of device drivers in the current model)
Frequently changing networking: shouldn't be a problem as long as
standard linux stuff is used.
So w.r.t suspend, see above.
"Xenolinux without real-world networking (e.g. host<->Xenolinux communication
only)" -- this doesn't make much sense in our world as the 'host' (Xen) is
not itself doing any networking save for basic device driver stuff. The
analagous setup for us would be domain 0 with 'real world' networking, and
all other domains with e.g. 169.254.x.y networking. This is a fairly
standard setup for us (with NAT in domain 0 if you want ot allow other
domains to access the real world, or no NAT if you don't want this). Details
in the HOWTOs and docs I belive.
>I'd appreciate any advice.
HTH,
cheers,
S.
|