Difference between revisions of "Package:VirtualBox"

From Funtoo
Jump to: navigation, search
m
m (clean up some use flags stuff, make this page less of a carnival)
Line 11: Line 11:
 
:;Guest Additions : drivers for the Guest O/S.
 
:;Guest Additions : drivers for the Guest O/S.
  
== Versions of VirtualBox ==
+
== Binary VirtualBox ==
  
VirtualBox is available in two versions :
+
VirtualBox is also available as a binary package.  If you wish to use the binary version see:
  
# '''Source based package''' : app-emulation/virtualbox;
+
{{package|app-emulation/virtualbox-bin}}
# '''Binary package''' : app-emulation/virtualbox-bin.
 
  
The 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.
+
The binary package contains extensions which are not available with the source package.
 
 
== USE flags ==
 
 
 
{| class="wikitable" style="margin: 1em auto;" width=80%
 
! width="20%" | Use flag
 
! width="10%" | Default
 
! width="10%" | Recommended
 
! width="60%" | Description
 
|-
 
| style="text-align:center;" |additions
 
| style="text-align:center;"|Yes
 
| style="text-align:center; background-color: green;" |Yes
 
| Install Guest System Tools ISO.
 
|-
 
| style="text-align:center;" |alsa
 
| style="text-align:center;"|Yes
 
| style="text-align:center; background-color: green;" |Yes
 
| Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture).
 
|-
 
| style="text-align:center;" |doc
 
| style="text-align:center;" |No
 
| style="text-align:center;" |
 
| Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally.
 
|-
 
| style="text-align:center;" |extensions
 
| style="text-align:center;" |No
 
| style="text-align:center; background-color: green;" |Yes
 
| Install extension module packages.
 
|-
 
| style="text-align:center;" |headless
 
| style="text-align:center;" |No
 
| style="text-align:center;" |
 
| Build without any graphic frontend.
 
|-
 
| style="text-align:center;" |java
 
| style="text-align:center;" |No
 
| style="text-align:center; background-color: orange;" |No
 
| Add support for Java.
 
|-
 
| style="text-align:center;" |opengl
 
| style="text-align:center;" |Yes
 
| style="text-align:center;" |
 
| Add support for OpenGL (3D graphics).
 
|-
 
| style="text-align:center;" |pam
 
| style="text-align:center;" |Yes
 
| style="text-align:center; background-color: green;" |Yes
 
| Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip.
 
|-
 
| style="text-align:center;" |pulseaudio
 
| style="text-align:center;" |Yes
 
| style="text-align:center;" |
 
| Add support for PulseAudio sound server.
 
|-
 
| style="text-align:center;" |python
 
| style="text-align:center;" |Yes
 
| style="text-align:center;" |
 
| Add optional support/bindings for the Python language.
 
|-
 
| style="text-align:center;" |python_single_target_python2_7
 
| style="text-align:center;" |Yes
 
| style="text-align:center;" |
 
| Build for Python 2.7 only.
 
|-
 
| style="text-align:center;" |python_targets_python2_7
 
| style="text-align:center;" |Yes
 
| style="text-align:center;" |
 
| Build with Python 2.7
 
|-
 
| style="text-align:center;" |qt4
 
| style="text-align:center;" |Yes
 
| style="text-align:center; background-color: green;" |Yes
 
| Add support for the Qt GUI/Application Toolkit version 4.x. No GUI when not set.
 
|-
 
| style="text-align:center;" |sdk
 
| style="text-align:center;" |Yes
 
| style="text-align:center;" |
 
| Enable building of SDK.
 
|-
 
| style="text-align:center;" |vboxwebsrv
 
| style="text-align:center;" |No
 
| style="text-align:center; background-color: orange;" |No
 
| Build and install the VirtualBox webservice.
 
|-
 
| style="text-align:center;" |vnc
 
| style="text-align:center;" |No
 
| style="text-align:center;" |
 
| Enable VNC (remote desktop viewer) support.
 
|}
 
 
 
{{fancyimportant|Depending on desktop environment, some USE flags may already be set or unset. Set USE flags as per '''Recommended''' column when unset.}}
 
  
 
== Installation ==
 
== Installation ==
 
{{fancyimportant|This tutorial deals with installation of source based package.}}
 
  
 
<console>
 
<console>
###i## echo ">=app-emulation/virtualbox-extpack-oracle-4.3.8 PUEL" >> /etc/portage/package.license/virtualbox
+
###i## echo "app-emulation/virtualbox-extpack-oracle PUEL" >> /etc/portage/package.license/virtualbox
 
###i## emerge app-emulation/virtualbox
 
###i## emerge app-emulation/virtualbox
 
</console>  
 
</console>  
  
Installation of <code>app-emulation/virtualbox</code> implies <code>app-emulation/virtualbox-extpack-oracle</code>. That is why PUEL license must be enabled.
+
Installation of <code>app-emulation/virtualbox</code> implies <code>app-emulation/virtualbox-extpack-oracle</code>.
  
 
== Guest Additions ==
 
== Guest Additions ==

Revision as of 20:40, December 17, 2014

VirtualBox

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

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.

Binary VirtualBox

VirtualBox is also available as a binary package. If you wish to use the binary version see:

app-emulation/virtualbox-bin

The binary package contains extensions which are not available with the source package.

Installation

root # echo "app-emulation/virtualbox-extpack-oracle PUEL" >> /etc/portage/package.license/virtualbox
root # emerge app-emulation/virtualbox

Installation of app-emulation/virtualbox implies app-emulation/virtualbox-extpack-oracle.

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.

   Note

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.