Dom0 Kernels for Xen: Difference between revisions

From Xen
Jump to navigationJump to search
(Update openSuSE 11.3,11.4,12.1 section)
No edit summary
 
(82 intermediate revisions by 16 users not shown)
Line 1: Line 1:
If you don't know what "dom0" or a "dom0 kernel" is, take look at the detailed explanation [[Dom0|here]].
<!-- MoinMoin name: XenDom0Kernels -->
<!-- Comment: Updated about F16 and Ubuntu 11.10 -->
<!-- WikiMedia name: XenDom0Kernels -->
<!-- Page revision: 00000138 -->
<!-- Original date: Wed Oct 26 19:15:40 2011 (1319656540000000) -->


This page contains information on Xen dom0 support, if you are looking for information on guest (domU) support see [[DomU Support for Xen]].
__NOTOC__
= Xen Dom0 kernel: Quick Start =


= Choosing a dom0 kernel =
If you don't know what "dom0" or a "dom0 kernel" is, jump to the detailed explanation below.
If your Linux distribution includes Xen Project and dom0 kernel it is recommended to use them. This provides benefits such as ease of install, good integration with the distribution, support from the distribution, and provision of security updates.


Xen Project 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. The Xen Project hypervisor is backwards compatible, ie. it supports older domU kernels. If your domU distribution includes a Xen Project domU kernel, it's usually best to use it and not compile your own domU kernel.
This page contains information on Xen dom0 support, if you are looking for information on guest (domU) support see Self:XenDomUSupport.


Also please notice that mainline vanilla Linux kernel already supports Xen Project. Instructions how to configure and build a Linux kernel for Dom0 and DomU support are reported here: [[ Mainline_Linux_Kernel_Configs ]] .
== Linux Distributions which include a Xen Dom0 kernel ==


= Linux Distributions which have a Xen Project Dom0 kernel =
If possible we highly recommend choosing one of the following distributions which include a domain 0 kernel out of the box. They provide rpm or deb packages containing a dom0 kernel which can be installed using your favourite package manager. This provides the benefits such as ease of install, good integration with the distribution, support from the distribution, provision of security updates etc.
{| class="prettytable sortable" style="width: 90%;" cellpadding="2" cellspacing="0"

! '''Distributions'''
{| border="1" cellpadding="2" cellspacing="0"
! '''Versions'''
|<tablestyle="width: 90%">|'''Distributions'''
| '''Versions'''
! '''Docs'''
|-
| [http://alpinelinux.org/ Alpine Linux]
| [http://alpinelinux.org/node/13811 2.4.x (2012-05-02)]{{Foot|2}} and newer
| [http://wiki.alpinelinux.org/wiki/Xen_Dom0 Doc]
|-
| [http://www.centos.org CentOS and other RHEL clones]
| 5.x
| [https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Virtualization/ Doc]
|-
| [http://www.centos.org CentOS 6.4+]
| 6.4 and newer, use [[Xen4CentOS]] (see [http://blog.xenproject.org/index.php/2013/06/20/welcome-to-the-xen4centos6-project-first-release/ announcement])
| [http://wiki.centos.org/Manuals/ReleaseNotes/Xen4-01 Doc]
|-
|-
| [http://www.debian.org/ Debian]
| [http://www.debian.org/ Debian]
| [http://www.debian.org/releases/etch/ 4.0 (Etch)], [http://www.debian.org/releases/lenny/ 5.0 (Lenny)], [http://www.debian.org/releases/squeeze/ 6.0 (Squeeze)]''[1]''
| [http://www.debian.org/releases/etch/ 4.0 (Etch)], [http://www.debian.org/releases/lenny/ 5.0 (Lenny)], [http://www.debian.org/releases/squeeze/ 6.0 (Squeeze)]{{Foot|1}}, [http://www.debian.org/releases/wheezy/ 7 (Wheezy)]{{Foot|1}} and newer
| [https://wiki.debian.org/Xen Doc]
|-
|-
| [http://fedoraproject.org/ Fedora]
| [http://fedoraproject.org/ Fedora]
| Full support from Fedora 16 onwards (see [https://fedoraproject.org/wiki/Archive:Tools/Xen?rd=FedoraXenQuickstart here])
| 16[1][2]
| [http://wiki.xenproject.org/wiki/Fedora_Host_Installation Doc]
|-
| [http://www.mageia.org/ Mageia]
| All versions
| [https://wiki.mageia.org/en/XEN Doc]
|-
| [http://openembedded.org OpenEmbedded]
| All versions since 1.3, via the meta-virtualization layer for ARM and x86
| [https://wiki.xenproject.org/wiki/Category:OpenEmbedded Doc]
|-
|-
| [http://www.opensuse.org/ OpenSUSE]
| [http://www.opensuse.org/ OpenSUSE]
| All versions since 11
| 10.x, 11.x, 12.x
| [http://doc.opensuse.org/products/draft/SLES/SLES-xen_sd_draft/cha.xen.basics.html Doc]
|-
|-
| [http://www.oracle.com/us/technologies/virtualization/oraclevm/index.html Oracle VM for x86 (OVM)]
| [http://www.oracle.com/us/technologies/virtualization/oraclevm/index.html Oracle VM for x86 (OVS)]
| All versions
| All versions
| [http://docs.oracle.com/cd/E11081_01/doc/doc.21/e10898/intro.htm Doc]
|-
|-
| [http://www.redhat.com Redhat Enterprise Linux (RHEL)]
| [http://www.redhat.com Redhat Enterprise Linux (RHEL)]
| 5.x
| 5.x only
| [https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Virtualization/sect-Virtualization-Installing_the_virtualization_packages-Installing_Xen_packages_on_an_existing_Red_Hat_Enterprise_Linux_system.html Doc]
|-
|-
| [http://www.novell.com/products/server/ SUSE Linux Enterprise Server (SLES)]
| [http://www.novell.com/products/server/ SUSE Linux Enterprise (SLE)]
| All versions since 11
| 10.x, 11.x
| [https://www.suse.com/documentation/sles11/book_xen/data/book_xen.html Doc]
|-
|-
| [http://www.ubuntu.com/ Ubuntu]
| [http://www.ubuntu.com/ Ubuntu]
| 11.10[1][2]
| All versions since 11.10 {{Foot|1}}
| [https://help.ubuntu.com/community/Xen Doc]
|-
|-
| [http://www.xen.org/products/cloudxen.html Xen Cloud Project (XCP)]
| [http://www.xenserver.org/ XenServer]
| All versions, but open source from XenServer 6.2. Before that [[XCP]] was available as an open source subset of XenServer.
| All versions
| [http://support.citrix.com/article/CTX137836 Doc]
|-
|-
| [http://www.citrix.com/xenserver/ XenServer]
| [http://www.xcp-ng.org/ XCP-ng]
| All versions
| All versions since it exists (superseding [[XCP]])
| [https://github.com/xcp-ng/xcp/wiki Doc]
|}
|}


[[Category:Alpine Linux]]
''[1]'' Please note that this kernel requires Xen >= 4.0.
[[Category:Debian]]
<br>''[2]'' Planned or in beta as of October 2011.
[[Category:Ubuntu]]
[[Category:Linux Mint]]
[[Category:Fedora]]
[[Category:Oracle Linux]]
[[Category:CentOS]]
[[Category:RHEL]]
[[Category:OpenSuSE]]
[[Category:Mageia]]
[[Category:OpenEmbedded]]


{{Footnote|1}} Please note that this kernel requires Xen >= 4.0.
== Linux Distributions which have a Xen Dom0 kernel provided by a third party ==
{{Footnote|2}} See [http://wiki.alpinelinux.org/wiki/Xen_Dom0 wiki for more info]
{{Footnote|3}} Dom0 kernel provided via [http://fedorapeople.org/~myoung/dom0/ this] (unofficial) repository
{{Footnote|4}} Based on Ubuntu 12.04 and 12.10 resp.


= Xen Project Dom0 support in BSDs and other Unix systems =
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.

=== Fedora ===

The last release of [http://fedoraproject.org/ Fedora] to include a Xen dom0 kernel was Fedora 16.

'''Obsolete information: This is relevant for Fedora 15 and lesser'''
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]]

Now that dom0 kernel support has entered the upstream kernel and Fedora 16 (and later) supports Xen out of the box.

=== 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.

* Also see [[RHEL6Xen4Tutorial|Redhat Enterprise Linux 6 Xen 4.0 Tutorial]]

=== 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]

= Dom0 support in BSDs and other Unix systems =


This list is currently incomplete. We are in the process of verifying support for other Unixes.
This list is currently incomplete. We are in the process of verifying support for other Unixes.


{| border="1" cellpadding="2" cellspacing="0"
{| class="prettytable sortable" style="width: 90%;" cellpadding="2" cellspacing="0"
|<tablestyle="width: 90%">|'''Distributions'''
!'''Distributions'''
| '''Versions'''
! '''Versions'''
! '''Docs'''
|-
|FreeBSD
|HEAD r280954 {{Foot|6}}
|[[FreeBSD Dom0]]
|-
|-
| NetBSD
| NetBSD
| 5.1, 6 {{Foot|1}} {{Foot|2}} {{Foot|5}}
| 5.1''[1]''
| [http://www.netbsd.org/ports/xen/howto.html#netbsd-dom0 Doc]
|-
| Hurd
| Since 2013
| [https://www.gnu.org/software/hurd/microkernel/mach/gnumach/ports/xen.html Doc]
|-
| OpenSolaris
| 2009.06 {{Foot|3}}
| [http://translate.google.com/translate?hl=en&sl=de&u=http://wiki.hetzner.de/index.php/OpenSolaris_Xen_einrichten&prev=/search%3Fq%3Dopensolaris%2Bxen%26start%3D10%26sa%3DN%26biw%3D952%26bih%3D615 Doc]
|-
| Illumos
| Incomplete {{Foot|4}}
| [http://wiki.openindiana.org/oi/7.+Virtualization Doc]
|}
|}


''[1]'' See [http://www.netbsd.org/ports/xen/howto.html#netbsd-dom0 NetBSD Xen HowTo] for more information
{{Footnote|1}} See [http://www.netbsd.org/ports/xen/howto.html#netbsd-dom0 NetBSD Xen Project HowTo] for more information
<br>''[2]'' See [http://multiplicity.bsd.lv/netbsd-xen.html NetBSD Xen User Guide]
{{Footnote|2}} See [http://multiplicity.bsd.lv/netbsd-xen.html NetBSD Xen Project User Guide]
{{Footnote|3}} OpenSolaris has been discontinued by Oracle, but Xen Project dom0 support is present in the latest 2009.06 release and later development snapshots before OpenSolaris was discontinued.

{{Footnote|4}} Illumos [http://www.illumos.org] is a fork of OpenSolaris, and Xen Project dom0 support is present in the Illumos sources, but it's currently unmaintained and untested. Interested developers should be able to make it work again, because it was working earlier in OpenSolaris.
= Xen dom0 kernels: the detailed version =
{{Footnote|5}} See [http://www.netbsd.org/ports/xen/ NetBSD Xen Project News]
Xen hypervisor is not usable without Domain-0 ("dom0"). Privileged dom0 guest is the "host" operating system (or a "service console", if you prefer), it has drivers for hardware, it runs the Xen management toolstack, it is used to manage the whole system, and it provides Xen virtual disks and network access for other guests aka domUs (unprivileged domains) . Usually dom0 is running Linux kernel, but Xen dom0 implementations also exist for [[OpenSolaris]] and NetBSD.
{{Footnote|6}} Basic support with the following [[FreeBSD_Dom0#Shortcomings]]

If any of the info on this wiki page is out of date, you have something to add or change, please contact xen-devel mailing list.

== How to choose a Xen dom0 kernel? ==
* If your Linux distribution includes Xen and dom0 kernel it is recommended to use them. That allows you to easily get the security fixes as a part of the normal package upgrades provided by your distribution.
* 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.


[[Category:NetBSD]]
== What Xen dom0 capable Linux kernel versions are available? Where to get them? ==
[[Category:Solaris]]
Please see [[XenKernelFeatures]] wiki page for more information about available features in different Xen enabled kernels.


= Mini-OS=
There are two different types of Xen dom0 capable kernels available today:
Mini-OS is a tiny OS kernel distributed with the Xen Project hypervisor sources (see extras/mini-os in the Xen Project source code). It is mainly used as operating system for [[Device_Model_Stub_Domains|stub domains]] that are used for [[Dom0 Disaggregation]].


= FAQ =
* 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.
Please see [[Xen Kernel Feature Matrix]] for more information about available features in different Xen Project-enabled kernels.
* xenlinux kernels based on the "old" patches originally for Linux 2.6.18. These Xenlinux patches won't be integrated to upstream Linux.


Q: I've seen mentions of 'pv_ops' and 'xenlinux' kernels. Which one should I choose?
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.


Simple answer: pv_ops. Xen Project 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.
=== pv_ops Xen dom0 kernel, based on upstream kernel.org linux git tree ===
* 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]]


Longer answer: There are two different types of Xen Project dom0 capable kernels available today:
=== older Linux 2.6.18 "Xenlinux" based source trees and/or patchsets, and the various forward-ports of them ===


* pvops kernels, featuring new rewritten Xen Project 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.
* 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"
* xenlinux kernels based on the "old" patches originally for Linux 2.6.18. These xenlinux patches won't be integrated to upstream Linux.
** This was the default dom0 kernel in all Xen 3.x releases, up to and including Xen 3.4.x.
** 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.
** Xen 4.0 and xen-unstable moved away from this kernel and started using using pv_ops tree as a default dom0 kernel.
* Citrix [[XenServer]] / XCP Linux 2.6.27 and 2.6.32 kernel (based on Novell SLES kernels)
** 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
* 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
* 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
* Novell SLES and OpenSUSE "Xenified" Xen kernel forward-ported patches
** These patches are based on the original Xenlinux 2.6.18 patches forward-ported to newer kernels by Novell / OpenSUSE.
** Andrew Lyon has rebased Novell's OpenSUSE Xen kernel patches against standard kernel.org Linux 2.6.29, 2.6.30, 2.6.31, 2.6.32, 2.6.33, 2.6.34.
** Announcement for 2.6.31-14 and 2.6.32-1 patches: http://lists.xensource.com/archives/html/xen-users/2010-04/msg00091.html
** Download the patches from here: http://code.google.com/p/gentoo-xen-kernel/downloads/list
** OpenSUSE kernel factory: http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_Factory/
** OpenSUSE 11.2 kernels: http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_11.2/
** OpenSUSE 11.3 kernels: http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_11.3/
** OpenSUSE 11.4 kernels: http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_11.4/
** Git mirror: http://www.gitorious.org/opensuse/kernel-source
** Git mirror, master branch: http://gitorious.org/opensuse/kernel-source/commits/master
** Novell SLES11 SP1 Linux 2.6.32 Xen kernel, available from: [ftp://ftp.suse.com/pub/projects/kernel/kotd/SLE11-SP1/]
** And also from Novell SLES11 installation media and the usual Novell package updates download channels
* Redhat Enterprise Linux 5 (RHEL5) kernel-xen
** Based on Linux 2.6.18 with a LOT of patches, fixes and driver and feature backports from Redhat; it used also on CentOS 5, Scientific Linux 5 and other RHEL5 clones
** Lots of driver backports included so drivers are pretty much up to date, even the kernel version (2.6.18) seems old
** 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
** If you want to run Xen on RHEL 6, see this tutorial: [http://wiki.xensource.com/xenwiki/RHEL6Xen4Tutorial]
== Xen dom0 kernels included in Linux distributions ==
* Redhat Enterprise Linux 5 (RHEL5) and CentOS 5
** 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.
** 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.
* Fedora
** Fedora 8 is currently the latest release to include Xen dom0 kernel.
** Fedora 9 - 14 do not contain Xen dom0 kernels (but they do contain Xen hypervisor and tools and Xen domU enabled kernels).
** Fedora is planning to add support for Xen dom0 again when pv_ops dom0 is included in the upstream kernel.org Linux kernels.
** For more information: http://fedoraproject.org/wiki/Features/XenPvopsDom0
** M A Young is building unofficial pv_ops xendom0 kernel RPMs for Fedora. Download: http://fedorapeople.org/~myoung/dom0/
** See fedora-xen and/or fedora-virt mailinglist archives for more information.
* 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
** http://wiki.debian.org/Xen
* Ubuntu
** 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.
** Ubuntu 8.10 (Intrepid) and later ubuntu versions unfortunately don't include Xen dom0 kernels in the repositories. You have to compile/download your own dom0 kernel, or use Debian kernels.
* 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).
* 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.
* 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.
** Good choice because it's tested and certified to run on many vendors server hardware.
Please see [[XenKernelFeatures]] wiki page for information about features in different Xen enabled kernels!


However, the pv_ops kernel requires Xen Project >=4.0. If you desperately need the Xenlinux patches, SLES/openSUSE has been forward-porting the patches.
Discussion about different Xen dom0 kernels on xen-devel mailinglist June/2009:
* http://lists.xensource.com/archives/html/xen-devel/2009-06/msg00241.html


[[Category:Beginners|D]]
[[Category:Beginners|D]]
Line 217: Line 151:
[[Category:Compatibility|D]]
[[Category:Compatibility|D]]
[[Category:Xen|D]]
[[Category:Xen|D]]
[[Category:Fundamentals]]

Latest revision as of 15:00, 23 April 2019

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 DomU Support for Xen.

Choosing a dom0 kernel

If your Linux distribution includes Xen Project and dom0 kernel it is recommended to use them. This provides benefits such as ease of install, good integration with the distribution, support from the distribution, and provision of security updates.

Xen Project 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. The Xen Project hypervisor is backwards compatible, ie. it supports older domU kernels. If your domU distribution includes a Xen Project domU kernel, it's usually best to use it and not compile your own domU kernel.

Also please notice that mainline vanilla Linux kernel already supports Xen Project. Instructions how to configure and build a Linux kernel for Dom0 and DomU support are reported here: Mainline_Linux_Kernel_Configs .

Linux Distributions which have a Xen Project Dom0 kernel

Distributions Versions Docs
Alpine Linux 2.4.x (2012-05-02)[2] and newer Doc
CentOS and other RHEL clones 5.x Doc
CentOS 6.4+ 6.4 and newer, use Xen4CentOS (see announcement) Doc
Debian 4.0 (Etch), 5.0 (Lenny), 6.0 (Squeeze)[1], 7 (Wheezy)[1] and newer Doc
Fedora Full support from Fedora 16 onwards (see here) Doc
Mageia All versions Doc
OpenEmbedded All versions since 1.3, via the meta-virtualization layer for ARM and x86 Doc
OpenSUSE All versions since 11 Doc
Oracle VM for x86 (OVS) All versions Doc
Redhat Enterprise Linux (RHEL) 5.x only Doc
SUSE Linux Enterprise (SLE) All versions since 11 Doc
Ubuntu All versions since 11.10 [1] Doc
XenServer All versions, but open source from XenServer 6.2. Before that XCP was available as an open source subset of XenServer. Doc
XCP-ng All versions since it exists (superseding XCP) Doc


1) Please note that this kernel requires Xen >= 4.0.
2) See wiki for more info
3) Dom0 kernel provided via this (unofficial) repository
4) Based on Ubuntu 12.04 and 12.10 resp.

Xen Project 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 Docs
FreeBSD HEAD r280954 [6] FreeBSD Dom0
NetBSD 5.1, 6 [1] [2] [5] Doc
Hurd Since 2013 Doc
OpenSolaris 2009.06 [3] Doc
Illumos Incomplete [4] Doc


1) See NetBSD Xen Project HowTo for more information
2) See NetBSD Xen Project User Guide
3) OpenSolaris has been discontinued by Oracle, but Xen Project dom0 support is present in the latest 2009.06 release and later development snapshots before OpenSolaris was discontinued.
4) Illumos [1] is a fork of OpenSolaris, and Xen Project dom0 support is present in the Illumos sources, but it's currently unmaintained and untested. Interested developers should be able to make it work again, because it was working earlier in OpenSolaris.
5) See NetBSD Xen Project News
6) Basic support with the following FreeBSD_Dom0#Shortcomings

Mini-OS

Mini-OS is a tiny OS kernel distributed with the Xen Project hypervisor sources (see extras/mini-os in the Xen Project source code). It is mainly used as operating system for stub domains that are used for Dom0 Disaggregation.

FAQ

Please see Xen Kernel Feature Matrix for more information about available features in different Xen Project-enabled kernels.

Q: I've seen mentions of 'pv_ops' and 'xenlinux' kernels. Which one should I choose?

Simple answer: pv_ops. Xen Project 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 Project dom0 capable kernels available today:

  • pvops kernels, featuring new rewritten Xen Project 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 Project >=4.0. If you desperately need the Xenlinux patches, SLES/openSUSE has been forward-porting the patches.