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