# Linux Systeembeheer/VirtualBox
## Inleiding

VirtualBox is een vrij computerprogramma om besturingssystemen te draaien binnen een (ander) besturingssysteem. Dit gebeurt op basis van virtualisatie. VirtualBox is beschikbaar voor verscheidene besturingsystemen en verscheidene talen. VirtualBox komt in twee soorten: de complete versie onder de VirtualBox Personal Use and Evaluation License, en de open source editie onder de GPL-licentie. Hierbij moet worden opgemerkt dat in de open source editie enkele belangrijke mogelijkheden ontbreken, zoals USB- en SATA-ondersteuning.

## Guest Additions

Na de installatie van een OS in een VirtualBox VM is het een goed idee om ook de Guest Additions op het gast OS te installeren. De Guest Additions zijn ontworpen om de performantie en bruikbaarheid van het gast OS te optimaliseren. Zo voorzien zij onder andere het volgende:

### Mouse pointer integratie

    De Host Key wordt overbodig. Het is voldoende om de muis uit de VM te bewegen om terug naar de host keren.

### Gedeeld klembord

    Knippen en plakken tussen het gast en het host OS, en vice versa.

### Betere video ondersteuning

    De resolutie van het gast OS past zich automatisch aan aan de grootte van het venster waar het in draait. Ook 3D hardware acceleratie wordt ondersteund.

### Gedeelde mappen

    Bestanden delen tussen het gast en het host OS, en vice versa.

### Seamless modus

    Applicaties van het gast OS worden gemapt op de desktop van het host OS, net alsof de applicaties op de host zelf draaien.

## Troubleshooting
### Installatie Guest Additions in Fedora 13 mislukt
#### Probleem

    Building the VirtualBox Guest Additions kernel modules [FAILED]

#### Oorzaak

    De broncode van de kernel is niet beschikbaar op het systeem.

#### Oplossing

    De pakketten gcc en kernel-devel installeren.

#### Procedure

Alvorens de installatie te beginnen, verzekeren we dat ons systeem up to date is.
Herstart de machine.
Klik in het menu van de VM op Devices -> Install Guest Additions.... Fedora koppelt de image niet automatisch aan het bestandssysteem. Dus mounten we de image manueel.
Installeer nu de GNU C Compiler en de broncode van de kernel.
Voor Fedora 13 moest ik volgende packages installeren:
* Voorkom het breken van de kernel! Let er op dat de broncode van de kernel overeenstemt met de juiste kernelversie. Bij de installatie van het pakket kernel-devel controleert Fedora niet op welke kernel je werkt, maar installeert sowieso de broncode van de laatste kernelversie. Dat betekent dat als jij op een andere kernel werkt, de broncodes niet volledig correct zijn. De installatie van de Guest Additions zal schijnbaar probleemloos verlopen, maar wanneer je reboot zal de machine vastlopen.
Voer het installatiescript uit.
Herstart de machine.

### CPU gebruik host nadert 100% als CentOS guest draait.
#### Probleem

    De core die de VM toewijst aan de CentOS guest draait constant aan 100%, terwijl CentOS zelf aangeeft idle te zijn.

#### Oorzaak

    De CentOS kernel werkt op een frequentie van 1000Hz, de kernel van de host op een lagere snelheid.
We kunnen de kloksnelheid van de kernel als volgt verifiëren:

#### Oplossing

    De CentOS kernel laten werken op 100Hz.

#### Procedure

Het aangekaarte probleem kan op twee manieren opgelost worden. Een eerste oplossing is een custom kernel te builden, waarbij je de kloksnelheid verlaagt. Hier gaan we niet verder op in. Een tweede, en vooral minder omslachtige methode, is om aan de kernel opties mee te geven. De optie die we nodig hebben is divider. Kernel opties kunnen we vastleggen in de configuratie van de GRUB boot loader.
Een regel beginnend met title komt overeen met een entry in het GRUB menu. Bijvoorbeeld:
Een kernel optie kunnen we toevoegen op het einde van de regel beginnend met kernel. Zodoende:
De CentOS kernel zal nu zijn werk doen op 1000Hz/divider = 1000Hz/10 = 100Hz < 250Hz = kloksnelheid kernel host OS. Het spreekt vanzelf dat we de optie moeten toevoegen aan elke GRUB entry waar we de optie toegepast willen zien. Zodus, wanneer we ons systeem updaten met een nieuwe kernel, zullen we de optie terug moeten gaan toevoegen aan de nieuwe GRUB entry. We herstarten de machine.

## Bibliografie

* www.virtualbox.org