VirtualBoxを使う

インストール

# pkgadd -G -d VirtualBoxKern-2.1.2-SunOS-r41885.pkg
# pkgadd -d VirtualBox-2.1.2-SunOS-r41885.pkg

コマンドラインで使う

仮想マシンの環境を作成します。

% VBoxManage createvm -name "FreeBSD" -register
% VBoxManage modifyvm "FreeBSD" -boot1 dvd -memory "512MB"
% VBoxManage createvdi -filename "FreeBSD.vdi" -size 10240 -register
% VBoxManage modifyvm "FreeBSD" -hda "FreeBSD.vdi"
% VBoxManage registerimage dvd /export/8.0-CURRENT-200812-i386-dvd1.iso
% VBoxManage modifyvm "FreeBSD" -dvd /export/8.0-CURRENT-200812-i386-dvd1.iso

仮想マシンを起動します。

% VBoxHeadless -startvm "FreeBSD"

RDPで仮想マシンに接続します。

% rdesktop -a 24 vboxserver

VirtualBox 1.6をSolaris 10 5/08 (update 5)で使う

VirtualBox 1.6をインストールするとlibdlpi.so.1の読込みのところでエ ラーになります。どうやらupdate 5では動作テストしてないようです。
OpenSolaris用のライブラリを期待しているようですので、 OpenSolarisから持ってきます。ここで注意しなければならないのは、あま り新しいバージョンだとやはりダメ、という点です。
というわけで、b82から持ってくることにします。

% wget http://apt.nexenta.org/dists/elatte-stable/main/binary-solaris-i386/base/sunwcslr_5.11.82-1_solaris-i386.deb
% /usr/xpg4/bin/ar x sunwcslr_5.11.82-1_solaris-i386.deb
% gzip -dc data.tar.gz | tar xf - ./lib/libdlpi.so.1
# mv ./lib/libdlpi.so.1 /opt/VirtualBox

起動スクリプトを変更します。

# vi /opt/VirtualBox/VBox.sh
  VirtualBox)
+   if test "$LD_LIBRARY_PATH"; then
+       LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$INSTALL_DIR"
+   else
+       LD_LIBRARY_PATH="$INSTALL_DIR"
+   fi
    exec "$INSTALL_DIR/VirtualBox" "$@"

実行すると無事起動します。

% VirtualBox

ブリッジモードを使う

ネットワークインターフェースはそのままではNATモードくらいしか使え ません。ブリッジモードで使うためにはTAPインターフェースが必要ですが、 Solaris 10にはありません。そこで、 http://www.whiteboard.ne.jp/~admin2/tuntap/ で配布されているフリーソフトのTAPドライバを使います。

% wget http://www.whiteboard.ne.jp/~admin2/tuntap/tuntap.tar.gz
% wget http://www.whiteboard.ne.jp/~admin2/tuntap/bridge.tar.gz
% wget http://www.whiteboard.ne.jp/~admin2/tuntap/tunctl.tar.gz
% gzip -dc tuntap.tar.gz | tar xf -
% gzip -dc bridge.tar.gz | tar xf -
% gzip -dc tunctl.tar.gz | tar xf -
% cd tuntap
% ./configure
% gmake
# gmake install
% cd bridge
% ./configure
% gmake
# gmake install
% cd tunctl
% ./configure
% gmake
# gmake install

/usr/local/sbin/tap.shを作成します。

#!/bin/sh

IF=e1000g0
TAP=tap0

case "$1" in
"start")
        /usr/local/bin/tunctl -t $TAP
        /usr/sbin/ifconfig $TAP plumb
        /usr/local/bin/brdgadm -a $IF
        /usr/local/bin/brdgadm -a $TAP
        ;;

"stop")
        /usr/local/bin/brdgadm -d $IF
        /usr/local/bin/brdgadm -d $TAP
        /usr/sbin/ifconfig $TAP unplumb
        /usr/local/bin/tunctl -d $TAP
        ;;
esac

exit 0
# /usr/local/sbin/tap.sh start
# VirtualBox
# /usr/local/sbin/tap.sh stop

Backup

% VBoxManage clonevdi Master.vdi Clone.vdi

   or
% cp Master.vdi Clone.vdi
% VBoxManage internalcommands setvdiuuid Clone.vdi