VIVER CORE Server 0.0.3リリース

VIVER CORE Serverのバージョン0.0.3をリリースします。
ビルドシステムの改善や便利系スクリプトの追加、バグフィックスなど。


VIVER CORE Server 0.0.3
viver-core-server.0.0.3.i386.tar.gz
viver-core-server.0.0.3.src.tar.gz
viver-core-root.0.0.3.i386.tar.gz
※2007/10/8追記:バージョン0.0.4をリリースしました > VIVER CORE Server 0.0.4リリース


0.0.2からの変更点

  • ビルドシステムの改善
    • ロスコンパイル環境の構築をスキップできるようになった
    • 代わりにviver-core-rootをダウンロードして使用
  • rooturl=に複数のURLを指定してあるときに、1つのURLをダウンロードに失敗しても、他のURLを試すようになった
  • TFTPサーバーで正規表現によるファイル名のマッピングに対応
    • IPアドレスによってブートパラメータを変えるなど
  • ブートパラメータで"や空白を\でエスケープできるようになった
  • debootstrapを全自動でインストールするスクリプトを追加
  • HDDイメージをパーティションに区切ってマウントするスクリプトを追加
  • VMware Serverのtarパッケージからvmware-mount.plを取り出すスクリプトを追加

開発リポジトリを公開しました。> http://viver.sourceforge.jp/cgi-bin/repos/core.cgi

リポジトリ管理にはMercurialを使っています。

wget http://www.selenic.com/mercurial/release/mercurial-0.9.4.tar.gz
tar zxvf mercurial-0.9.4.tar.gz
cd mercurial-0.9.4
python setup.py install --prefix=$HOME/self force

hg clone http://viver.sourceforge.jp/cgi-bin/repos/core.cgi

ビルドシステムの改善

VIVER COREは、クロスコンパイル環境を構築してから本体をビルドするという手順でビルドされるので、正直に実行すると非常に時間がかかります。しかしクロスコンパイルでビルドされるので、どんな環境でビルドしても結果は同じになるはずです。自分でビルドしても旨味があまりありません。
そこで、クロスコンパイル環境でビルドする部分だけはバイナリを使い、その他の部分はソースからビルドできるようにしてみました。
↓このようにして使います。

wget http://syuki.skr.jp/core/release/viver-core-server-0.0.3.src.tar.gz
tar zxvf viver-core-server-0.0.3.src.tar.gz
cd viver-core-server-0.0.3.src
wget http://syuki.skr.jp/core/release/viver-core-root-0.0.3.i386.tar.gz
make all

debootstrapを全自動でインストール

debootstrapをDebian以外のディストリビューションで使う + VIVER CORE Serverで紹介したdebootstrapのインストール方法を、全自動化したスクリプトを追加しました。お手軽にdebootstrapが使えます。

wget http://syuki.skr.jp/core/release/viver-core-server-0.0.3.i386.tar.gz
tar zxvf viver-core-server-0.0.3.i386.tar.gz
cd viver-core-server-0.0.3.i386
./script/install-debootstrap
sudo ./script/debootstrap --arch i386 etch ~/myetch http://ftp.jp.debian.org/debian

HDDイメージをパーティションに区切ってマウント

QEMUParallelsのHDDイメージは、パーティションイメージではなくHDDイメージなので、そのままではマウント(ループバックマウント)できません。そこで、Device Mapperを使ってHDDイメージをパーティションに分割し、マウントできるようにするスクリプトを追加しました。

sudo ./script/split-hddimg /path/to/hdd/image /dev/loopX
sudo mount /dev/mapper/loopXp1 /mnt/tmp
# ...いろいろ...
sudo umount /mnt/tmp
sudo ./script/unsplit-hddimg /dev/loopX

/dev/loopXは、/dev/loop*から空いているものを使ってください。


vmware-mount.plを取り出すスクリプト

VMwareのディスクイメージ(vmdk)はVMwareの独自形式なので、普通にはマウントできません。しかしVMware Serverに含まれているvmware-mount.plを使えばマウントできます。というわけで、VMware Serverのtarパッケージからvmware-mount.plだけを取り出すスクリプトを追加しました。良きに使ってください。
VMware Serverのtarパッケージは、VMwareのダウンロードサイトからダウンロードできます。VMware Server 1.0.4 Download Now → EULAを読む と進んで VMware Server for Linuxの Binary(.tar.gz) をダウンロードし、

./script/extract-vmware-mount  VMware-server-1.0.4-56528.tar.gz
sudo ./script/vmware-mount.pl /path/to/vmdk 1 /mnt/tmp   # 1はパーティション番号

で使えます。