Dom0 Kernels for Xen: Difference between revisions
(Save the reorg, before stripping out older/irrelevant stuff (i.e. the stuff about Xenlinux source trees)) |
No edit summary |
||
Line 4: | Line 4: | ||
= Choosing a dom0 kernel = |
= Choosing a dom0 kernel = |
||
If your Linux distribution includes Xen and dom0 kernel it is recommended to use them. This provides the benefits such as ease of install, good integration with the distribution, support from the distribution, provision of security updates etc. |
|||
* Xen PV domU kernel versions can be different from dom0 kernel versions. There's no need to upgrade domU kernel when you upgrade Xen hypervisor and/or dom0 kernel. Xen hypervisor is backwards compatible, ie. it supports older domU kernels. If your domU distribution includes a Xen domU kernel, it's usually best to use it and not compile your own domU kernel. |
|||
Xen PV domU kernel versions can be different from dom0 kernel versions. There's no need to upgrade domU kernel when you upgrade Xen hypervisor and/or dom0 kernel. Xen hypervisor is backwards compatible, ie. it supports older domU kernels. If your domU distribution includes a Xen domU kernel, it's usually best to use it and not compile your own domU kernel. |
|||
= What Xen dom0 capable Linux kernel versions are available? Where to get them? = |
|||
Please see [[XenKernelFeatures]] for more information about available features in different Xen enabled kernels. |
|||
There are two different types of Xen dom0 capable kernels available today: |
|||
* pvops kernels, featuring new rewritten Xen support based on the upstream (kernel.org) Linux pvops framework. This work has been included in upstream kernel.org kernel since Linux 2.6.37. |
|||
* xenlinux kernels based on the "old" patches originally for Linux 2.6.18. These Xenlinux patches won't be integrated to upstream Linux. |
|||
Xen 4.0 switched to using Linux pv_ops based dom0 kernel as a default. This is the kernel all users should be using and testing, and all the development should be made against the upstream pvops kernel. |
|||
= Linux Distributions which |
= Linux Distributions which have a Xen Dom0 kernel = |
||
{| border="1" cellpadding="2" cellspacing="0" |
{| border="1" cellpadding="2" cellspacing="0" |
||
|<tablestyle="width: 90%">|'''Distributions''' |
|<tablestyle="width: 90%">|'''Distributions''' |
||
Line 41: | Line 32: | ||
|- |
|- |
||
| [http://www.ubuntu.com/ Ubuntu] |
| [http://www.ubuntu.com/ Ubuntu] |
||
| |
| 11.10[1] |
||
|- |
|- |
||
| [http://www.xen.org/products/cloudxen.html Xen Cloud Project (XCP)] |
| [http://www.xen.org/products/cloudxen.html Xen Cloud Project (XCP)] |
||
Line 51: | Line 42: | ||
''[1]'' Please note that this kernel requires Xen >= 4.0. |
''[1]'' Please note that this kernel requires Xen >= 4.0. |
||
= Linux Distributions which have a Xen Dom0 kernel provided by a third party = |
|||
If you are unable to use one of the above distributions then you may be able to use one of the following which have suitable dom0 kernels provided by third party packagers. |
|||
=== Debian === |
|||
** Debian 4.0 ("Etch") contains 2.6.18 Xen dom0 kernel. |
|||
** Debian 5.0 ("Lenny") contains 2.6.26 Xen dom0 kernel based on early version of OpenSUSE forward-ported patches. Some users have experienced stability problems with this kernel, when used with newer Xen 3.3 and 3.4 hypervisors. Also, some users have reported live migrations being broken with this lenny's kernel. |
|||
** Debian 6.0 ("Squeeze") contains a pv_ops Xen dom0 kernel |
|||
* Also see [http://wiki.debian.org/Xen|the official Debian Xen page] |
|||
=== Fedora === |
|||
Now that dom0 kernel support has entered the upstream kernel, [http://fedoraproject.org/ Fedora] 16 (and later) supports Xen out of the box. |
|||
'''Obsolete information: This is relevant for Fedora 15 and lesser''' |
|||
Fedora 9 - 15 do not contain Xen dom0 kernels (but they do contain Xen hypervisor and tools and Xen domU enabled kernels). If you are running Fedora 15 or earlier you can find [http://fedorapeople.org/~myoung/dom0/ third party rpm packages built for you by M A Young] (they require Xen >= 4.0). |
|||
* Also see [[Fedora13Xen4Tutorial|Fedora 13/14 Xen 4.0 Tutorial]] and [http://fedoraproject.org/wiki/Features/XenPvopsDom0|Fedora's Xen Dom0 page] |
|||
=== Gentoo === |
|||
* Gentoo has multiple dom0 kernels available: xen.org-based 2.6.18 (latest is xen-sources-2.6.18-r12) and rebased kernels with OpenSUSE patches (latest is xen-sources-2.6.31-r11). |
|||
=== Red Hat Enterprise Linux and CentOS === |
|||
The last release of [http://www.redhat.com/rhel RHEL] (and by extension [http://www.centos.org/ CentOS] and other derivatives) to include a Xen dom0 kernel was RHEL 5. We are currently working with the community to provide dom0 kernel packages for RHEL 6. |
|||
* Includes Xen dom0 kernel based on Linux 2.6.18, with a lot of patches and fixes by Redhat. |
|||
* Redhat has also backported a lot of drivers and support for new hardware and features into their version of Linux 2.6.18. |
|||
* Known to be very stable, but doesn't support latest Xen features that can be found from xen.org linux-2.6.18-xen.hg |
|||
* Is known to work with Xen 3.4.x hypervisors (http://gitco.de/repo/), and of course with the official RHEL5 Xen 3.1.2 hypervisor. |
|||
* Available in kernel-2.6.18-*.el5.src.rpm from: [ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/] |
|||
* RHEL 5.4 ships with kernel-2.6.18-164.*.el5.src.rpm |
|||
* RHEL 5.5 ships with kernel-2.6.18-194.*.el5.src.rpm |
|||
* Good choice as dom0 because RHEL5 has long lifecycle, and it's actively maintained and bugfixed. |
|||
* Good choice because it's tested and certified to run on many vendors server hardware. |
|||
* Good choice especially if you are trying out Xen virtualization for the first time, and want to use a distribution that has well working and tested Xen included. |
|||
* Also see [[RHEL6Xen4Tutorial|Redhat Enterprise Linux 6 Xen 4.0 Tutorial]] |
|||
=== Oracle VM === |
|||
*uses modified Oracle Linux 5 Dom0 kernels |
|||
* Oracle VM 2.1 and 2.2 use 2.6.18-based kernels |
|||
* Oracle VM 3.0 uses a 2.6.32-based kernel, derived from the Oracle Unbreakable Enterprise Kernel for Oracle Linux 5 |
|||
=== OpenSUSE === |
|||
* Novell is forward-porting the original Xenlinux 2.6.18 patches for new kernels in OpenSUSE (and SLES). |
|||
* Currently (as of November 2011) patches and Xen dom0 kernel packages exist up to Linux 3.1. |
|||
* OpenSUSE 11.2 ships with Linux 2.6.31 based Xen kernel using the forward-ported Xenlinux patches. |
|||
* OpenSUSE 11.3 ships with Linux 2.6.34 based Xen kernel using the forward-ported Xenlinux patches. |
|||
* OpenSUSE 11.4 ships with Linux 2.6.37 based Xen kernel using the forward-ported Xenlinux patches. |
|||
* OpenSUSE 12.1 ships with Linux 3.1 based Xen kernel using the forward-ported Xenlinux patches. |
|||
* OpenSUSE kernel factory: http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_Factory/ |
|||
=== SuSE Linux Enterprise (SLES) === |
|||
* SLES10 and SLES11 contain Xen dom0 kernels. |
|||
* SLES10 is based on Linux 2.6.16. |
|||
* SLES11 is based on Linux 2.6.27 with forward-ported original Xenlinux 2.6.18 patches. |
|||
* SLES11 SP1 ships with a Linux 2.6.32 dom0 kernel based on the forward-ported Xenlinux patches. |
|||
* Good choice as dom0 because SLES releases have long lifecycle and they are actively maintained and bugfixed, and it's tested and certified to run on many vendor's server hardware. |
|||
=== Ubuntu === |
|||
The last release of [http://www.ubuntu.com/ Ubuntu] which includes a Xen dom0 kernel is 11.10 (Oneiric Ocelot). If you are running a older version of Ubuntu we recommend using the Debian Squeeze dom0 deb packages: |
|||
* 64 bit version: [http://packages.debian.org/squeeze/linux-image-xen-amd64 linux-image-xen-amd64] |
|||
* 32 bit version: [http://packages.debian.org/squeeze/linux-image-xen-686 linux-image-xen-686] |
|||
* Ubuntu 8.04 LTS (Hardy Heron) has Xen dom0 kernel (based on Linux 2.6.24) available in the universe repository (so it's not part of the official release - it's community supported). Unfortunately many users have reported various bugs with this kernel - both as dom0 and as domU. |
|||
=== Citrix XenServer/XCP/XCI=== |
|||
** XCP (Xen Cloud Platform) uses this Citrix [[XenServer]] kernel as is. |
|||
** XCI (Xen Client Initiative) kernel is based on this Citrix [[XenServer]] kernel. |
|||
** Available from the mercurial patch queue and in kernel-dom0 directory in source-1.iso from: http://www.xen.org/products/cloud_source.html |
|||
** XCP v0.1 includes: kernel-2.6.27.29-0.1.1.xs0.1.0.669.1028.src.rpm |
|||
** XCP v0.1.1. includes: kernel-2.6.27.42-0.1.1.xs0.1.1.737.1065.src.rpm |
|||
** XCP v0.5 includes: kernel-2.6.27.42-0.1.1.xs0.5.0.47.111160.src.rpm |
|||
** More information about XCP: http://www.xen.org/products/cloudxen.html |
|||
** See this email for information about SLES11, [[XenServer]], XCP, and XCI kernel relations: http://lists.xensource.com/archives/html/xen-devel/2009-12/msg00033.html |
|||
** XCP dom0 kernel patch queue announcement (2010/03): http://lists.xensource.com/archives/html/xen-devel/2010-03/msg00596.html |
|||
** XCP dom0 2.6.27 kernel patch queue mercurial repository: http://xenbits.xen.org/XCP/linux-2.6.27.pq.hg |
|||
** XCP dom0 2.6.32 kernel patch queue mercurial repository: http://xenbits.xen.org/XCP/linux-2.6.32.pq.hg |
|||
* XCI (Xen Client Initiative) Linux 2.6.27 and 2.6.32 Xen kernel tree |
|||
** Xen dom0 kernel used in XCI development, based on [[XenServer]] 2.6.27 kernel. |
|||
** This tree has XCI specific patches and modifications. |
|||
** See this mail for some building related information (June 2009): http://lists.xensource.com/archives/html/xen-devel/2009-06/msg00259.html |
|||
** XCI project page with more information: http://www.xen.org/products/xci.html |
|||
** XCI source including build instructions: http://www.xen.org/products/xci_source.html |
|||
= Dom0 support in BSDs and other Unix systems = |
= Dom0 support in BSDs and other Unix systems = |
||
Line 155: | Line 62: | ||
<br>''[3]'' For SPARC systems, but not for x86 systems |
<br>''[3]'' For SPARC systems, but not for x86 systems |
||
= FAQ = |
|||
=== pv_ops Xen dom0 kernel, based on upstream kernel.org linux git tree === |
|||
Please see [[XenKernelFeatures]] for more information about available features in different Xen enabled kernels. |
|||
* New default dom0 kernel in Xen >= 4.0, most features have been implemented or forward-ported (compared to the old default linux-2.6.18-xen). |
|||
* pv_ops kernels require Xen >= 4.0. |
|||
* pv_ops dom0 support has been merged into upstream kernel.org Linux 2.6.37 kernel, so dom0 support is included out-of-the-box in Linux 2.6.37 and later versions. |
|||
* Missing features: scsiback and scsifront for pvscsi, usbback and usbfront for pvusb (patches exist). |
|||
* Long-term maintained pv_ops 2.6.32 dom0 kernel is available here, branch name "xen/stable-2.6.32.x": [http://git.kernel.org/?p=linux/kernel/git/jeremy/xen.git;a=shortlog;h=refs/heads/xen/stable-2.6.32.x git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git] |
|||
* See this wiki page for more information and for instructions how to get the pv_ops dom0 kernel: http://wiki.xensource.com/xenwiki/XenParavirtOps |
|||
* Some help and tips for migrating from linux-2.6.18 to pvops dom0 kernel available from this wiki page: [[Migrate_from_Linux_2.6.18_to_2.6.31_and_higher]] |
|||
Q: I've seen mentions of 'pv_ops' and 'xenlinux' kernels. Which one should I choose? |
|||
=== older Linux 2.6.18 "Xenlinux" based source trees and/or patchsets, and the various forward-ports of them === |
|||
Simple answer: pv_ops. Xen 4.0 switched to using Linux pv_ops based dom0 kernel as a default, and it's the most up-to-date and is undergoing active development. |
|||
* Original "Xenlinux" kernel tree, based on Linux 2.6.18, get it with Mercurial: "hg clone http://xenbits.xen.org/linux-2.6.18-xen.hg" |
|||
** This was the default dom0 kernel in all Xen 3.x releases, up to and including Xen 3.4.x. |
|||
Longer answer: There are two different types of Xen dom0 capable kernels available today: |
|||
** Good choice if Linux 2.6.18 has all the needed drivers for your hardware. |
|||
** These Xenlinux patches were considered too intrusive and had too many changes to core x86 code so they were not accepted into upstream Linux kernel. |
|||
* pvops kernels, featuring new rewritten Xen support based on the upstream (kernel.org) Linux pvops framework. This work has been included in upstream kernel.org kernel since Linux 2.6.37. |
|||
** Xen 4.0 and xen-unstable moved away from this kernel and started using using pv_ops tree as a default dom0 kernel. |
|||
* xenlinux kernels based on the "old" patches originally for Linux 2.6.18. These Xenlinux patches won't be integrated to upstream Linux. |
|||
However, the pv_ops kernel requires Xen >=4.0. If you desperatly need the Xenlinux patches, SLES/OpenSUSE has been forward-porting the patches. |
|||
Please see [[XenKernelFeatures]] wiki page for information about features in different Xen enabled kernels! |
|||
[[Category:Beginners|D]] |
[[Category:Beginners|D]] |
Revision as of 02:39, 12 December 2011
If you don't know what "dom0" or a "dom0 kernel" is, take look at the detailed explanation here.
This page contains information on Xen dom0 support, if you are looking for information on guest (domU) support see XenDomUSupport.
Choosing a dom0 kernel
If your Linux distribution includes Xen and dom0 kernel it is recommended to use them. This provides the benefits such as ease of install, good integration with the distribution, support from the distribution, provision of security updates etc.
Xen PV domU kernel versions can be different from dom0 kernel versions. There's no need to upgrade domU kernel when you upgrade Xen hypervisor and/or dom0 kernel. Xen hypervisor is backwards compatible, ie. it supports older domU kernels. If your domU distribution includes a Xen domU kernel, it's usually best to use it and not compile your own domU kernel.
Linux Distributions which have a Xen Dom0 kernel
Distributions | Versions |
Debian | 4.0 (Etch), 5.0 (Lenny), 6.0 (Squeeze)[1] |
Fedora | 16[1] |
OpenSUSE | 10.x, 11.x, 12.x |
Oracle VM for x86 (OVS) | All versions |
Redhat Enterprise Linux (RHEL) | 5.x |
SUSE Linux Enterprise Server (SLES) | 10.x, 11.x |
Ubuntu | 11.10[1] |
Xen Cloud Project (XCP) | All versions |
XenServer | All versions |
[1] Please note that this kernel requires Xen >= 4.0.
Dom0 support in BSDs and other Unix systems
This list is currently incomplete. We are in the process of verifying support for other Unixes.
Distributions | Versions |
NetBSD | 5.1 [1], [2] |
Solaris 11 | yes[3] |
[1] See NetBSD Xen HowTo for more information
[2] See NetBSD Xen User Guide
[3] For SPARC systems, but not for x86 systems
FAQ
Please see XenKernelFeatures for more information about available features in different Xen enabled kernels.
Q: I've seen mentions of 'pv_ops' and 'xenlinux' kernels. Which one should I choose?
Simple answer: pv_ops. Xen 4.0 switched to using Linux pv_ops based dom0 kernel as a default, and it's the most up-to-date and is undergoing active development.
Longer answer: There are two different types of Xen dom0 capable kernels available today:
- pvops kernels, featuring new rewritten Xen support based on the upstream (kernel.org) Linux pvops framework. This work has been included in upstream kernel.org kernel since Linux 2.6.37.
- xenlinux kernels based on the "old" patches originally for Linux 2.6.18. These Xenlinux patches won't be integrated to upstream Linux.
However, the pv_ops kernel requires Xen >=4.0. If you desperatly need the Xenlinux patches, SLES/OpenSUSE has been forward-porting the patches.