博文目录:1. Xen的安装编译
2. 创建半虚拟化Guest OS
3. 创建全虚拟化Windows Guest OS
4. 创建全虚拟化Linux Guest OS
Xen的安装和编译
因为组里项目需要,开始接触Xen,并在Xen下完成一些工作,希望可以记下这一点一滴的收获,也希望可以在不断的深化了解中,开拓自己的研究方向。
第一步: 安装英文版Ubuntu 14.04 x64位的操作系统。
第二步:安装配置Xen 4.4
2.1 下载xen的源码包
2.2 cd 切换到xen的目录
2.3 chmod 755 -R ./
2.4 sudo apt-get install build-essential binutils python-dev libncurses5-dev libcurl4-openssl-dev xorg-dev uuid-dev bridge-utils bison flex udev gettext bin86 bcc iasl libgcrypt11-dev libssl-dev pciutils libc6-dev-i386 gcc-multilib texinfo zlib1g-dev glib-2.0 libaio* bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif yum yajl-tools git ruby cmake markdown
2.5 apt-get install git
2.6 git clone git://github.com/lloyd/yajl
2.7 cd yajl/
2.8 ./configure
2.9 sudo make install
2.10 cd xen文件夹下
2.11 ./configure --libdir=/usr/lib
2.12 make world
执行到此步骤可能会出现错误:
KeyError: '.text.asm./home/dr/xen-4.4.0/tools/firmware/seabios-dir-remote/src/smp.c.75'
原因是:语言设置为UTF-8
解决方法:使用 LC_ALL=C make命令进行编译:make world LC_ALL=C
2.13 make install
Ldconfig
执行到此步可能会出现一个错误:
tpmback.c: In function 'tpmif_change_state':
tpmback.c:350:4: error: format '%d' expects argument of type 'int *', but argument 3 has type 'enum xenbus_state *' [-Werror=format=]
if(sscanf(value, "%d", &readst) != 1) {
^
cc1: all warnings being treated as errors
make[3]: *** [/home/gao/Downloads/xen-4.4.0/stubdom/mini-os-x86_64-vtpm/tpmback.o] Error 1
make[3]: Leaving directory `/home/gao/Downloads/xen-4.4.0/extras/mini-os'
make[2]: *** [vtpm-stubdom] Error 2
make[2]: Leaving directory `/home/gao/Downloads/xen-4.4.0/stubdom'
make[1]: *** [install-stubdom] Error 2
make[1]: Leaving directory `/home/gao/Downloads/xen-4.4.0'
make: *** [world] Error 2
解决方法:
在/home/gao/Downloads/xen-4.4.0/extras/mini-os/Makefile中添加一句:DEF_CFLAGS +=-w
2.14 vim /etc/ld.so.conf
直接在后面添加find / -name libxenctrl.so.4.4命令输出的地址
2.15 ldconfig
//接下来的操作数开启Xen服务
2.16 vim /etc/rc.local
在exit 0 前面添加一句 service xencommons start 因为自已编译的不会自启动这个服务。也可以不添加,只是你每次开机需要输入这个命令。
2.17 sudo update-grub
(安装正确的情况下会在进入系统时进行选择,需要进入的是安装有Xen的ubuntu)