に再挑戦(2)

数日ぶりに再開。ふむ。忙しかった。

とりあえずdistの中身が気になる。make worldによってどんな生成物ができるのかをチョット整理したい。

たぶん、RHEL5とかSuSE10とかのインストール時のパッケージ選択の時に「仮想化」を選ぶとXenもインストールされるわけだけれども、どんなファイルがどんな場所に入っているのか、RHEL5からだと他のファイルもいっぱいあるのでわかりにくい。でもdistならXen関連のファイルだけだからすぐにわかる、というつもり。

ディレクトリとファイルの構成

というわけでまずは概要からみるために、どんなディレクトリがあるか。dist/installを/と読みかえて下さい。

ディレクト ファイル数 どんなファイルが入っているか
/boot 14 vmlinuz-2.6.18-xenとかvmlinuz-2.6.18-xenUとかvmlinuz-2.6.18-xen0とかカーネルイメージファイルっぽいのがごろごろ
/etc/hotplug 1 xen-backend.agentというシェルスクリプトのみ
/etc/init.d 2 xendとxendomainsシェルスクリプト
/etc/sysconfig 1 xendomainsというkey=value形式のテキストファイル
/etc/udev 1 xen-backend.rulesという謎のテキストファイル
/etc/xen 10 xend-config.sxpとかいろいろ設定ファイル系?
/etc/xen/scripts 26 よくわからないけどシェルスクリプトいろいろ
/lib/modules/2.6.18-xen/kernel 1576 カーネルモジュールっぽいやつ多数(.koファイル)
/usr/bin 17 xenstore-***とかxentrace_***とか謎の実行ファイル(ELF形式)。
/usr/include 72 ヘッダファイル多数
/usr/lib 5 libxenstore.soとかlibxenguest.soとかの共有ライブラリ。
/usr/lib/fs 5 ファイルシステムイメージとかの共有ライブラリ。
/usr/lib/python/xen 296 pythonスクリプトっぽいのが多数。
/usr/lib/xen/bin 7 xenconsoleとかの実行ファイル(ELF形式)
/usr/sbin 17 xenbaked,xenconsoled,xenperf,xenstoredなどのELFファイルとxend,xmとかのpythonスクリプト
/usr/share/xen/qemu/keymaps 36 各種キーボードのキー配置定義用のテキストファイル?
/usr/share/man 6 man1とかman8のためのファイル

部分別ビルド

いっぺんにいろいろやろうとしたら作業ボリュームが膨らんだので、部分別にビルドしてできたものを見ていくことに。

ビルドの依存関係からビルド対象を最小化

  • world ==> clean, kdelete, dist
  • dist ==> dist-xen, dist-kernels, dist-tools, dist-docs

ということで別々にやってみる。kernelのビルドは時間がかかるね。もっと速いマシンが欲しいなぁ。