テスト環境のディスクイメージをつくる
DarwinPortsWikiJP に「テスト用の chroot 環境をつくる」というのがあったのでトライ。
ディスクイメージ + chroot 環境のよい点は、dmg ファイルのマウント時に shadow ファイルを利用することで、書き込み内容は shadow ファイルにだけ持たせて、いつでもクリーンな環境をすぐ用意できることだ。まだ試してないけど、shadow ファイルを切り替えることで、環境の切り替えも簡単にできるんじゃないかと思う。
shadow ファイルを利用するには、hdid コマンドを利用する。kernelthead.comの「Mac OS X Filesystems」に union などファイルシステムについて、おもしろそうなことがいろいろ書いてあるけど、正直よくわからん。
で、ディスクイメージの作り方の手順は、リンクが切れてたのだけど「Building a Chroot on Mac OS X 10.4 and Opendarwin 6.x HOWTO」のようだ。英語だけど、手順はコマンドなのでほとんどみたまま。いくつかハマった点をメモ。
- XcodeTools 2.2.1 では、DevSDK パッケージもインストールしたほうがよい
- chroot 環境を使い終わったら、umount しないとディスクイメージをイジェクトできない
インストールは次のシェルスクリプトでやった。
#!/bin/sh TARGET_DMG=/Volumes/10.4-hfs export CM_BUILD=CM_BUILD echo "###################" echo "### install OSX ###" echo "###################" OSX_PKGS="BaseSystem Essentials BSD X11User" DVD_PKG_DIR="/Volumes/Mac OS X Install DVD/System/Installation/Packages" for pkgname in ${OSX_PKGS} do installer -pkg "${DVD_PKG_DIR}/${pkgname}.pkg" -target "${TARGET_DMG}" done echo "#########################" echo "### update OSX 10.4.6 ###" echo "#########################" installer -pkg "/Volumes/Mac OS X 10.4.6 Combined Update/MacOSXUpdCombo10.4.6PPC.pkg" -target "${TARGET_DMG}" echo "########################" echo "### install DevTools ###" echo "########################" DEV_PKGS="DeveloperTools DevSDK gcc3.3 gcc4.0 BSDSDK X11SDK" DEV_VOL_DIR="/Volumes/Xcode Tools/Packages" for pkgname in ${DEV_PKGS} do installer -pkg "${DEV_VOL_DIR}/${pkgname}.pkg" -target "${TARGET_DMG}" done
WindowServer を利用するような GUI アプリケーションの検証も、この chroot 環境でテストできるのかな?だとしたら、かなりうれしいのだけど。
| 固定リンク
最近のコメント