VirtualBox

VirtualBox is virtualization software that allows users to run guest operating systems inside host operating systems without having to reboot.

Installation
There is a source based package and a binary package  available in the Portage tree. The binary version is available so 64bit no-multilib users can use VirtualBox, too. The binary package contains some extensions which are not available in the source package. To get identical functionality with the source package, emerge it with the  USE being enabled.

The  USE controls installation of the graphical user interface (GUI) which is enabled by default.

Windows Guests
Enable the  USE when installing VirtualBox on the host system to get the ISO image that contains all necessary Windows guest drivers.

Linux Guests
In order to run Gentoo as a guest system, invoke the following command in the Gentoo guest operating system:

To enable the shared clipboard, display resizing, seamless mode and drag and drop make sure the user running the X.org session belongs to the "vboxguest" group.

Changes will not take effect until the user signs out and then signs in again (re-logins).

To install other Linux distributions as guest operating systems please refer to the distribution's documentation on how to install the drivers needed by VirtualBox or consult the official VirtualBox documentation.

Running
Users will not be able to run and use VirtualBox if they are not a member of the "vboxusers" group.

Changes will not take effect until the user re-logins.

Load the required driver module made available when was emerged:

Optional modules:

OpenRC
Load the modules upon boot. When using OpenRC, edit file. Add the following modules:

Systemd
When using systemd:

Usage
There are many options which can influence behavior and performance of the virtual machines. If you don't know what these options are doing, leave them to their defaults. Virtual machines may become unbootable if the wrong options are set.

Here is a list of options that are safe to use:
 * Host I/O cache can safely be enabled for all virtual storage controllers.
 * If the host system's CPU supports hardware virtualization, enable the 'VT-x/AMD-V' option. It can drastically increase the performance of the virtual machines.

Performance problems - Microsoft Windows Guest

 * Do not enable APIC for Microsoft Windows guests! VirtualBox also has a bad habit of enabling this option on its own will. The fix is to select the System Processor Driver (i.e. ACPI Uniprocessor PC) and manually upgrade (change) to the Advanced Configuration and Power Interface (ACPI) PC. Shutdown (not reboot), restart VirtualBox and ensure APIC is off, then boot the guest. As usual, always make a backup before playing with Windows.
 * Using a SATA controller, it is necessary to choose the right driver version from Intel's SATA drivers. Using a wrong version will cause performance problems along with blue screen errors! Refer to this post for a list of working SATA drivers.
 * Slow performance using SATA driver? Only use the SATA controller interface for the hard disk. Remove any CDROMs from the SATA controller and place them onto a IDE Controller.
 * When installing the VirtualBox Guest Additions into your Windows operating system, do not select to enable Direct3D (experimental) option as this will cause resizing problems and other anomalies. Also, you need to install the Guest Additions from Safe Mode.
 * Do not use the ICH9 chipset with Windows. It is still considered experimental. Using it can cause temporary freezes of the whole VM when used with Windows 7. See this post for more informations.

Performance problems - Linux Guest

 * When running Gentoo as a guest system make sure you start the virtualbox-guest-additions init script during bootup.

Kernel driver not installed


This may occur after building a new kernel and causes an error message:


 * Kernel driver not installed (rc=-1908)


 * The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing


 * '/etc/init.d/vboxdrv setup'


 * as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

Solution: Rebuild the VirtualBox kernel modules with

You may need to restart your computer to validate the change.

Nonexistent host networking interface, named 'vboxnet0'
Newly created interface will not be shown with ifconfig. You will have to assign some IP to it:

External resources

 * vboxweb_rb - Web-based administration utility (Ruby)