2.4. Installing on Solaris hosts

Oracle VM VirtualBox

2.4. Installing on Solaris hosts

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.

2.4.1. Performing the installation

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”.

2.4.2. The vboxuser group

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.

2.4.3. Starting VirtualBox on Solaris

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.

2.4.4. Uninstallation

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

2.4.5. Unattended installation

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

2.4.6. Configuring a zone for running VirtualBox

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.