VirtualBox only supports full virtualization, so the performance will not be as good as a paravirtualized xVM domain or Solaris zone, but it works good for graphical access to virtual machines over network with lighter workloads.
Install VirtualBox
VirtualBox is not hosted in the standard OSOL repositories, it is in the extra repository (along with flash, JavaFX SDK and others). There is some minor hassle to get access to this repository, you will ned to register an account with sun then download and install certificates. You can register here and download the certificate, there are install instructions on the site, but here is the procedure:
$ pfexec mkdir -m 0755 -p /var/pkg/sslNow install VirtualBox:
$ pfexec cp -i ~/Desktop/OpenSolaris_extras.key.pem /var/pkg/ssl
$ pfexec cp -i ~/Desktop/OpenSolaris_extras.certificate.pem /var/pkg/ssl
$ pfexec pkg set-authority \
-k /var/pkg/ssl/OpenSolaris_extras.key.pem \
-c /var/pkg/ssl/OpenSolaris_extras.certificate.pem \
-O https://pkg.sun.com/opensolaris/extra/ extra
$ pfexec pkg install virtualbox virtualbox/kernel
Create virtual machines
$ cd /opt/VirtualBox
$ VBoxManage createvm --name "WinXP" --register
$ VBoxManage modifyvm "WinXP" --memory "512MB" \
--acpi on --boot1 dvd --nic1 nat
$ VBoxManage createhd --filename "WinXP.vdi" \
--size 5000 --remember
$ VBoxManage modifyvm "WinXP" --hda "WinXP.vdi"
$ VBoxManage controlvm "WinXP" dvdattach \
/path_to_dvd/winxp.iso
$ VBoxHeadLess --startvm "WinXP"
Connect to the server with an RDP client and perform the installation. There are free RDP Clients available for most Operating systems:
Solaris/OpenSolaris/*BSD: rdekstop (pkg install SUNWrdesktop)After the installation is done, the guest can be controlled with VBoxManage. VBoxManage can control all aspects of the guest, snapshots, power, USB sound. Here are a few basic commands:
MacOS X: Remote Desktop Connection
Start: VBoxHeadLess -s winxpPoweroff: VboxManage controlvm WinXP poweroffReset: VboxManage controlvm WinXP reset
If you want to install the VirtualBox Guest additions, just inject the DVD:
$ VBoxManage controlvm "WinXP" dvdattach \
/opt/VirtualBox/additions/VBoxGuestAdditions.iso