Xenの取り付け

6114 ワード


二つのソースファイルを用意します。linux-2.18-xen-3.4.tar.gzとxen-3.3.tar.gz
 
(以下の内容は主にネット上の二つの資料を参照します。
http://www.myhack58.com/Article/sort099/sort0102/2012/33102.htm
http://www.cnblogs.com/feisky/archive/2012/01/18/2325952.html
)
 
tar zxf xen-3.4.2.tar.gz
tar zxf linux-2.6.18-xen-3.4.2.tar.gz
mv linux-2.6.18-xen-3.4.2 xen-3.4.2/linux-2.6.18-xen.hg
cd xen-3.4.2
buildconfigs/src.hg-cloneを修正します。
# Mercurial
HG ?= hg
LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg
# Repository to clone.
XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH))
# Set XEN_LINUX_HGREV to update to a particlar revision.
XEN_LINUX_HGREV ?= tip
$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
set -e ; \
touch $@
 
監視依存ツールがインストールされていますか?
cd tools/check/
./chk build
Xen CHECK-BUILD  Mon Feb 20 09:27:15 CST 2012
Checking check_crypto_lib: OK
Checking check_curl: unused, OK
Checking check_openssl_devel: OK
Checking check_python: OK
Checking check_python_devel: OK
Checking check_x11_devel: OK
Checking check_xgettext: OK
Checking check_xml2: unused, OK
Checking check_zlib_devel: OK
Checking check_zlib_lib: OK
    
     ./chk install
        Xen CHECK-INSTALL  Mon Feb 20 09:32:05 CST 2012
Checking check_brctl: which: no brctl in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/sbin:/usr/sbin)
 
         *** check_brctl FAILED: can't find brctl
Checking check_crypto_lib: OK
Checking check_curl: unused, OK
Checking check_iproute: OK
Checking check_python: OK
Checking check_python_xml: OK
Checking check_udev: which: no udevadm in (/sbin)
OK
Checking check_xml2: unused, OK
Checking check_zlib_lib: OK
 
     変更を試みる:
         ネットからhttp://sourceforge.net/projects/bridge/files/bridge-utils-1.5.tar.gzをダウンロードして、
     を参照してくださいhttp://book.51cto.com/art/201106/267574.htmインストールを行います。
 
studomパッチを準備します。
studemはxenのパッチセットであり、性能を高めることができます。xen 3.3から導入されました。必要ではありません。これを削除してもいいとネットで言っています。削除したくないなら、自分でネットで対応のツールバッグをダウンロードして、xenソースディレクトリの下のstudemディレクトリに入れてください。用意したツールバッグはありますか?
grub-007.tar.gz newlib-1.16.0.tar.gz pciutils-2.2.tar.gz
lwip-1.3.0.tar.gz zlib-1.2.tar.gz
 
コンパイル
Make dist
(make dist–j 4を使っていません。初めてコンパイルしたので、エラーを恐れて、乾龍の話を聞いたらmake dist–j 4>/error.txtを使ってエラー情報をリダイレクトすることができます。)
 
initrdイメージを生成
mkinitrd –without-dmraid –v –f /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen
 
グループ設定ファイルを変更
Vi/boot/grub/grub.com nfの修正結果は以下の通りです。
default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-194.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.18-194.el5.img
 
title CentOS-Xen3.4.3 (2.6.18-8)
        root (hd0,0)
        kernel /xen-3.4.3.gz
        module /vmlinuz-2.6.18.8-xen ro root=LABEL=/ rhgb quiet
        module /initrd-2.6.18.8-xen.img
 
 マシンを再起動した後、xenカーネルを使って起動します。起動後、ETh 0がないことが分かりました。だから、再度セントロに戻り、ネットカードの型番を探して、ドライバを装着してから、コマンドを使います。  /etc/init.d/xend startがdom 0を起動すればいいです。
 
(残りの内容は参考にしてください。http://code.google.com/p/cloudxy/wiki/HowTo_Build_PV_domU)
32 Mのミラーシステムを作成します。
dd if=/dev/zero of=domU-32bit-FS.img bs=1M count=32
mkfs.ext3 domU-32bit-FS.img
 
ファイルシステムを作るには、http://code.google.com/p/cloudxy/wiki/HowTo_Build_PV_domU提供のキティlinux-486-8.0.img
sudo mount -o loop /mnt ttylinux-i486-8.0.img
mkdir domUdisk
sudo mount -o loop domU-32bit-FS.img domUdisk 
cp -a mnt/ domUdisk/ -rf
 
pvケネルをdomU-32 bit-FS.imgに入れて使うのはhttp://stacklet.com/download/kernel/list?architecture=x86提供するlinux-2.5.8-xenU.x 86.tar.bz 2
 
Tar xvf linux-2.6.35.8-xenU.x86.tar.bz2
Cp –rf  ./boot/ domUdisk/ 
Cp –rf ./lib/ domUdisk/
 
(注:下の操作は全部img中で行います。)
boot/grub/grub.com nfを作成します。
title vmlinuz-2.6.35.8
root (hd0,0)
kernel /boot/vmlinuz-2.6.35.8.stk.x86 console=hvc0 root=/dev/xvda1 ro
 
修正/etc/fstab
最初の行に参加:
/dev/xvda1    /            ext3       defaults,errors=remount-ro    0 0
 
 修正/etc/inittab
追加:
hvc0:2345:respawn:/sbin/getty 38400 hvc0
 
 修正/etc/securetty
hvc 0に加入します
 
umount domUdisk
仮想マシン起動プロファイルを作成します。
memory=512
name="ttylinux"
bootloader="/usr/bin/pygrub"
disk=['tap:aio:/srv/xen/domU-32bit-FS.img,xvda1,w']
     注:その中/srv/xen/は私が置いた場所です。
 
仮想マシンを起動します。xm cr pygrub.com。
Login仮想マシンxm consolueキティlinux