Open main menu

OpenVZ Virtuozzo Containers Wiki β

Editing How to use OpenVZ as a XEN guest OS (for x86 platform)

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 27: Line 27:
 
=== Installing from tarball ===
 
=== Installing from tarball ===
  
==== Download/unpack ====
+
Download XEN 3.1 32 bit PAE SMP tarball from http://bits.xensource.com/ and unpack:
Download XEN 3.1 32 bit PAE SMP tarball from [http://xensource.com/download/dl_31tarballs.html xensource.com] and unpack:
 
 
<pre>
 
<pre>
 
# cd xen
 
# cd xen
Line 34: Line 33:
 
# tar xvzf xen-3.1.0-install-x86_32p.tgz
 
# tar xvzf xen-3.1.0-install-x86_32p.tgz
 
</pre>
 
</pre>
 
==== Install ====
 
 
Run the install.sh script within ./dist folder:
 
Run the install.sh script within ./dist folder:
 
<pre>
 
<pre>
Line 60: Line 57:
 
</pre>
 
</pre>
 
install.sh checks the presence of the required packages and installs hypervisor xen.gz and XenLinux vmlinuz-2.6.16.33-xen
 
install.sh checks the presence of the required packages and installs hypervisor xen.gz and XenLinux vmlinuz-2.6.16.33-xen
to /boot and xm tool to /usr/sbin.
+
to /boot and xm tool to /usr/sbin. Now update /etc/grub.conf by adding the xen entry in the following way:
 
 
==== Configure the bootloader ====
 
Now update /etc/grub.conf by adding the xen entry in the following way:
 
  
 
/etc/grub.conf:
 
/etc/grub.conf:
 
<pre>
 
<pre>
title Xen Linux
+
title Xen Linux (2.6.16.33-xen)
 
         root (hd0,1)
 
         root (hd0,1)
         kernel /boot/xen.gz dom0_mem=-128M
+
         kernel /boot/xen.gz dom0_mem=1048576
         module /boot/vmlinuz-2.6-xen ro root=LABEL=/ silencelevel=8  
+
         module /boot/vmlinuz-2.6.16.33-xen ro root=LABEL=/ console=ttyS0,115200 console=tty silencelevel=8  
 
</pre>
 
</pre>
 
+
Now you can reboot the machine. Choosing the Xen Linux (2.6.16.33-xen) from grub sequence will cause to booting xen hypervisor and Dom0 running Xen Linux (2.6.16.33-xen). In case of success you'll see the usual login prompt. If kernel panic takes place during boot - reboot the machine into your usual working Linux and check if the xen related /etc/grub.conf entry is correct. If /etc/grub.conf entry is correct and xen kernel is unable to boot,- the reason is prebuild vmlinuz-2.6.16.33-xen does not contain
Note the <code>root</code> option and the <code>root=</code> argument -- those should be the same as with your other bootloader entries.
 
 
 
==== Reboot ====
 
Now you can reboot the machine. Choosing the Xen Linux (2.6.16.33-xen) from grub sequence will cause to booting xen hypervisor and Dom0 running Xen Linux (2.6.16.33-xen). In case of success you'll see the usual login prompt. If kernel panic takes place during boot reboot the machine into your usual working Linux and check if the xen related /etc/grub.conf entry is correct. If /etc/grub.conf entry is correct and xen kernel is unable to boot, the reason is pre-built vmlinuz-2.6.16.33-xen does not contain
 
 
some drivers for your hardware, that are needed to be loaded by using initrd. In this case follow instructions below - "Building from sources".
 
some drivers for your hardware, that are needed to be loaded by using initrd. In this case follow instructions below - "Building from sources".
  
 
=== Building from sources ===
 
=== Building from sources ===
  
==== Download/unpack ====
 
 
Download the package containing sources of Xen-3.1 and unpack it:
 
Download the package containing sources of Xen-3.1 and unpack it:
 
<pre>
 
<pre>
 
# wget http://bits.xensource.com/oss-xen/release/3.1.0/src.tgz/xen-3.1.0-src.tgz
 
# wget http://bits.xensource.com/oss-xen/release/3.1.0/src.tgz/xen-3.1.0-src.tgz
# tar xvzf xen-3.1.0-src.tgz
+
# gunzip xen-3.1.0-src.tgz
 +
# tar -xvf xen-3.1.0-src.tar
 
</pre>
 
</pre>
 
==== Build ====
 
 
 
Change directory to ./xen-3.1.0-src:
 
Change directory to ./xen-3.1.0-src:
 
<pre>
 
<pre>
Line 99: Line 86:
 
</pre>
 
</pre>
 
Building process will do the following:
 
Building process will do the following:
* build hypervizor xen.gz
+
- build hypervizor xen.gz
* download linux kernel source from kernel.org, patch them with a set of xen patches  
+
- download linux kernel sources 2.6.16 from kernel.org, patch them with a set of xen patches  
* from sources obtained build the XenLinux kernel that will be able to boot both in Dom0 and DomU
+
- from sources obtained build the vmlinuz-2.6.16.33-xen XenLinux kernel that will be able to boot both in Dom0 and DomU
* build and install xm tool
+
- build and install xm tool
  
==== Install ====
 
 
After building is complete run ./install.sh script:
 
After building is complete run ./install.sh script:
 
<pre>
 
<pre>
 
# ./install.sh
 
# ./install.sh
 
</pre>
 
</pre>
As a result vmlinuz-2.6-xen, xen.gz will be placed to /boot, xm tool will be placed to /usr/sbin. Now it is time to create initrd for vmlinuz-2.6.16.33-xen. Check that /lib/modules contain recently created directory 2.6.18-xen. If it is, type:
+
As a result vmlinuz-2.6.16.33-xen, xen.gz will be placed to boot, xm tool will be placed to /usr/sbin. Now it is time to create initrd for vmlinuz-2.6.16.33-xen. Check that /lib/modules contain recently created directory 2.6.16.33-xen. If it is, type:
 
<pre>
 
<pre>
# mkinitrd -f -v /boot/initrd-2.6-xen.img 2.6.18-xen
+
# mkinitrd -f -v /boot/initrd-2.6.16.33-xen.img 2.6.16.33-xen
 
</pre>
 
</pre>
After initrd-2.6.18-xen.img is succesfully created, update corresponding strings in /etc/grub.conf:
+
After initrd-2.6.16.33-xen.img is succesfully created update corresponding strings in /etc/grub.conf:
 
<pre>
 
<pre>
title Xen Linux
+
title Xen Linux (2.6.16.33-xen)
 
         root (hd0,1)
 
         root (hd0,1)
         kernel /boot/xen.gz dom0_mem=-128M
+
         kernel /boot/xen.gz dom0_mem=1048576
         module /boot/vmlinuz-2.6-xen ro root=LABEL=/
+
         module /boot/vmlinuz-2.6.16.33-xen ro root=LABEL=/ console=ttyS0,115200 console=tty silencelevel=8
         module /boot/initrd-2.6-xen.img
+
         module /boot/initrd-2.6.16.33-xen.img
 
</pre>
 
</pre>
Xen doesn't support TLS. To make xen work correct, disable TLS on your machine bu renaming /lib/tls to /lib/tls.disabled:
+
Xen 3.0 doesn't support TLS. To make xen work correct disable TLS on your machine bu renaming /lib/tls to /lib/tls.disabled:
 
<pre>
 
<pre>
 
# mv /lib/tls /lib/tls.disabled
 
# mv /lib/tls /lib/tls.disabled
 
</pre>
 
</pre>
Check that kernel command line options are correct (after ro ...) and reboot the machine. In grub loader menu select "Xen Linux". In case of success - machine boots into Xen's Dom0 that is running XenLinux. Now it is time to prepare OpenVZ XenLinux kernel for DomU.
+
Check that kernel command line options are correct (after ro ...) and reboot the machine. In grub loader menu select "Xen Linux (2.6.16.33-xen)". In case of success - machine boots into Xen's Dom0 that is running vmlinuz-2.6.16.33-xen XenLinux. Now it is time to prepare OpenVZ XenLinux kernel for DomU.
  
 
== Installing OpenVZ XenLinux kernel ==
 
== Installing OpenVZ XenLinux kernel ==
Line 134: Line 120:
 
=== Install from rpm ===
 
=== Install from rpm ===
  
Download rpm package with OpenVZ XenLinux kernel from http://openvz.org/download/kernel/rhel5/.
+
Change directory to openvz and download rpm package with OpenVZ XenLinux kernel for x86:
+
<pre>
 +
# cd
 +
# cd openvz
 +
# wget http://download.openvz.org/kernel/branches/rhel5-2.6.18/028stab034.1/ovzkernel-PAE-2.6.18-8.el5.xen.028stab034.i686.rpm
 +
</pre>
 
Install downloaded rpm:
 
Install downloaded rpm:
 
<pre>
 
<pre>
# rpm -ihv ovzkernel-xen-*.rpm
+
# rpm -ihv ovzkernel-PAE-2.6.18-8.el5.xen.028stab033.i686.rpm
 
</pre>
 
</pre>
 
If something goes wrong during installation the prebuilt kernel - you can build the OpenVZ XenLinux kernel from sources as described below.
 
If something goes wrong during installation the prebuilt kernel - you can build the OpenVZ XenLinux kernel from sources as described below.
  
=== Install from sources ===
+
=== install from sources ===
 
 
Download OpenVZ kernel source rpm from http://openvz.org/download/kernel/rhel5/.
 
  
 +
Download rpm with OpenVZ kernel sources:
 +
<pre>
 +
# wget http://download.openvz.org/kernel/branches/rhel5-2.6.18/028stab034.1/ovzkernel-2.6.18-8.el5.028stab034.1.src.rpm
 +
</pre>
 
Unpack downloaded rpm package:
 
Unpack downloaded rpm package:
 
<pre>
 
<pre>
# rpm2cpio ovzkernel-*.src.rpm | cpio -id
+
# rpm2cpio ovzkernel-2.6.18-8.el5.028stab034.1.src.rpm > ovzkernel-2.6.18-8.el5.028stab034.1.src.cpio
 +
# cpio -i < ovzkernel-2.6.18-8.el5.028stab034.1.src.cpio
 
</pre>
 
</pre>
 
Check that ./kernel-ovz.spec contains the following strings:
 
Check that ./kernel-ovz.spec contains the following strings:

Please note that all contributions to OpenVZ Virtuozzo Containers Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
If you are going to add external links to an article, read the External links policy first!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)