2008/10/23

Windows: ローカルエリア通信の許可

ローカルエリアでの通信もファイアウォールで遮断されるようなのでファイアウォールの設定を変更.

[コントロールパネル] > [Windowsファイアウォール] > [詳細設定] > [ローカル エリア接続を選んで設定] > [サービス タブで 追加] > [通信を許可するローカルエリア内の端末のIPアドレスとポート番号を入力]

2008/10/22

Xenインストール1: Xenカーネルコンパイル(追記:11/14)

Fedoraのインストールと設定が終わったので,Xenのインストール開始 .

[Xenソースのダウンロード]
http://xenbits.xensource.com/
http://www.xen.org/products/xen_source.html
から,最新版のXen (現時点では3.4.2)をダウンロードする.
http://bits.xensource.com/oss-xen/release/3.4.2/xen-3.4.2.tar.gz

# wget [xen source url]
# tar xvzf xen-[version].tar.gz

[Xenのコンパイルの準備]
解凍した xen-[version]/tools/check フォルダ内で

# ./chk build
# ./chk install

を実行すると不足しているパッケージを確認できる.
不足している場合はyumでinstall or updateする.

[不足パッケージ]
エラーメッセージだけだと何のパッケージが足りてないのかわかりづらいのでメモ.
./chk build でx11_develがNG -> libX11-devel が不足
./chk install でbrctlがNG -> bridge-utils が不足
make時に libgcrypt-devel が不足
tools のmake時に dv86 が不足

[mercurialのインストール]
バージョン管理ツールがないとLinuxカーネルソースの取得ができないようなので,mercurialというツールをインストールする.しかし,デフォルトのレポジトリではmercuriusはインストールできないそうなのでRPMFORGEというレポジトリを登録しまっす.
これを登録するとyumでインストールできるパッケージが増えるらしい.

http://dag.wieers.com/rpm/packages/rpmforge-release/
から対応するLinuxカーネルのrpm
(rpmforge-release-0.3.6-1.fc3.rf.[i386 or x86_64].rpm)をDL.
Fedoraは3までしか無かったけどインストール出来たのでいっか.
http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
もダウンロードして

# rpm --import RPM-GPG-KEY.dag.txt
# rpm -Uvh rpmforge-release-[version].rpm

これでRPMFORGEがyumで使えるようになる.ただし,常にこれを有効にするとパッケージが出すぎて邪魔なので,使いたいときだけ有効にできるようにする.
/etc/yum.repos.d/rpmforge.repo
enabled = 1enabled = 0にする.

# perl -p -i -e 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo

RPMFORGEを有効にしたいときは,yumのオプションに
--enablerepo=rpmforge
をくっつける.

前準備が終わったので,RPMFORGEを有効にしてmercurialをインストールする.

# yum --enablerepo=rpmforge install mercurial -y


[mercurialを使ってカーネルソースを取得]
Xenのソースを展開したディレクトリの親ディレクトリでやるといいそうな.

hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg


[Xenのmake]
デフォルトのまま make world を実行するとエラーが出る(インクルードファイルへのパスが通っていない) ので,Xenソースディレクトリ直下にあるConfig.mkに
EXTRA_PREFIX ?= /usr/lib/gcc/i386-redhat-linux/4.3.0
を追加(gcc/以下は環境によって異なる),これを追加することで,その下の

ifneq ($(EXTRA_PREFIX),)
EXTRA_INCLUDES += $(EXTRA_PREFIX)/include
EXTRA_LIB += $(EXTRA_PREFIX)/$(LIBLEAFDIR)
endif
の部分でEXTRA_PREFIX内のincludeファイルを読み込んでくれる.

# make world
(PAEを有効にする場合は,オプションとしてXEN_TARGET_X86_PAE=yを指定する

makeが成功すると,Xenバイナリ(xen.gz)とdomain 0,domain Uのどちらでも使えるLinuxカーネルとモジュール(vmlinuz-2.6.xx-xen)が生成される.

"linux/compiler.hが見つかりません"
というエラーが出たものの,これは無視していいらしいので先へ.
Config.mkに下を足しておくとエラーがでなくなる?
EXTRA_INCLUDES +=
/usr/src/kernels/2.6.25-14.fc9.i686/include
※入れたら別のところで怒られたのでこれは入れない方がよさげ

# make install
生成したXenバイナリとLinuxカーネルを /boot にインストールする.

※補足
Config.mkのDESTDIRを書き換えると,出力先を変更できる.
makeコマンドはデフォルトだとvmlinuz-2.6.xx-xenという名前でビルドする.
これは,make時にKERNELS=kernelnameを指定することで変更できる.
例えば,
KERNELS="linux-2.6-xen0 linux-2.6-xenU"
を指定すると,domain 0とdomain Uに,それぞれ必要なモジュールだけを含んだ
カーネルを二つ生成する.
# make KERNELS="linux-2.6-xen0 linux-2.6-xenU" world
# make KERNELS="linux-2.6-xen0 linux-2.6-xenU" install

worldを付けるとエラーになる?

※捕捉2
KERNELSでコンパイルするカーネルを指定する代わりに
xen3.3.0/build-linux-2.6.18-xen*_x86_32
ディレクトリでmakeしてもいい.更新する場合は
# make clean
# make && make modules
# make install && make modules_install
モジュールの依存関係とinitrdの更新も忘れずに
# depmod 2.6.18.8-xen0
# mkinitrd (Xenインストール2を参照)

※補足3
.configファイルはドメイン0はデフォルトでも大丈夫だった
ドメインUのときは,色々デバイスが足りてなかったっぽい?
ドメイン0のコンフィグファイルをコピーして使った方が安全?
# cd /***/xen3.3.0/build-linux-2.6.18-xenU_x86_32
# /bin/cp -av /***/xen3.3.0/build-linux-2.6.18-xen0_x86_32 ./
# make oldconfig
# make menuconfig
Xen --->
[ ] Privileged Guest (domain 0)
にする.


とりあえずXenのコンパイルはここまで.
次はブートの設定とかをやります.


【参考】
Xen 3.3.0 README
- 所々嘘が書かれてたりするので気をつけましょう

Xen環境作成メモ(その1)

Xen特集 Xenのインストール VA Linux Systems Japan
- Xenのコンパイルオプションの一覧

Fedora: 日本語入力設定

Fedora 9で日本語入力できなかったので調べてみた.
どうやら日本語のパッケージをインストールをしないと日本語入力できないらしい.

# yum groupinstall 'Japanese Support' --exclude=xorg-x11-server-Xorg

※上記を実行してもfirefoxで日本語入力できなかったものの,firefoxをアップデートしたら直りました.

// Reference
Fedora 9で日本語を入力するには

2008/10/21

Fedora: インストール

Fedora 9のインストール方法.

[GPGキーのインポート]
GPGキーとは,RPMファイルが不正に改竄されていないかをチェックするためのキー情報.これをインポートしておかないと,PRMファイルをインストールできなかったり警告が出たりする.
とりあえずインポートする.

# rpm --import /etc/pki/rpg-gpg/*

(標準GPGキーは/etc/pki/rpg-gpgディレクトリにある)

[yumの設定]
# yum install yum-fastesmirror -y

[カーネルアップデート]
# yum groupinstall development-tools -y
# yum install kernel-devel -y
# yum install fedora-release -y

[emacsのインストール]
# yum install emacs -y

[ファイアウォールを切る(切っても問題ない環境のみ)]
# chkconfig iptables off

# chkconfig ip6tables off
# chkconfig --list | grep table

ping応答の許可

LAN上のWindows端末同士でpingをしようとして失敗した.
応答しないでタイムアウトになってしまう.

Windowsファイアウォール > 詳細設定 > ICMP設定 > echo要求の着信を許可する
にチェックを入れることで解決.
デフォルトのままだとファイアウォールがpingも弾いてしまうらしい.

2008/10/20

書評:Xen 3.0による仮想化サーバの構築

タイトル通りの内容.Xenの仕組み,Xenの動かし方,Domainの構築方法,仮想化サーバの構築方法等について記述している.

これから開発環境としてXenを使うことになりそうなのでお世話になりそうな本.

2008/10/10

ブログできた

勉強用のブログ作ってみました.

読んだ論文/本についてとか,勉強したことを
書いて行きたいと思いまっす.

目標は毎日更新.
がんばって勉強するぞ~.

内容について間違い等ありましたらご指摘のほどをm(_ _)m