[Xen] Ubuntu 10.04 x86 安装 Xen 4.1 和 dom0

经过一天的折腾,总算把xen 4.1和dom0安装成功了,本文主要介绍如何在ubuntu 10.04 x86上安装xen 4.1和dom0,dom0分为源码安装和deb包安装两种方法。

 

安装过程参考了这篇文章《Xen 4.1 on Ubuntu 10.04 64bit》以及Xen 4.0的realse notes

首先安装Xen

1.安装依赖

sudo apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools
transfig tgif texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra 
texlive-fonts-recommended pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python 
python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev 
e2fslibs-dev git-core uuid-dev ocaml ocaml-findlib libx11-dev bison flex  xz-utils  gcc-multilib 
liblzma-dev lzma lzma-dev python-lzma -Vy

2.下载源码,解压,进入源码的目录

3.编译

make xen

make tools

make stubdom

4.安装

sudo make install-xen

sudo make install-tools PYTHON_PREFIX_ARG=

sudo make install-stubdom

大功告成,编译和安装xen都没有什么问题,照着指南一步一步做就行了。。。

 

接下来安装dom0,首先是源码安装

1.clone源码,进入目录

git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
cd linux-2.6-xen

说明:这里和参考文章有些不同,git clone下来的linux kernel查看分支时已经处于xen/stable-2.6.32.x状态,所以不需要reset HEAD和checkout,直接编译即可。

 

2.生成.config文件,编译安装内核

这里我选择了XenParavirtOps文章中提供的2.6.32.27的配置文件,进入内核目录执行以下命令

make oldconfig

make menuconfig (if you need to change something)

make bzImage

make modules

sudo make modules_install

 

sudo cp -a .config /boot/config-version

sudo cp -a System.map /boot/System.map-version

sudo cp -a arch/x86/boot/bzImage /boot/vmlinuz-version

sudo update-initramfs -c -k 2.6.32.40
3.更新grub
sudo gedit /etc/grub.c/40_custom,添加如下内容
menuentry "Xen 4.1 with pv_ops dom0 2.6.32.40" {
	insmod ext2
	set root='(hd0,1)'
	search --no-floppy --fs-uuid --set 17051bcf-3d83-422d-bede-b559db7095b6
	multiboot /boot/xen.gz
	module /boot/vmlinuz-2.6.32.40 root=UUID=17051bcf-3d83-422d-bede-b559db7095b6 ro quiet splash
	module /boot/initrd.img-2.6.32.40
}
保存,更新grub.cfg,重启,问题又来了。。。
启动过程中出现错误“mount: mounting none on /dev failed: No such device”,不过顺利进来了,先暂时放在一边。

进入系统。Xen 4.1已经开始使用xl工具来管理虚拟机了,操作如下:
sudo /etc/init.d/xencommons start
sudo xl list

 

Name                                        ID   Mem VCPUs      State   Time(s) 
Domain-0                                     0  3583     4     r-----    336.0 

接下来介绍利用包安装dom0的方式
需要去debian的官网下载linux-image-2.6.32-5-xen-686linux-base (>= 2.6.32-31)两个deb包。这是最小依赖。
dpkg安装,这时/boot目录和/lib/modules/目录下就包含对应的启动项和模块了,最后更新grub,在/etc/grub.d/40_csutom添加如下内容:
menuentry "Xen 4.1 with Debian 6 kernel 2.6.32-5" {
	insmod ext2
	set root='(hd0,1)'
	search --no-floppy --fs-uuid --set 17051bcf-3d83-422d-bede-b559db7095b6
	multiboot /boot/xen.gz
	module /boot/vmlinuz-2.6.32-5-xen-686 root=UUID=17051bcf-3d83-422d-bede-b559db7095b6 ro quiet splash
	module /boot/initrd.img-2.6.32-5-xen-686
}

更新grub,重启,进入系统,一切顺利,启动xencommons,出现如下错误“Starting xenstored...FATAL: Failed to open evtchn device: No such file or directory”,原来Debian包把xen-evtchn编译成了模块,所以需要先加载xen-evtchn

sudo modprobe xen-evtchn

好了xl又能用了,而且这个包比自己编译出来的内核小的多,70M左右,自己编的有500多M,显示效果跟裸机没什么区别,但是自己编的字体都变了形。。。

目前发现update-grub在这个内核中不能用,不知道为啥,慢慢研究。。

 

下一步,启动pv,安装vnc启动HVM。。。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值