Installing and using VirtualBox on CentOS
|
VirtualBox-4.0 (currently VirtualBox-4.0-4.0.18_82821), VirtualBox-4.1 (currently VirtualBox-4.1-4.1.24_82872) and VirtualBox-4.2 (currently VirtualBox-4.2-4.2.14_86644) are currently available. To get full 4.x functionality you may also need the VirtualBox Extension Pack which provides support for USB 2.0 devices, and RDP and PXE boot for Intel cards. |
See [:HowTos/Virtualization/VirtualBox/CentOSguest:CentOS as a Guest OS in VirtualBox] for information about using CentOS as a VB guest.
Please note that VirtualBox is a product of [http://www.oracle.com/ Oracle Corporation]. It is neither provided nor supported by CentOS, although questions may be answered at the [http://www.centos.org/modules/newbb/ Fora] or on the [http://www.centos.org/modules/tinycontent/index.php?id=16 virtualization mailing lists].
1. What is VirtualBox?
[http://www.virtualbox.org/ VirtualBox] is a set of x86 virtualization products for various OS platforms. It is a machine / hardware virtualization product or hypervisor, similar in function to [http://www.vmware.com/products/server/ VMware Server], [http://www.paralles.com/en/products/workstation/ Parallels Workstation], [http://www.qemu.org/ QEMU], [http://kvm.qumranet.com/ KVM] and [http://en.wikipedia.org/wiki/Xen Xen]. It can support a variety of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris/!OpenSolaris and OpenBSD. Its proponents claim it to be "the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL)".
VirtualBox is available on a variety of platforms in "native" packages. This includes i386 and AMD64 (x86_64) RPM packages for RHEL4/RHEL5/RHEL6 that should work on CentOS-4/5/6 (or Scientific Linux and other RHEL derivatives), as well as .deb packages for Debian, Ubuntu and derivatives, Mac OS-X, Windows, Solaris & OpenSolaris and as source.
2. Why use VirtualBox?
While not as efficient as operating system-level virtualization based on a modified Linux kernel like [:HowTos/Xen/InstallingCentOSDomU:Xen], [:HowTos/KVM:KVM], [:HowTos/Virtualization/OpenVZ:OpenVZ], or [:HowTos/Virtualization/Vserver:Vserver] it is easy to install and use. Benefits include:
- Available in RPM packages
Active [http://www.virtualbox.org/wiki/Community community] support
- Runs a variety of guest OS's
- Good access to hardware including sound, USB, and serial ports
- Available on a number of host OS's
- Allows running Redmond OSs and applications without messing up your computer or dual-booting
3. Installing VirtualBox
The ([http://www.virtualbox.org/ VirtualBox]) website has a lot of quality [http://www.virtualbox.org/wiki/Documentation documentation] including:
- End-user documentation
- Technical documentation
- Source code repository timeline
- List of changes (changelog)
This article will briefly cover the installation process. Both i386 and AMD64 (x86_64) versions are available.
You will need to be the root user for the following tasks. Login to a root shell or "su -" in a terminal window.
[http://www.virtualbox.org/wiki/Linux_Downloads Download] the [http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo RHEL repo config].
- Note: As an alternative, you may choose to download and install individual RPMS rather than configuring the repository. That procedure is documented on the VB web site and will not be covered here.
cd /etc/yum.repos.d wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
- Optionally add a line "enabled=0" if you do not want the repository to be enabled by default. This will require adding "--enablerepo virtualbox" to yum commands to access the repository.
The installation of VB will require the building of kernel modules. If DKMS (Dynamic Kernel Module Support) is installed it will be used and will simplify kernel upgrades. Installing DKMS from [:AdditionalResources/Repositories/RPMForge:RPMforge] or EPEL repository is recommended before installing VirtualBox. Don't forget to configure the [:PackageManagement/Yum/Priorities:yum-priorities] plugin. Installing DKMS will pull in required development dependencies.
yum --enablerepo rpmforge install dkms
|
If DKMS is not used and the development environment and kernel source are not already installed:
yum groupinstall "Development Tools" yum install kernel-devel
You may also choose to only install a minimum set of individual development tool packages (at least gcc and make are required) rather than the groupinstall which some may consider overkill. Replace "kernel-devel" with "kernel-PAE-devel" if using a PAE kernel. If you are not using a standard CentOS kernel, you must acquire and install the source for your kernel from wherever you got the kernel. Do not try to use VirtualBox with a Xen kernel, nor to install a Xen kernel in a Guest OS.
- Note: For CentOS as a Guest OS the same packages are used to build the "Guest Additions" drivers.
Install the RPM:
yum install VirtualBox-4.1
or for the old versions
yum install VirtualBox-4.0
or
yum install VirtualBox-3.2
The installer will create the "vboxusers" group and create the necessary kernel modules if the development environment has been correctly configured.
For each "username" that will run VirtualBox:
usermod -a -G vboxusers username
or use the GUI Users and Groups tool.
4. Running VirtualBox
Run VB as a user that is a member of the "vboxusers" group. For VirtualBox-4.0 or 4.1 you may install the optional VirtualBox Extension Pack from a running instance of the GUI interface via the File / Preferences / Extensions menu. The root password will be required for this operation.
From a terminal command line enter "VirtualBox &"
In GNOME or KDE run under "Applications / System Tools / Oracle VM VirtualBox"
Accept the license, optionally register, and create a new VM. VMware virtual machines should be usable with Virtual box. Google "vmware to virtualbox" for information.
Help is available from the menu or [http://www.virtualbox.org/wiki/Community online].
5. Making USB Work in VirtualBox
VirtualBox requires the user have write access to "usbfs" devices for USB access. As root perform the following:
mkdir /vbusbfs echo "none /vbusbfs usbfs rw,devgid=$(awk -F : '/vboxusers/ {print $3}' /etc/group),devmode=664 0 0" >> /etc/fstab mount -a
- If running CentOS as a guest OS in a VM the same development and DKMS packages should be installed in the VM prior to installing VBox Guest Additions.
VB users may also be interested in the [http://code.google.com/p/phpvirtualbox/ phpVirtualBox] implementation of the VirtualBox user interface written in PHP.
Please do not email the CentOS mailing lists (except [http://lists.centos.org/mailman/listinfo/centos-virt CentOS-virt]) or visit the CentOS IRC channel with VirtualBox related questions. Use the VirtualBox [http://www.virtualbox.org/wiki/Community community support resources] or the [http://www.centos.org/modules/newbb/ CentOS Fora] instead.
This page was initially created by PhilSchaffner. Other Wiki contributors are invited to make corrections, additions, or modifications.