The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "Package:VirtualBox"
Line 4: | Line 4: | ||
:;Host O/S : system running on computer you are actually on; | :;Host O/S : system running on computer you are actually on; | ||
:;Guest O/S : system | :;Guest O/S : system installed within VirtualBox; | ||
:;Guest Additions : drivers for the Guest O/S. | :;Guest Additions : drivers for the Guest O/S. | ||
Revision as of 15:56, June 23, 2014
VirtualBox
is an application that allows to run a guest O/S inside a host O/S.
Glossary of Terms
- Host O/S
- system running on computer you are actually on;
- Guest O/S
- system installed within VirtualBox;
- Guest Additions
- drivers for the Guest O/S.
Versions of VirtualBox
VirtualBox is available in two versions :
- Source based package : app-emulation/virtualbox;
- Binary package : app-emulation/virtualbox-bin.
Binary package contains extensions which are not available with the source one. When we install the source based package, we must refer to the USE flags list hereafter.
USE flags
Use flag | Default | Recommended | Description |
---|---|---|---|
additions | Yes | Yes | Install Guest System Tools ISO. |
alsa | Yes | Yes | Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture). |
doc | No | Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally. | |
extensions | No | Yes | Install extension module packages. |
headless | No | Build without any graphic frontend. | |
java | No | No | Add support for Java. |
opengl | Yes | Add support for OpenGL (3D graphics). | |
pam | Yes | Yes | Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip. |
pulseaudio | Yes | Add support for PulseAudio sound server. | |
python | Yes | Add optional support/bindings for the Python language. | |
python_single_target_python2_7 | Yes | Build for Python 2.7 only. | |
python_targets_python2_7 | Yes | Build with Python 2.7 | |
qt4 | Yes | Yes | Add support for the Qt GUI/Application Toolkit version 4.x. No GUI when not set. |
sdk | Yes | Enable building of SDK. | |
vboxwebsrv | No | No | Build and install the VirtualBox webservice. |
vnc | No | Enable VNC (remote desktop viewer) support. |
Depending on desktop environment, some USE flags may already be set or unset. Set USE flags as per Recommended column when unset.
Installation
This tutorial deals with installation of source based package.
root # echo ">=app-emulation/virtualbox-extpack-oracle-4.3.8 PUEL" >> /etc/portage/package.license/virtualbox root # emerge app-emulation/virtualbox
Installation of app-emulation/virtualbox
implies app-emulation/virtualbox-extpack-oracle
. That is why PUEL license must be enabled.
Guest Additions
Make sure that user running X session belongs to vboxguest
group. Create group when it does not exist. Add user to the group. That will enable :
- Shared clipboard;
- Display resizing;
- Seamless mode;
- Drag & Drop.
root # groupadd vboxguest root # gpasswd -a ''user'' vboxguest
Windows Guests
You must enable additions
USE flag when you intend to install Windows as a guest O/S. That will also install the ISO image containing all necessary Windows guest drivrers.
Linux Guests
If you want to run Funtoo GNU/Linux as a guest O/S, emerge app-emulation/virtualbox-guest-additions
in the Funtoo GNU/Linux guest O/S. For other GNU/Linux, please refer to VirtualBox documentation.
Post Installation
You will not be able to run and use VirtualBox as a regular user if you are not a member of the vboxusers
group.
root # gpasswd -a ''user'' vboxusers
You must re-log so changes take effect.
Loading Modules
Required and optional modules must be loaded before launching VirtualBox. You can do that as root or upon boot.
vboxnetadp
and vboxnetflt
are optional.
As root
root # modprobe vboxdrv root # modprobe vboxnetadp root # modprobe vboxnetflt
Upon boot OpenRC
Edit /etc/conf.d/modules
:
modules="vboxdrv vboxnetadp vboxnetflt"
Upon boot systemd
root # echo 'vboxdrv' >> /etc/modules-load.d/virtualbox.conf root # echo 'vboxnetadp' >> /etc/modules-load.d/virtualbox.conf root # echo 'vboxnetflt' >> /etc/modules-load.d/virtualbox.conf
Kernel Driver
Each time a new kernel is installed, vboxdrv
kernel module must be recompiled. To ensure Portage knows about that, look at /var/lib/module-rebuild/moduledb
. The following record must be present.
a:1:app-emulation/virtualbox-modules-''version''
Running emerge @module-rebuild
will recompile VirtualBox driver after installation of new kernel.
It is strongly recommended to install sys-kernel/dkms
. This package keeps track of Linux kernel changes. It recompiles vboxdrv
if necessary.