+++ title = "VirtualBox" lastmod = "2018-02-24T22:30:00+02:00" +++ # VirtualBox [VirtualBox](https://virtualbox.org) is an x86 virtualization software package developed by Oracle. ## Determine which kernel you are using Solus support both a `current` and `lts` kernel. It is important to install the version that corresponds to your kernel. If you aren't sure which kernel you are running, run the following in terminal: ``` bash uname -r ``` You will either have a `.current` or `.lts` suffix. Examples: `4.13.12-32.current` or `4.9.61-57.lts` ## Solus as Host VirtualBox is available in the Software Center, select the package that matches your kernel. virtualbox | virtualbox-current ----- | ----- VirtualBox modules for the **linux-lts** kernel | VirtualBox modules for the **linux-current** kernel You **must** reboot your computer before running VirtualBox for the first time ### Troubleshooting {{< altimg "vbox-kernel.png" "help-center/software/virtualbox/" >}} The Error `Kernel driver not installed (rc=-1908)` may occur if - The computer was not restarted before launching VirtualBox for the first time - The computer is not booted on the latest kernel. Make sure to apply the updates from the Software Center and restart your machine. - The wrong VirtualBox package was installed. Please check the instructions just above to install the correct package for your kernel. - VirtualBox was manually installed and it conflicts with the version installed from the Solus Repository. The below commands usually help solving this last problem. ``` bash sudo /opt/VirtualBox/uninstall.sh eopkg li | grep virtualbox | awk '{print $1}' | xargs sudo eopkg it --reinstall sudo reboot ``` ## Solus as Guest ### Preparing your system Before you start, ensure your all packages are up-to-date on the virtual machine ``` bash sudo eopkg upgrade ``` For using VirtualBox, it is important to install the correct headers for your kernel If you have a **lts** kernel, install the lts headers ``` bash sudo eopkg install linux-lts-headers ``` If you have a **current** kernel, installing the current headers ``` bash sudo eopkg install linux-current-headers ``` Make sure you have the necessary packages installed ``` bash sudo eopkg install gcc make autoconf binutils xorg-server-devel libelf-devel ``` Reboot the virtual machine. ### Install the Guest Additions Now install the **Guest Additions** : from the VirtualBox menu `Devices` -> `Insert Guest Additions CD image...` On the guest Machine, open `Files` and click on the optical drive icon (CD name starts with VBOXADDITIONS) then click on the `Run Software` button and follow the on screen instructions. {{< altimg "autorun.png" "help-center/software/virtualbox/" >}} **Note:** For each kernel update you will need to rebuild the VirtualBox Modules. So simply remount the ISO and run the instructions again. ### Virtual machine settings Here is a brief overview on some options you may want to set (you can only do it when your virtual machine is not running). Select your guest machine and click on the Settings icon. #### Clipboard Sharing, Drag & Drop By default, Clipboard Sharing and Drag'n'Drop are disabled, you can change this in `General` -> `Advanced` {{< altimg "vbox-clipboard.png" "help-center/software/virtualbox/" >}} #### Number of CPU Virtual machines are created with only 1 CPU. You can change this in `System` -> `Processor` #### 3D Acceleration For better performances, it is strongly recommended to enable 3D Acceleration in `Display` -> `Screen` #### USB Controller If you have installed the [extension pack](https://www.virtualbox.org/manual/ch01.html#intro-installing) and your hardware supports it, you set the USB Controller to USB 2.0 or 3.0, in `USB` Note: Access to USB is granted by the user group `vboxusers` on the **Host** operating system. You can add yourself to this group with the following command ``` bash sudo usermod -aG vboxusers `whoami` ``` #### Shared Folders You can share folders from the Host to the Guest in `Shared Folders` **Note:** auto-mounted shared folders are mounted into the `/media` directory, along with the prefix `sf_`. For example, the shared folder `myfiles` would be mounted to `/media/sf_myfiles`. Access to auto-mounted shared folders is only granted to the user group `vboxsf` on the Guest operating system. Execute these commands to set the permissions and add yourself to the group ``` bash sudo chmod 755 /media sudo usermod -aG vboxsf `whoami` ```