22.3. FreeBSD as a Host
Prev | Chapter 22. Virtualization | Next

## 22.3. FreeBSD as a Host

VirtualBox™ is an actively developed, complete virtualization package, that is available for most operating systems including Windows®, Mac OS®, Linux® and FreeBSD. It is equally capable of running Windows® or UNIX®-like guests. It is released as open source software, but with closed-source components available in a separate extension pack. These components include support for USB 2.0 devices. More information may be found on the “Downloads” page of the VirtualBox™ wiki. Currently, these extensions are not available for FreeBSD.

### 22.3.1. Installing VirtualBox™

VirtualBox™ is available as a FreeBSD package or port in `emulators/virtualbox-ose`. The port can be installed using these commands:

`#` `cd /usr/ports/emulators/virtualbox-ose` `#` `make install clean`

One useful option in the port's configuration menu is the `GuestAdditions` suite of programs. These provide a number of useful features in guest operating systems, like mouse pointer integration (allowing the mouse to be shared between host and guest without the need to press a special keyboard shortcut to switch) and faster video rendering, especially in Windows® guests. The guest additions are available in the Devices menu, after the installation of the guest is finished.

A few configuration changes are needed before VirtualBox™ is started for the first time. The port installs a kernel module in `/boot/modules` which must be loaded into the running kernel:

`#` `kldload vboxdrv`

To ensure the module always gets loaded after a reboot, add the following line to `/boot/loader.conf`:

vboxdrv_load="YES"

To use the kernel modules that allow bridged or host-only networking, add the following to `/etc/rc.conf` and reboot the computer:

vboxnet_enable="YES"

The `vboxusers` group is created during installation of VirtualBox™. All users that need access to VirtualBox™ will have to be added as members of this group. `pw` can be used to add new members:

`#` `pw groupmod vboxusers -m `yourusername``

The default permissions for `/dev/vboxnetctl` are restrictive and need to be changed for bridged networking:

`#` `chown root:vboxusers /dev/vboxnetctl` `#` `chmod 0660 /dev/vboxnetctl`

To make this permissions change permanent, add these lines to `/etc/devfs.conf`:

own vboxnetctl root:vboxusers perm vboxnetctl 0660

To launch VirtualBox™, type from a Xorg session:

`%` `VirtualBox`

For more information on configuring and using VirtualBox™, refer to the official website. For FreeBSD-specific information and troubleshooting instructions, refer to the relevant page in the FreeBSD wiki.

### 22.3.2. VirtualBox™ USB Support

In order to be able to read and write to USB devices, users need to be members of `operator`:

`#` `pw groupmod operator -m `jerry``

Then, add the following to `/etc/devfs.rules`, or create this file if it does not exist yet:

[system=10] add path 'usb/*' mode 0660 group operator

To load these new rules, add the following to `/etc/rc.conf`:

devfs_system_ruleset="system"

Then, restart devfs:

`#` `service devfs restart`

USB can now be enabled in the guest operating system. USB devices should be visible in the VirtualBox™ preferences.

### 22.3.3. VirtualBox™ Host DVD/CD Access

Access to the host DVD/CD drives from guests is achieved through the sharing of the physical drives. Within VirtualBox™, this is set up from the Storage window in the Settings of the virtual machine. If needed, create an empty IDE CD/DVD device first. Then choose the Host Drive from the popup menu for the virtual CD/DVD drive selection. A checkbox labeled `Passthrough` will appear. This allows the virtual machine to use the hardware directly. For example, audio CDs or the burner will only function if this option is selected.

HAL needs to run for VirtualBox™ DVD/CD functions to work, so enable it in `/etc/rc.conf` and start it if it is not already running:

hald_enable="YES"
`#` `service hald start`

In order for users to be able to use VirtualBox™ DVD/CD functions, they need access to `/dev/xpt0`, `/dev/cd`N``, and `/dev/pass`N``. This is usually achieved by making the user a member of `operator`. Permissions to these devices have to be corrected by adding the following lines to `/etc/devfs.conf`:

perm cd* 0600 perm xpt0 0660 perm pass* 0660
`#` `service devfs restart`

Prev | Up | Next
22.2. FreeBSD as a Guest OS | Home | Chapter 23. Localization - i18n/L10n Usage and Setup

All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.