[arch-general] Xen for Arch Linux
Hi all, I've been keeping busy today with Xen for Arch Linux. I've created the following packages: -> This package contains the userland tools to administer a Xen dom0 host. xen-3.2.1-1-i686.pkg http://archserver.be/packages-devel/xen-3.2.1-1-i686.pkg.tar.gz -> This package contains the Xen hypervisor/dom0 kernel. linux-xen-2.6.18_xen_3.2.0-1-i686.pkg http://archserver.be/packages-devel/linux-xen-2.6.18_xen_3.2.0-1-i686.pkg.ta... As Xen uses a heavily modified linux kernel, it cannot easily be ported to more current kernel versions. So: 1) You're stuck with whatever hardware 2.6.18 supports 2) We have to use GCC 3.4 to compile this 3) It needs a patch because of using GCC 3.4 (xentime-gcc34.patch) :-( The kernel configuration is currently the default one that comes with Xen. Most drivers are compiled in statically. I plan to update the configuration to match Arch Linux's stock kernel. The kernel package does NOT provide support for running AS A paravirtualized* GUEST. The goal of these packages is make the system run guest OS'es without any modifications. This means you need hardware virtualization support. You can check for hardware VT if you have either vmx or svm (respectively Intel's and AMD's virtualization technology) in /proc/cpuinfo. I do not intend to support paravirtualization (see TODO). I've only tested i686. I can natively run m$ windoze (with networking) on these packages, so the basics work. The xen package should compile and work on x86_64. The linux-xen package has not even been compiled on x86_64 and will not work ATM. I've started a wiki article for Xen too, http://wiki.archlinux.org/index.php/Xen You can grab the PKGBUILDs here: * linux-xen: http://archserver.be/packages-devel/linux-xen.tar * xen: http://archserver.be/packages-devel/xen.tar Still TODO: * x86_64 support * update kernel config to match Arch Linux's stock kernel * finish the wiki article, create an example scenario * fix initscripts for xen package (they are currently in etc/init.d) * paravirtualization: from what I've read, the kernel can be configured to function both as hypervisor and guest. The traditional way is to have two kernels in the distro: one for dom0 and one for domU. It would be great to combine these two - but I'd like some advice on this one. Does it have performance implications? -> If having both dom0 and domU support in the same kernel has no negative side-effects I will support paravirtualization. If it does have side-effects that are unacceptable I will not support paravirtualization. (Paravirtualization is virtualization without hardware support from the CPU. This means the guest OS has to be made compatible with Xen in order to run. This is why you see for example xenU or domU kernels: these are meant to be used inside a Xen domain if the Xen host doesn't have hardware VT) Any feedback is appreciated. Glenn
On Mon, 09 Jun 2008 00:21:47 +0200 RedShift <redshift@pandora.be> wrote: [...]
Any feedback is appreciated.
Nice work so far, i'll look further through it as soon as i find some spare time :) Greetings, Finkregh -- Bitte beachten Sie, dass dem Gesetz zur Vorratsdatenspeicherung zufolge jeder elektronische Kontakt mit mir sechs Monate lang gespeichert wird. Please note that according to the German law on data retention, information on every electronic information exchange with me is retained for a period of six months.
Hi all, Time for an update! Changelog linux-xen0: * linux-xen is renamed to linux-xen0. This way someone can create a linux-xenU package if he/she wants * 64 bit build * Kernel configurations based on stock Arch Linux kernel as far as is allowed Get the packages at: http://archserver.be/packages-devel/linux-xen0-2.6.18_xen_3.2.0-2-i686.pkg.t... http://archserver.be/packages-devel/linux-xen0-2.6.18_xen_3.2.0-2-x86_64.pkg... xen: * 64 bit build * Updated initscripts: the scripts are now in rc.d. -> xend: archified -> xendomains: "Don't touch what you don't know". Script looks pretty complex so other than a changed path I did not modify the script Get the packages at: http://archserver.be/packages-devel/xen-3.2.1-2-i686.pkg.tar.gz http://archserver.be/packages-devel/xen-3.2.1-2-x86_64.pkg.tar.gz You can find the updated PKGBUILDs at: http://archserver.be/packages-devel/linux-xen0.tar http://archserver.be/packages-devel/xen.tar Glenn RedShift wrote:
Hi all,
I've been keeping busy today with Xen for Arch Linux. I've created the following packages:
-> This package contains the userland tools to administer a Xen dom0 host. xen-3.2.1-1-i686.pkg http://archserver.be/packages-devel/xen-3.2.1-1-i686.pkg.tar.gz
-> This package contains the Xen hypervisor/dom0 kernel. linux-xen-2.6.18_xen_3.2.0-1-i686.pkg http://archserver.be/packages-devel/linux-xen-2.6.18_xen_3.2.0-1-i686.pkg.ta...
As Xen uses a heavily modified linux kernel, it cannot easily be ported to more current kernel versions. So: 1) You're stuck with whatever hardware 2.6.18 supports 2) We have to use GCC 3.4 to compile this 3) It needs a patch because of using GCC 3.4 (xentime-gcc34.patch) :-(
The kernel configuration is currently the default one that comes with Xen. Most drivers are compiled in statically. I plan to update the configuration to match Arch Linux's stock kernel.
The kernel package does NOT provide support for running AS A paravirtualized* GUEST. The goal of these packages is make the system run guest OS'es without any modifications. This means you need hardware virtualization support. You can check for hardware VT if you have either vmx or svm (respectively Intel's and AMD's virtualization technology) in /proc/cpuinfo. I do not intend to support paravirtualization (see TODO).
I've only tested i686. I can natively run m$ windoze (with networking) on these packages, so the basics work.
The xen package should compile and work on x86_64. The linux-xen package has not even been compiled on x86_64 and will not work ATM.
I've started a wiki article for Xen too, http://wiki.archlinux.org/index.php/Xen
You can grab the PKGBUILDs here: * linux-xen: http://archserver.be/packages-devel/linux-xen.tar * xen: http://archserver.be/packages-devel/xen.tar
Still TODO: * x86_64 support * update kernel config to match Arch Linux's stock kernel * finish the wiki article, create an example scenario * fix initscripts for xen package (they are currently in etc/init.d) * paravirtualization: from what I've read, the kernel can be configured to function both as hypervisor and guest. The traditional way is to have two kernels in the distro: one for dom0 and one for domU. It would be great to combine these two - but I'd like some advice on this one. Does it have performance implications? -> If having both dom0 and domU support in the same kernel has no negative side-effects I will support paravirtualization. If it does have side-effects that are unacceptable I will not support paravirtualization.
(Paravirtualization is virtualization without hardware support from the CPU. This means the guest OS has to be made compatible with Xen in order to run. This is why you see for example xenU or domU kernels: these are meant to be used inside a Xen domain if the Xen host doesn't have hardware VT)
Any feedback is appreciated.
Glenn
participants (2)
-
Finkregh
-
RedShift