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

Jump to: navigation, search

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 69: Line 69:
 
title Xen Linux
 
title Xen Linux
 
         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-xen ro root=LABEL=/ silencelevel=8  
 
</pre>
 
</pre>
  
Note the <code>root</code> option and the <code>root=</code> argument -- those should be the same as with your other bootloader entries.
+
Note the <code>root=</code> argument -- it should be the same as with your other bootloader entries.
  
 
==== Reboot ====
 
==== Reboot ====
Line 81: Line 81:
 
=== 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 96:
 
</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 130:
 
=== 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)