23.3. FreeBSD als een gastheer-besturingssysteem

Voor een aantal jaren werd FreeBSD niet officieel ondersteund als een gastheer-besturingssysteem door de beschikbare virtualisatiepakketten. Sommige mensen gebruikten oudere en meestal overbodige versies van VMware (zoals emulators/vmware3), die gebruik maakten van de Linux® binaire compatibiliteitslaag. Kort na de uitgave van FreeBSD 7.2 verscheen Suns VirtualBox in de Ports; Collectie als een programma dat voor FreeBSD zelf bedoeld is.

VirtualBox is een actief ontwikkeld en compleet virtualisatiepakket dat beschikbaar is voor de meeste besturingssystemen waaronder Windows®, Mac OS®, Linux en FreeBSD. Het kan evengoed Windows of UNIX® als gast draaien. Het is gerealiseerd als een open-source pakket met gesloten-source componenten beschikbaar in een apart uitbreidingspakket. Deze componenten bevatten onder andere ondersteuning voor USB-2.0-apparaten. Meer informatie kan gevonden worden op de pagina “Downloads” van de VirtualBox-wiki op http://www.virtualbox.org/wiki/Downloads. Momenteel zijn deze uitbreidingen niet beschikbaar voor FreeBSD.

23.3.1. VirtualBox™ installeren

VirtualBox is beschikbaar als een FreeBSD-port in emulators/virtualbox-ose. Zorg ervoor, aangezien VirtualBox erg actief ontwikkeld wordt, dat uw ports bijgewerkt is voordat u met de installatie begint. Installeer het met deze commando's:

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

Een nuttige optie in het configuratiescherm is de verzameling GuestAdditions programma's. Deze bieden een aantal nuttige mogelijkheden in gastbesturingssystemen, zoals integratie van de muiscursor (wat het mogelijk maakt om de muis te delen tussen de gast en de gastheer zonder dat er een speciale toetsencombinatie hoeft te worden gebruikt voor het omwisselen) en snellere video-rendering, met name in Windows-gasten. De gastaanvullingen zijn beschikbaar in het menu Devices, nadat de installatie van het gastbesturingssysteem is voltooid.

Er zijn enkele aanpassingen aan de instellingen nodig voordat VirtualBox voor het eerst wordt gestart. De port installeert een kernelmodule in /boot/modules welke in de draaiende kernel geladen moet worden:

# kldload vboxdrv

Voeg de volgende regel toe aan /boot/loader.conf om er zeker van te zijn dat de module altijd na een herstart wordt geladen:

vboxdrv_load="YES"

Voeg het volgende aan /etc/rc.conf toe en herstart de computer om de kernelmodules te gebruiken die in gebridgede of gastheer-only netwerken voorzien:

vboxnet_enable="YES"

De groep vboxusers wordt tijdens de installatie van VirtualBox aangemaakt. Alle gebruikers die toegang tot VirtualBox nodig hebben moeten als lid van deze groep worden toegevoegd. Met het commando pw kunnen nieuwe leden worden toegevoegd:

# pw groupmod vboxusers -m uwgebruikersnaam

De standaardpermissies voor /dev/vboxnetctl zijn restrictief en moeten veranderd worden voor gebridged netwerken.

Om het tijdelijk te testen:

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

Voeg deze regels toe aan /etc/devfs.conf om de permissiewijziging permanent te maken:

own	vboxnetctl root:vboxusers
perm	vboxnetctl 0660

Gebruik de optie Sun VirtualBox van het menu van de grafische omgeving of typ het volgende in een terminal om VirtualBox te starten:

% VirtualBox

Bezoek de officiële website op http://www.virtualbox.org voor meer informatie over het configureren en gebruiken van VirtualBox. Aangezien de FreeBSD-port erg nieuw is, wordt het nog volop ontwikkeld. Kijk voor de laatste informatie en instructies om problemen op te lossen op de relevantie pagina in de FreeBSD-wiki op http://wiki.FreeBSD.org/VirtualBox.

23.3.2. USB-ondersteuning in VirtualBox

Opmerking: Voor deze stappen is VirtualBox 4.0.0 of nieuwer nodig.

Om van UBS-apparaten te kunnen lezen en ernaar te kunnen schrijven dienen gebruikers lid te zijn van de groep operator:

# pw groupmod operator -m jerry

Voeg vervolgens het volgende toe aan /etc/devfs.rules (maak het aan als het nog niet bestaat):

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

Voeg het volgende aan toe aan /etc/rc.conf om deze nieuwe regels te laden:

devfs_system_ruleset="system

Herstart vervolgens devfs:

# service devfs restart

USB kan nu in het gast-besturingssysteem worden aangezet. USB-apparaten zouden zichtbaar moeten zijn in de voorkeuren van VirtualBox.

23.3.3. DVD/CD-toegang van de gastheer in VirtualBox

Toegang tot de CD/DVD-stations van de gastheer wordt bereikt door het delen van de fysieke stations. In de GUI kan dit vanuit het scherm Opslag in de Instellingen van de virtuele machine worden ingesteld. Maak eerst een leeg IDE CD-/DVD-apparaat aan. Kies daarna het Gastheerstation van het popup-menu voor het kiezen van het virtuele CD-/DVD-station. Later zal er een checkbox genaamd Passthrough verschijnen. Dit stelt de virtuele machine in staat om de hardware direct te gebruiken. Audio-CDs en branders bijvoorbeeld werken alleen als deze optie is aangezet.

HAL moet draaien om de DVD/CD-functies van VirtualBox te laten werken, zet het dus aan in /etc/rc.conf en start het (als het niet reeds draait):

hald_enable="YES"
# service hald start

Om gebruikers de DVD/CD-functionaliteit van VirtualBox te laten gebruiken, dienen ze toegang te hebben tot /dev/xpt0, /dev/cdN en /dev/passN. Dit wordt normaliter gedaan door de gebruiker van VirtualBox lid te maken van de groep operator, wat ook de standaardgroep is voor bovengenoemde apparaten. De rechten van deze apparaten dienen gecorrigeerd te worden door de volgende regels aan /etc/devfs.conf toe te voegen:

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