centos 5源码编译安装xen实验笔记

本文详细介绍了如何在CentOS 5.4环境下从源码编译安装Xen 3.4.3,并配置相关环境以支持虚拟机运行。此外,还记录了在添加Hypercall过程中遇到的问题及解决办法。

添加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"

# yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-devel \
libtool-ltdl iasl xorg-x11-drv-evdev xorg-x11-drv-fbdev \
xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel \
xorg-x11-server-sdk xorg-x11-xtrans-devel

关闭selinux

#vi /etc/selinux/config
...
selinux=disabled
...


2.安装Xen hypervisor 和tools

下载 Xen 源代码:这里我用的xen-3.4.3.tar.gz

$ 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 /..............

...


5.重新启动,查看xend是否启动

# reboot

# xm list

Name                                        ID   Mem VCPUs      State  Time(s)

Domain-0                                     0  3713     4    r-----     36.0


6.创建虚拟机


我采用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)。然后重新编译后就再没报这个错。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值