Difference between revisions of "Package:VirtualBox"

From Funtoo
Jump to navigation Jump to search
 
m (Fixed a minor typo (drivrers to drivers))
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<code>VirtualBox</code> is an application that allows to run a guest O/S inside a host O/S.
{{Ebuild
 
|Summary=A desktop virtualization package from Oracle Corporation that allows you to run a guest operating system (Linux, Windows or other) on your Linux system.
|CatPkg=app-emulation/virtualbox
|Maintainer=
|Repository=Gentoo Portage Tree
}}
== Glossary of Terms ==
== Glossary of Terms ==


:;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 indtalled within VirtualBox;
:;Guest O/S : system installed within VirtualBox;
:;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.


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;" |Yes
| Install Guest System Tools ISO.
|-
| style="text-align:center;" |alsa
| style="text-align:center;" |Yes
| style="text-align:center;" |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;" |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;" |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;" |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;" |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;" |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 ==
Line 134: Line 44:
=== Windows Guests ===
=== Windows Guests ===


You must enable <code>additions</code> 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.
You must enable <code>additions</code> 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 drivers.


=== Linux Guests ===
=== Linux Guests ===
Line 188: Line 98:
It is strongly recommended to install <code>sys-kernel<nowiki>/</nowiki>dkms</code>. This package keeps track of Linux kernel changes. It recompiles <code>vboxdrv</code> if necessary.
It is strongly recommended to install <code>sys-kernel<nowiki>/</nowiki>dkms</code>. This package keeps track of Linux kernel changes. It recompiles <code>vboxdrv</code> if necessary.


[[Category:HOWTO]]
[[Category:Ebuilds]]
[[Category:Tutorial]]
[[Category:Virtualization]]
[[Category:Virtualization]]
{{EbuildFooter}}

Revision as of 22:32, December 25, 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:

No results

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

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.