Xen的源码安装及dom0,domU的设置

2019-10-17 作者:网络时代   |   浏览(115)

Xen作为一种应用广泛的虚拟机方案,无论是在工业还是教育领域都发挥着巨大的作用。Xen不仅有其引以为豪的Paravirtualization实现,还有基于硬件支持的HVM实现。对于Xen,Ubuntu中有现成的解决方案,只要通过一些apt-get install(ubuntu-xen-desktop, xen-hypervisor-4.1-amd64, xen-tools, xen-utils)命令即可傻瓜式安装。但实际中,我们出于种种原因(比如源中的版本不够新,或是加了自己的补丁等等),还是倾向于自己DIY。

系统环境:ubuntu 11.04 desktop
第一步:源码及补丁包准备
xen 4.0.1
Linux Kernel 2.6.38.4
xen-patches-2.6.38-2
内核配置文件——.config
 config.txthttp://up.2cto.com/2012/0312/20120312020354999.txt
  
由于博客附件格式支持的原因,下载此文件之后,请改名为".config"
3个xen补丁文件(在附件当中):
 gcc-4.5.txthttp://up.2cto.com/2012/0312/20120312020424240.txt
    blk_linux.txthttp://up.2cto.com/2012/0312/20120312020440867.txt
    xmlrpc.txthttp://up.2cto.com/2012/0312/20120312020458664.txt
  
由于博客附件格式支持的原因,下载此文件之后,请将其格式改为".patch1"
第二步:为系统安装所需要的包
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 g++ 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 libx11-dev bison flex libssl-dev gettext libgcrypt11-dev pkg-config fakeroot crash kexec-tools makedumpfile libncurses5
2.       sudo apt-get build-dep linux
3.       apt-get install gcc-multilib
4.       apt-get install xz-utils
第三步:编译xen
使用root用户,将下载好的xen-4.0.1.tar.gz拷贝到/usr/src
将3个xen补丁文件拷贝到/usr/src
cd /usr/src
tar zxvf xen-4.0.1.tar.gz
cd xen-4.0.1
cat ../blk_linux.patch1 | patch –p1
cat ../gcc-4.5.patch1 | patch –p1
cat ../xmlrpc.patch1 | patch –p1
make xen
mke tools
make stubdom
make install-xen
make install-tools PYTHON_PREFIX_ARG=
make install-stubdom
第四步:编译内核
使用root将下载好的linux-2.6.38.4.tar.gz和xen-patches-2.6.38-2.tar.bz2都拷贝到/usr/src
tar zxvf linux-2.6.38.4.tar.gz
tar xvf xen-patches-2.6.38-2.tar.bz2
cd linux-2.6.38.4
cat ../xen-patches/*.patch1 | patch -p1
将.config文件拷贝到linux-2.6.38.4
make menuconfig
make
make install
make modules_install
update-initramfs -c -k 2.6.38.4
depmod 2.6.38.4
将Xen的内核模块加入/etc/modules文件,使系统启动时自动加载:
vi /etc/modules
netbk
blkbk
blktap
第五步:修改grub
Ubuntu 11.04 使用了Grub2,Grub2与Xen是不兼容的,于是将grub2降级到grub:
apt-get purge grub-pc
rm /boot/grub/*
apt-get install grub
grub-install –recheck /dev/sda
update-grub
手动添加启动菜单,在/boot/grub/menu.lst中添加以下内容:
title Xen 4.0.1 / Linux 2.6.38.4
kernel /boot/xen-4.0.gz
module /boot/vmlinuz-2.6.38.4 root=[root-location] ro cnsole=tty0
module /boot/initrd.img-2.6.38.4
第六步:重启
如果不发生意外的话,就会成功搭建,可以通过命令进行测试:
ps –ef | grep xend
xm list

本文的环境为VirtualBox 4.2.6 + Xen 4.1.2 + Ubuntu 12.04(64位)。

作者 sunjiangang-ok

一、编译安装Xen

http://www.bkjia.com/Linuxjc/554834.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/554834.htmlTechArticle系统环境:ubuntu 11.04 desktop 第一步:源码及补丁包准备 xen 4.0.1 Linux Kernel 2.6.38.4 xen-patches-2.6.38-2 内核配置文件.config config.txthttp://up.2cto.com/...

  1. 编译Xen之前需要装一些软件

# 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 libc6-xen gcc-multilib xz-utils

注意有些不是必须的。如果编译的是Xen 4.2,先运行configure可以知道缺了什么。 

2. 点击这里下载Xen的源码包,根据README编译安装:

# tar zxvf xen-4.1.2.tar.gz

# cd xen-4.1.2

# make world

# make install

如果是要在另一台机子上部署的用make dist。

本文由澳门新葡亰网址大全发布于网络时代,转载请注明出处:Xen的源码安装及dom0,domU的设置

关键词: