[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] suggest improvements in my doc to compile Xen from sources


  • To: Xen List <xen-users@xxxxxxxxxxxxxxxxxxx>
  • From: Tapas Mishra <mightydreams@xxxxxxxxx>
  • Date: Sat, 21 Aug 2010 09:59:20 +0530
  • Delivery-date: Fri, 20 Aug 2010 21:30:41 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=gXFyo3TY4MCuw/7sHxPqiTcOsTUSRkSsR1Pv47RWoePCHPIoUJ8AK4E01Iz/YDJhDf CCPvXazhGH/tXytM9K6FzHcZp/FZ6ZH7McAXsPLZys6tEXb5MsT2sl6uFBZHALryHq2A h/i6JE3gz1+8Nkmy3jAoa7sOQqe9yUMjOfF/0=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

Hi,
I am writing a small doc for people new to Xen.
to be able to compile Xen from sources on Ubuntu.

Please  suggest some improvements for this how to or mistakes that you
can point out.

There is a technique of virtualization known as Xen and a hypervisor
known as Xen.
Like you have Firefox,Open Office,VLC and other softwares on your
computer similary
there is a software known as Xen.

Technically it is  a hypervisor.Which runs in your computer
and this is what will be able to help you to install Guest Operating
Systems on your computer.

The term Xen is often confusing to newbies since the
technique of virtualization is also known as Xen and the
hypervisor is also known as Xen.

To be able to use Xen you need to have a system which has Linux installed.
Install Xen on it.

1) Understand what is the difference between PVM and HVM.
2) Understand how to create guest operating system on Xen (hypervisor)

This doc is for those people who want to compile the hypervisor Xen
for example you might have ever used vlc media player on your Linux box.

There you install it as

        yum install vlc or
        aptitude install vlc

If you download vlc from videolan website and do some steps as

        ./configure
        make
        make install
        then this is what is known as compiling from sources.

        This doc will describe this procedure.


So to begin with get a Linux computer.

When I began I used a P4 with 256 MB RAM.
Technicall Xen can run in this low configuration but you will
 save a  lot of troubles
if you use a machine with higher RAM.



=======================================================================================

sudo apt-get install iproute bridge-utils gcc make gettext
sudo apt-get install libcurl4-openssl-dev è openssl
sudo apt-get install python-dev zlib1g-dev bcc libsdl-dev pciutils-dev
è zlib

First we will compile latest XEN Hypervisor from source.

Go to http://www.xen.org/products/xen_source.html and download the
latest XEN hypervisor from here.

My hardware specifications uname -a

Linux tapas-laptop 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17
01:57:59 UTC 2009 i686 GNU/Linux


1. mkdir /home/tapas/xen
2. cd /home/tapas/xen
3. tar -xzf xen-4.0.0
4. cd xen-4.0.0
5. make xen
6. make install-xen
7. make tools
8. make install-tools

Build Vanilla kernel
Now we will build th PV_Ops Kernel. The Vanilla kernel source will be
downloaded from Jeremy's tree. Jeremy's git tree on kernel.org
contains the pv_ops dom0 patches. If we use Jeremy's tree then we do
not any extra patches to bind XEN with kernel source.

1. mkdir /home/tapas/linux
2. cd /home/tapas/linux
3. git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
4. linux-2.6-xen
5. cd linux-2.6-xen
6. git checkout origin/xen/master -b xen/master
7. make menuconfig [see Note below]
8. make-kpkg clean
9. CONCURRENCY_LEVEL=N fakeroot make-kpkg --initrd
--append-to-version=-custom kernel_image kernel_headers
10. This will make the Ubuntu packages in the parent directory which
you can install

Note: Please choose the following xen specific optiions in kernel configuration.

Processor type and features ---> Subarchitecture Type (PC-compatible)
---> (X) Enable Xen compatible kernel
Bus options (PCI etc.) ---> [*] PCI support
[*] Xen PCI Frontend
[ ] Xen PCI Frontend
Debugging (NEW)
Device Drivers ---> XEN ---> [*] Privileged Guest (domain 0)
<*> Backend driver support (NEW)
<*> Block-device
backend driver (NEW)
<*> Block-device tap
backend driver (NEW)
<*> Network-device
backend driver (NEW)
(8) Maximum
simultaneous transmit requests (as a power of 2) (NEW)
[ ] Pipelined
transmitter (DANGEROUS) (NEW)
< > Network-device
loopback driver (NEW)
<*> PCI-device
backend driver (NEW)
PCI Backend
Mode (Virtual PCI) --->
[ ] PCI
Backend Debugging (NEW)
< >
TPM-device backend driver (NEW)
SCSI backend driver (NEW)
< > TPM-device backend driver (NEW)
SCSI backend driver (NEW)
Block-device frontend driver
Network-device frontend driver
Network-device frontend driver
acceleration for Solarflare NICs (NEW)
SCSI frontend driver (NEW)
<*> User-space granted page access driver (NEW)
<*> Framebuffer-device frontend driver (NEW)
<*> Keyboard-device frontend driver (NEW)
[*] Disable serial port drivers (NEW)
<*> Export Xen attributes in sysfs (NEW)
(256) Number of guest devices (NEW)
Xen version compatibility (4.0.0
and later) --->

After xen confiuration, please make sure that .config has the
following parameter configuration:

* CONFIG_XEN=y
* CONFIG_XEN_MAX_DOMAIN_MEMORY=32
* CONFIG_XEN_SAVE_RESTORE=y
* CONFIG_XEN_DOM0=y
* CONFIG_XEN_PRIVILEGED_GUEST=y
* CONFIG_XEN_PCI=y
* CONFIG_PCI_XEN=y
* CONFIG_XEN_BLKDEV_FRONTEND=m
* CONFIG_NETXEN_NIC=m
* CONFIG_XEN_NETDEV_FRONTEND=m
* CONFIG_XEN_KBDDEV_FRONTEND=m
* CONFIG_HVC_XEN=y
* CONFIG_XEN_FBDEV_FRONTEND=m
* CONFIG_XEN_BALLOON=y
* CONFIG_XEN_SCRUB_PAGES=y
* CONFIG_XEN_DEV_EVTCHN=y
* CONFIG_XEN_BACKEND=y
* CONFIG_XEN_BLKDEV_BACKEND=y
* CONFIG_XEN_NETDEV_BACKEND=y
* CONFIG_XENFS=y

* CONFIG_XEN_NETDEV_BACKEND=y
* CONFIG_XENFS=y
* CONFIG_XEN_COMPAT_XENFS=y
* CONFIG_XEN_XENBUS_FRONTEND=m
Note: Please choose the following xen specific optiions in kernel configuration.

Processor type and features ---> Subarchitecture Type (PC-compatible)
---> (X) Enable Xen compatible kernel
Bus options (PCI etc.) ---> [*] PCI support
[*] Xen PCI Frontend
[ ] Xen PCI Frontend
Debugging (NEW)
Device Drivers ---> XEN ---> [*] Privileged Guest (domain 0)
<*> Backend driver support (NEW)
<*> Block-device
backend driver (NEW)
<*> Block-device tap
backend driver (NEW)
<*> Network-device
backend driver (NEW)
(8) Maximum
simultaneous transmit requests (as a power of 2) (NEW)
[ ] Pipelined
transmitter (DANGEROUS) (NEW)
< > Network-device
loopback driver (NEW)
<*> PCI-device
backend driver (NEW)
PCI Backend
Mode (Virtual PCI) --->
[ ] PCI
Backend Debugging (NEW)
< >
TPM-device backend driver (NEW)
SCSI backend driver (NEW)
< > TPM-device backend driver (NEW)
SCSI backend driver (NEW)
Block-device frontend driver
Network-device frontend driver
Network-device frontend driver
acceleration for Solarflare NICs (NEW)
SCSI frontend driver (NEW)
<*> User-space granted page access driver (NEW)
<*> Framebuffer-device frontend driver (NEW)
<*> Keyboard-device frontend driver (NEW)
[*] Disable serial port drivers (NEW)
<*> Export Xen attributes in sysfs (NEW)
(256) Number of guest devices (NEW)
Xen version compatibility (4.0.0
and later) --->

After xen confiuration, please make sure that .config has the
following parameter configuration:

* CONFIG_XEN=y
* CONFIG_XEN_MAX_DOMAIN_MEMORY=32
* CONFIG_XEN_SAVE_RESTORE=y
* CONFIG_XEN_DOM0=y
* CONFIG_XEN_PRIVILEGED_GUEST=y
* CONFIG_XEN_PCI=y
* CONFIG_PCI_XEN=y
* CONFIG_XEN_BLKDEV_FRONTEND=m
* CONFIG_NETXEN_NIC=m
* CONFIG_XEN_NETDEV_FRONTEND=m
* CONFIG_XEN_KBDDEV_FRONTEND=m
* CONFIG_HVC_XEN=y
* CONFIG_XEN_FBDEV_FRONTEND=m
* CONFIG_XEN_BALLOON=y
* CONFIG_XEN_SCRUB_PAGES=y
* CONFIG_XEN_DEV_EVTCHN=y
* CONFIG_XEN_BACKEND=y
* CONFIG_XEN_BLKDEV_BACKEND=y
* CONFIG_XEN_NETDEV_BACKEND=y
* CONFIG_XENFS=y

* CONFIG_XEN_NETDEV_BACKEND=y
* CONFIG_XENFS=y
* CONFIG_XEN_COMPAT_XENFS=y
* CONFIG_XEN_XENBUS_FRONTEND=m


Hope that will help.
-- 
Tapas
http://mightydreams.blogspot.com
http://wiki.xensource.com/xenwiki/Xen_on_4_app_servers

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.