Compiling Xen-4.4 From Source And Installing It On Ubuntu Server (Amd-64)

  1. 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)

  2. 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'
  3. 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
  4. 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
  5. 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")

  6. Reboot the Ubuntu Server: (Now your machine will automatically boot from Xen's core)

    1 $ sudo reboot
  7. 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 **".

你可能感兴趣的:(ubuntu server)