Dom0 Kernels for Xen: Difference between revisions
No edit summary |
No edit summary |
||
(74 intermediate revisions by 14 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]]. |
If you don't know what "dom0" or a "dom0 kernel" is, take look at the detailed explanation [[Dom0|here]]. |
||
This page contains information on Xen dom0 support, if you are looking for information on guest (domU) support see [[ |
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 = |
= Choosing a dom0 kernel = |
||
If your Linux distribution includes Xen and dom0 kernel it is recommended to use them. This provides |
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 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 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 ]] . |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
! '''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)] |
| [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] |
|||
| [http://wiki.xenproject.org/wiki/Fedora_Host_Installation Doc] |
|||
|- |
|||
| [http://www.mageia.org/ Mageia] |
|||
⚫ | |||
| [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 (OVS)] |
| [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 |
| [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 |
| All versions since 11.10 {{Foot|1}} |
||
| [https://help.ubuntu.com/community/Xen Doc] |
|||
|- |
|- |
||
| [http://www. |
| [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. |
|||
⚫ | |||
| [http://support.citrix.com/article/CTX137836 Doc] |
|||
|- |
|- |
||
| [http://www. |
| [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]] |
|||
⚫ | |||
[[Category:Debian]] |
|||
[[Category:Ubuntu]] |
|||
[[Category:Linux Mint]] |
|||
[[Category:Fedora]] |
|||
[[Category:Oracle Linux]] |
|||
[[Category:CentOS]] |
|||
[[Category:RHEL]] |
|||
[[Category:OpenSuSE]] |
|||
[[Category:Mageia]] |
|||
[[Category:OpenEmbedded]] |
|||
⚫ | |||
⚫ | |||
{{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. |
|||
⚫ | |||
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. |
||
{| |
{| class="prettytable sortable" style="width: 90%;" cellpadding="2" cellspacing="0" |
||
!'''Distributions''' |
|||
! '''Versions''' |
|||
! '''Docs''' |
|||
|- |
|||
|FreeBSD |
|||
|HEAD r280954 {{Foot|6}} |
|||
|[[FreeBSD Dom0]] |
|||
|- |
|- |
||
| NetBSD |
| NetBSD |
||
| 5.1 |
| 5.1, 6 {{Foot|1}} {{Foot|2}} {{Foot|5}} |
||
| [http://www.netbsd.org/ports/xen/howto.html#netbsd-dom0 Doc] |
|||
|- |
|- |
||
| Hurd |
|||
| Solaris 11 |
|||
| Since 2013 |
|||
| yes[3] |
|||
| [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] |
|||
|} |
|} |
||
{{Footnote|1}} See [http://www.netbsd.org/ports/xen/howto.html#netbsd-dom0 NetBSD Xen Project HowTo] for more information |
|||
{{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. |
|||
<br>''[3]'' For SPARC systems, but not for x86 systems |
|||
{{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. |
|||
{{Footnote|5}} See [http://www.netbsd.org/ports/xen/ NetBSD Xen Project News] |
|||
{{Footnote|6}} Basic support with the following [[FreeBSD_Dom0#Shortcomings]] |
|||
[[Category:NetBSD]] |
|||
[[Category:Solaris]] |
|||
= 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 [[Device_Model_Stub_Domains|stub domains]] that are used for [[Dom0 Disaggregation]]. |
|||
= FAQ = |
= FAQ = |
||
Please see [[ |
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? |
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. |
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 dom0 capable kernels available today: |
Longer answer: There are two different types of Xen Project 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. |
* 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 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 |
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. |
||
[[Category:Beginners|D]] |
[[Category:Beginners|D]] |
||
Line 80: | 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.