First of all, you should install a clean Ubuntu Server (Amd-64) on your server. (Version 14.04 is strongly recommended for the best compatibility)
Get the souce code of Xen ready by "git clone". ((If some errors occur in this step, you may check the /ect/apt/source.list and update it by running "$ sudo apt-get update")
1 $ git clone git://xenbits.xen.org/xen.git
If you have not yet install "git", please run "sudo apt-get install git" on your terminal.
1 $ cd xen
Use "git branch" to show the versions of Xen:
1 $ git branch -av
2 master 3e2331d VT-d: suppress UR signaling for further desktop chipsets
3 remotes/origin/HEAD -> origin/master
4 remotes/origin/master 3e2331d VT-d: suppress UR signaling for further desktop chipsets
5 remotes/origin/stable-4.0 2692df2 compat/gnttab: Prevent infinite loop in compat code
6 remotes/origin/stable-4.1 8995a94 page-alloc: scrub pages used by hypervisor upon freeing
7 remotes/origin/stable-4.2 7bcdeb9 update Xen version to 4.2.5
8 remotes/origin/stable-4.3 a153d8a update Xen version to 4.3.3
9 remotes/origin/stable-4.4 be84c34 evtchn: check control block exists when using FIFO-based events
10 remotes/origin/staging 3e2331d VT-d: suppress UR signaling for further desktop chipsets
11 remotes/origin/staging-4.0 2692df2 compat/gnttab: Prevent infinite loop in compat code
12 remotes/origin/staging-4.1 8995a94 page-alloc: scrub pages used by hypervisor upon freeing
13 remotes/origin/staging-4.2 7bcdeb9 update Xen version to 4.2.5
14 remotes/origin/staging-4.3 a153d8a update Xen version to 4.3.3
15 remotes/origin/staging-4.4 be84c34 evtchn: check control block exists when using FIFO-based events
Checkout to "stable-4.4" and create a new branch named "netopt" and then checkout to it:
Before compiling the source code of Xen, you must install the dependencies: (If some errors occur in this step, you may check the /ect/apt/source.list and update it by running "$ sudo apt-get update")
Now you can compile the source code and install Xen: (Note that this step takes a long time. Be patient!)
1 $ ./configure
2 $ make world
3 $ sudo make install
After step 4, Xen is already successfully installed on your machine. However, some post-installation operations is necessary:
You can enable automatic start of Xen Project services on system startup:
1 $ sudo update-rc.d xencommons defaults 19 18
2 $ sudo update-rc.d xendomains defaults 21 20
3 $ sudo update-rc.d xen-watchdog defaults 22 23
By running "$ ls /etc/init.d/", you can find "xencommons", "xendomains" and "xen-watchdog". Note that Starting with Xen-4.3, "xend" is abandoned and replace by "xl".
You also need to make some changes to "/boot/grub/grub.cfg" to correctly boot to xen.gz:
1 $ sudo update-grub
2 $ sudo vim /boot/grub/grub.cfg
Modify the grub default option from "0" to "2": set default="2" (The option "2" normally locates the menuentry of "xen.gz")
Reboot the Ubuntu Server: (Now your machine will automatically boot from Xen's core)
1 $ sudo reboot
You can run "sudo xl list" to test whether Xen is running correctly. If some errors occur, try to add a soft link to "libxenctrl.so.4.4":
1 $ ln -s /usr/local/lib/libxenctrl.so.4.4 libxenctrl.so.4.4
2 $ sudo ldconfig
Then restart service xencommons:
1 $ sudo service xencommons start/restart
or:
1 $ sudo /etc/init.d/xencommons start/restart Congradulations! All steps are completed and now you can create a virtual machine by "sudo xl create **".