![]() |
LINUX |
Xen (unstable) のビルド
*Xenを利用してバーチャルサーバを構成します
*xen-unstableソースをmercurialで取得します
*stableなkernelソースは用意されていません
*デフォルトではlinux-2.6-pvopsをビルドします
*20100522現在、linux-2.6.31.13です
*再構築には /usrを含むディレクトリの空き領域が2.0Gバイト程度必要
*再構築後は (空き容量の確保のため) 必要なファイルを残して、削除します
*make はメンテナンスマシンで行っています
*詳しい内容は Xen 4.0 release notes を参照して下さい
**以降はコメントです
*ソースの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*ソースを展開したら説明文 (英文) を読みましょう
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :xen-unstable.hg | (http://xenbits.xensource.com/) |
| :mercurial-1.5.3.tar.gz | (http://www.selenic.com/) |
| :git-1.7.1.tar.bz2 | (http://git-scm.com/) |
| :acpica-unix-20100428.tar.gz | (http://acpica.org/downloads/) |
参照ファイル
インストール環境| :OS | CentOS 5.5 |
| :selinux | disabled |
| :インストール先 | |
| :作業 | /usr/src |
| :言語 | LANG=en_US.UTF-8 |
| :ユーザー | rootで実行 |
*メンテナンスは一般ユーザから行います
Xenの構築に必要なパッケージ*基本的な、LINUXの起動に必要なパッケージは省きます
*参考 xen-3.0.3-105.el5.src.rpm
xenのmakeに必要libidn-devel, zlib-devel, curl-devel, libX11-devel, python-devel, ncurses-devel, gtk2-devel, libaio-devel, pciutils-devel, udev, dev86, gettext, gnutls-devel, openssl-devel, flex, bison
Xenの実行に必要bridge-utils, hotpllug or udev, iproute, python, zlib, openssl
GUI環境・ドキュメントの作成に必要*ドキュメントを作成しない方針です
SDL-devel, transfig, texi2html, ghostscript, tetex-latex, perl
stubdomの作成に必要*makeの進行中にwgetでソースファイルを取得し、インストールします
*patchを当てているのでプレインストールではうまくいかないと思う
*ioemuを使わないのでstubdomを作成しない方針です
zlib, pciutils, newlib, lwip, grub, ocaml
ソースファイルのダウンロード*開発版をmercurialを利用してダウンロードします
*インターネットに接続できる必要があります
mercurialのインストール# cd /usr/src # tar zxvf mercurial-1.5.3.tar.gz # cd mercurial-1.5.3 # make PREFIX=/usr install
xenソースのダウンロード# cd /usr/src # hg clone http://xenbits.xensource.com/xen-unstable.hg
*最新パッチを適用するには
# cd xen-unstable.hg # hg pull -u
gitのインストール# cd /usr/src # tar jxvf git-1.7.1.tar.bz2 # cd git-1.7.1 # ./configure # make install
kernelソースのダウンロード*省略した場合、xenの構築中に、gitで取得します
*本来は、xen-unstable.hgの中にディレクトリが作られます
*cloneの作成には時間と空き容量が必要(700Mバイト以上必要)
# cd /usr/src # git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git \ linux-2.6-pvops.git
*最新パッチを適用するには
# cd /usr/src/linux-2.6-pvops.git # git pull -v
iASL compilerのインストール*"tools/firmware/hvmloader/acpi"で要求されます
# cd /usr/src # tar zxvf acpica-unix-20100428.tar.gz # chown -R root:root acpica-unix-20100428 # cd acpica-unix-20100428/compiler # make # cp iasl /usr/local/bin
xen-4.1-unstable*xenとkernelを別々にインストールします
*uninstallを実行するとkernel (xen用) まで削除されます
*ioemu(qemu-dm)が有効な場合は、gitコマンドでファイルを取得します
# cd /usr/src # chown -R root:root xen-unstable.hg # cd xen-unstable.hg
*kernelソースへのリンクを作ります
# ln -s /usr/src/linux-2.6-pvops.git linux-2.6-pvops.git
*build環境のチェック
# cd tools/check # ./chk build
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
Checking check_brctl: OK
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
# cd /usr/src/xen-unstable.hg
# vi Makefile # vi config/x86_32.mk # vi buildconfigs/src.git-clone # vi tools/blktap2/drivers/libaio-compat.h
# make world
# cd /usr/src/xen-unstable.hg
# make uninstall
# make install
linux-2.6.31.13*xenとkernelを別々にインストールします
*configファイルの作成に注意してください
*initrdファイルは "make install" の作業で作成されます
*grub.confに起動設定を書き込むので、xenに合わせて修正します
# cd /usr/src # chown -R root:root linux-2.6-pvops.git # cd linux-2.6-pvops.git # make mrproper
*configファイルの作成とコピー
*xenのディレクトリに戻り、configファイルを作ります
# cd /usr/src/xen-unstable # make linux-2.6-pvops-config CONFIGMODE=menuconfig # cd build-inux-2.6-pvops_x86_32 # cp .config /usr/src/linux-2.6-pvops.git
# make menuconfig
*Xen のモデュールは Drivers などに分散しています
*デフォルトではほとんどが静的なモデュールになっています
*次回からはこの config ファイルを使って make します
*Exit → Enterキーでセーブ画面
*セーブして終了
# make # make modules_install # make install
![]() |
Copyright(c) 528p.com All Rights Reserved. |

