- 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:
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 **".
时间: 2025-01-01 02:59:50