ubuntu12.04源码安装xen

来源:互联网 发布:统一软件过程图 编辑:程序博客网 时间:2024/06/05 01:53
一、 安装依赖
sudo apt-get install build-essential binutilspython-dev libncurses5-dev  libcurl4-openssl-devxorg-dev uuid-dev bridge-utils bison flex udev gettext bin86 bcc  iasl libgcrypt11-dev  libssl-dev pciutils libc6-dev-i386 gcc-multilib texinfozlib1g-dev 

二、下载xen4.1.2
cd ~/xen
wget http://bits.xensource.com/oss-xen/release/4.1.2/xen-4.1.2.tar.gz
如果想要下载其他版本,点击http://xen.org/products/xen_archives.html

三、解压 编译
tar xzf xen-4.1.2.tar.gz
cd xen-4.1.2
make xen toolsstubdom
sudo makeinstall-xen
sudo make install-toolsPYTHON_PREFIX_ARG="--install-layout=deb"
sudo make install stubdom

四、修改/etc/modules
vim /etc/modules 添加如下行:
xen-evtchn
xen-gntdev
xen-netback
xen-blkback
xenfs
blktap

五、修改启动项
vim /boot/grub/grub.cfg添加如下行:
menuentry'Ubuntu GNU/Linux, with Xen 4 and Linux 3.2.0-23-generic' --classubuntu --class gnu-linux --class gnu --class os --class xen{
       insmod part_msdos
       insmod ext2
       set root='(hd0,msdos8)'
       search --no-floppy --fs-uuid --set=root3c3309f1-c32e-4707-82e1-23d3e06bf3a2
       echo   'Loading Xen 4 ...'
       multiboot      /boot/xen-4.gz placeholder 
       echo   'Loading Linux 3.2.0-23-generic ...'
       module /boot/vmlinuz-3.2.0-23-generic placeholderroot=UUID=3c3309f1-c32e-4707-82e1-23d3e06bf3a2 ro quiet splash
       echo   'Loading initial ramdisk ...'
       module /boot/initrd.img-3.2.0-23-generic
}
 
vmlinuz-3.2.0-23-generic为12.04自带内核,支持dom0,无需编译内核。

重启后,选择
Ubuntu GNU/Linux, with Xen 4 andLinux 3.2.0-23-generic
就进入xen了,
运行 xm list 正常结果如下:
Name                                  ID   MemVCPUs      State  Time(s)
Domain-0                               3241       r-----  1173.0

trouble shooting
1、
#xm list
ImportError: libxenctrl.so.4.0: cannot openshared object file: No such file or directory

解决方案:
libxenctrl.so.4.0 ls in/usr/lib64
add /usr/lib64 to/etc/ld.so.conf.d/libc.conf.like this:
/usr/local/lib
/lib64
/usr/lib
/usr/lib64

2、
#service xencommod start
Starting xenstored...FATAL: Failed to openevtchn device: No such file or directory

解决方案:
#sudo modprobe xen-evtchn