Compiling Xen-4.4 From Source And Installing It On Ubuntu Server (Amd-64)
[*] 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.02692df2 compat/gnttab: Prevent infinite loop in compat code
6 remotes/origin/stable-4.18995a94 page-alloc: scrub pages used by hypervisor upon freeing
7 remotes/origin/stable-4.27bcdeb9 update Xen version to 4.2.5
8 remotes/origin/stable-4.3a153d8a update Xen version to 4.3.3
9 remotes/origin/stable-4.4be84c34 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:
1 $ git checkout stable-4.4
2 Switched to branch 'stable-4.4'
3 $ git branch netopt
4 $ git checkout netopt
5 Switched to branch 'net opt'
[*] 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")
1 $ sudo apt-get install build-essential
2 $ sudo apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif
3 $ sudo apt-get install texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial
4 $ sudo apt-get install make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg-dev
5 $ sudo apt-get install iasl libbz2-dev e2fslibs-dev git-core uuid-dev ocaml ocaml-findlib libx11-dev bison flex xz-utils libyajl-dev
6 $ sudo apt-get install gettext pandoc markdown python-dev
7 $ sudo apt-get install libperl-dev libgtk2.0-dev libaio-dev gcc-multilib
[*] 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 **".
页:
[1]