添加Hypercall,需要源码编译安装xen。作为实验笔记记录下来。
实验环境:
MacBook Air
系统OS X 10.8
处理器 1.8 GHz Intel Core i5
我用vmware虚拟出的centos。实际在裸机上我没做过。
操作系统centos5.4
内核:linux2.6.18
xen版本: xen-3.4.3
1.安装需要的软件包
#yum install xen xen-devel kernel-xen(就算源码编译,我发现先安装这些包会少很多麻烦)
#安装必备软件包
# yum groupinstall "Development Tools"
$ tar zxvf xen-3.4.3.tar.gz
$ cd xen-3.4.3/
$ make xen tools stubdom
# make install-xen install-tools install-stubdom(这一过程保持网络连接)
3.添加启动项
# /sbin/chkconfig --add xend
# /sbin/chkconfig --add xendomains
# /sbin/chkconfig xend on
# /sbin/chkconfig xendomains on
4.修改grub
# vi/boot/grub/menu.lst
default=0
...
hiddenmenu
title CentOS (2.6.18-348.1.1.el5xen)
root (hd0,0)
kernel /xen-3.4.3.gz
module /............
module /............
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /..............
initrd /..............
...
# reboot
# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 3713 4 r----- 36.0
我采用ftp方式进行安装。
# yum install -y vsftpd
# service vsftpd start
# mount /dev/cdrom /var/ftp/pub/ (cdrom里面是客户机安装光盘)
#yum install virt-viewer
#制作客户机磁盘
#mkdir -p /data/vm
#dd if=/dev/zero of=/data/vm/vm1.img bs=2k seek=4096k count=1
安装之前关闭防火墙
#/etc/init.d/iptables stop
用virt-install安装
#virt-install –n vm1 –r 512 –f /data/vm/vm1.img –l ftp://172.16.199.147/pub/PS:创建虚拟机的时候报错了“Device 0 (vif) could not be connected. Hotplugscripts not working”;
我google了一下,发现是一些模块没有加载上,解决方法:
#modprobe bridge
#modprobe netlook
#modprobe netbk
#service xend restart
这样应该就能解决这一问题。
7.关于添加hypercall
我在添加hypercall的时候遇见一个问题,调用后显示(xen): tmem not implemented.
于是我试着把系统调用表xen/arch/x86/x86_64/entry.S里面的.quad do_tmem_op 这一句注释掉(很奇怪我在xen/include/public/xen.h里面没有找到#define __HYPERVISOR_tmem_op)。然后重新编译后就再没报这个错。
本文详细介绍了如何在CentOS 5.4环境下从源码编译安装Xen 3.4.3,并配置相关环境以支持虚拟机运行。此外,还记录了在添加Hypercall过程中遇到的问题及解决办法。

1050

被折叠的 条评论
为什么被折叠?



