さて、以前に示したページの chapter 4 になります
早速 Xen のソースをダウンロードしようとアクセスしますが、
Crtix
なんだこりゃ Meta Frame のあの会社が今やってるのかな
って、どうも違うみたいです
ダウンロードの URL はこちらです
http://www.xen.org/download/index_3.3.0.html
私は 3.3.1 という現在の最新版を利用しました
さて、早速展開してコンパイルといきたいところですが、おー、
Configure がない
これは久々熱いソースみたいです んが、特にいじるところもなく、ドキュメント通り、
> make world XEN_COMPILE_ARCH=x86_64
でいけます・・・・といいたいところですが、
hg : Command not found
でとまります 出力を見てるとどうもカーネルのソースを探して、なんだかこの hg というコマンドでダウンロードを試みているようです
何でもかんでも自動でやってくれるようですが、ちょっとおせっかいですね
このコマンド、mercurial というバージョン管理システムのコマンドのようです 早速これをダウンロードしてインストールしましょう
http://www.selenic.com/mercurial/release/?M=D
> make
# make install
でこれは入ります 最近 python ってどうもはやりだなぁ
そのうちいじらねばいかんだろうか
で、カーネルソースを http 経由で持ってくるようなので、proxy を使用している人は、ホームディレクトリに
.hgrc
というファイルを作って、んでもってこの中に、
[http_proxy]
host = <proxy server name>:<proxy server port>
と書いておけば OK です って、なんか Windows の .ini ファイルみたいで、
なんかむかつきます
そんなんはおいておいて、Xen-3.3.1 に戻り、
> make dist XEN_COMPILE_ARCH=x86_64
とすれば、すごく時間がかかりますが、コンパイルが無事に終了します とりあえず、何が入るか見るためには、
> make install DESTDIR=/opt/tmp
などとすれば、/opt/tmp 以下に、勝手にディレクトリ掘って、各種ファイルを入れてくれますので、眺めてみればいいと思います 納得いったら、
# make install DESTDIR=/
で、ちゃんとインストールしましょう と、すらすら書いてますが、ここまでくるのに、
だいぶイラつきました
みなさまつまづくことがないようお祈りしています
次に chapter 5 に移ります
インストールを行うと、 /boot ディレクトリ以下に、
xen-3.3.1.gz
vmlinuz-2.6.18.8-xen
という重要なファイルができます まず、Xen 環境の場合は、grub の kernel を指定する部分に、
xen-3.3.1.gz
を指定します これは Xen ハイパーバイザーといって、Xen のカーネルだと思えば間違いないでしょう
くわしくは、以下の URL がいんじゃないでしょうか
http://www.atmarkit.co.jp/flinux/rensai/xen01/xen01a.html
そして、カーネル vmlinux-2.6.18.8-xen と、initrd-2.6.18.8-xen.img は、module として追加します なお、この vmlinuz-2.6.18.8-xen は、通常のカーネルイメージではなく、Xen のドメインとして起動するため、作られたものなので、grub の kernel 部に、このカーネルを使用しても、
起動できません
あくまでも Xen のドメインとして起動するためのカーネルです
さて、いきなり initrd の話をしてしまいましたが、これは chapter 4 の最後に出ているように、mkinitrd コマンドで作成します って、わたし、
このコマンド知りませんでした・・・・
今までの苦労はいったい・・・・んが、こいつは最高便利です ですが、たまに、
このモジュールがねー
だの、怒って作ってくれないので、そういう時は、
--builtin=<モジュール名>
で、そのモジュールはカーネルにあるんだよね、と教えてごまかしましょう ほんとに足りないってのはやばいですからむやみに使用しないでくださいね
ということで、私は LVM とか RAID とか嫌いなんで、
> mkinitrd -v -f --without-dmraid /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen
として、作らせていただきました このコマンドただのシェルスクリプトなんで、なんかわからなかったら覗いてみるのがいいと思います
あ、あと、作るの失敗すると、 /tmp にごみ残しますので、注意してくださいね
さて、grub の設定も完了したら、再起動して、新しい設定で Xen の内部で dom0 の Linux を起動しましょう
派手な splash が出るわけではないですが、なんだか、
かっこいいです