For the specific versions of Solaris that we support as host operating systems, please refer to Section 1.4, “Supported host operating systems”.
If you have a previously installed instance of VirtualBox on your Solaris host, please uninstall it first before installing a new instance. Refer to Section 2.4.4, “Uninstallation” for uninstall instructions.
VirtualBox is available as a standard Solaris package. Download
the VirtualBox SunOS package which includes the 64-bit
versions of VirtualBox. The installation must be performed as
root and from the global zone as the VirtualBox installer
loads kernel drivers which cannot be done from non-global zones. To
verify which zone you are currently in, execute the
zonename
command. Execute the following
commands:
gunzip -cd VirtualBox-5.2.4-SunOS.tar.gz | tar xvf -
Starting with VirtualBox 3.1 the VirtualBox kernel package is no longer a separate package and has been integrated into the main package. Install the VirtualBox package using:
pkgadd -d VirtualBox-5.2.4-SunOS.pkg
The installer will then prompt you to enter the package you wish to install. Choose "1" or "all" and proceed. Next the installer will ask you if you want to allow the postinstall script to be executed. Choose "y" and proceed as it is essential to execute this script which installs the VirtualBox kernel module. Following this confirmation the installer will install VirtualBox and execute the postinstall setup script.
Once the postinstall script has been executed your installation is
now complete. You may now safely delete the uncompressed package and
autoresponse
files from your system.
VirtualBox would be installed in
/opt/VirtualBox
.
Note
If you need to use VirtualBox from non-global zones, please read Section 2.4.6, “Configuring a zone for running VirtualBox”.
Starting with VirtualBox 4.1, the installer creates the system
user group vboxuser
during installation
for Solaris hosts that support the USB features required by VirtualBox.
Any system user who is going to use USB devices from VirtualBox guests
must be a member of this group. A user can be made a member of this
group through the GUI user/group management or at the command line by
executing as root:
usermod -G vboxuser username
Note that adding an active user to that group will require that user to log out and back in again. This should be done manually after successful installation of the package.
The easiest way to start a VirtualBox program is by running the
program of your choice (VirtualBox
,
VBoxManage
,
VBoxSDL
or
VBoxHeadless
) from a terminal. These
are symbolic links to VBox.sh
that
start the required program for you.
Alternatively, you can directly invoke the required programs from
/opt/VirtualBox
. Using the links
provided is easier as you do not have to type the full path.
You can configure some elements of the
VirtualBox
Qt GUI such as fonts and
colours by executing VBoxQtconfig
from
the terminal.
Uninstallation of VirtualBox on Solaris requires root permissions. To perform the uninstallation, start a root terminal session and execute:
pkgrm SUNWvbox
After confirmation, this will remove VirtualBox from your system.
If you are uninstalling VirtualBox version 3.0 or lower, you need to remove the VirtualBox kernel interface package, execute:
pkgrm SUNWvboxkern
To perform a non-interactive installation of VirtualBox we have
provided a response file named
autoresponse
that the installer will
use for responses to inputs rather than ask them from you.
Extract the tar.gz package as described in the normal installation. Then open a root terminal session and execute:
pkgadd -d VirtualBox-5.2.4-SunOS-x86 -n -a autoresponse SUNWvbox
To perform a non-interactive uninstallation, open a root terminal session and execute:
pkgrm -n -a /opt/VirtualBox/autoresponse SUNWvbox
Assuming that VirtualBox has already been installed into your zone, you need to give the zone access to VirtualBox's device node. This is done by performing the following steps. Start a root terminal and execute:
zonecfg -z vboxzone
Replace "vboxzone" with the name of the zone in which you intend to run VirtualBox.
Inside the zonecfg
prompt add the
device
resource and
match
properties to the zone. Here's
how it can be done:
zonecfg:vboxzone>add device zonecfg:vboxzone:device>set match=/dev/vboxdrv zonecfg:vboxzone:device>end zonecfg:vboxzone>add device zonecfg:vboxzone:device>set match=/dev/vboxdrvu zonecfg:vboxzone:device>end zonecfg:vboxzone>exit
If you are running VirtualBox 2.2.0 or above on Solaris 11 or
above, you may add a device for /dev/vboxusbmon
too, similar to what was shown above. This does not apply to Solaris 10
hosts due to lack of USB support.
If you are not using sparse root zones, you will need to loopback
mount /opt/VirtualBox
from the global zone
(specified below using the dir
attribute) into
the non-global zone at the same path (specified using the
special
attribute). For example:
zonecfg:vboxzone>add fs zonecfg:vboxzone:device>set dir=/opt/VirtualBox zonecfg:vboxzone:device>set special=/opt/VirtualBox zonecfg:vboxzone:device>set type=lofs zonecfg:vboxzone:device>end zonecfg:vboxzone>exit
Next reboot the zone using zoneadm
and you should be able to run VirtualBox from within the configured zone.