Installer VirtualBox sous Gentoo / Calculate Linux

Cet article a été mis à jour, vous consultez ici une archive de cet article!



Introduction



VirtualBox (plus précisément Oracle VM VirtualBox) est un logiciel libre de virtualisation publié par Oracle (anciennement Sun).
Il permet de virtualiser un système d'exploitation Windows, Linux ou MAC, à condition de disposer du média d'installation.
Le système ne sait pas qu'il est "émulé", il se comporte donc comme un système classique installé sur un ordinateur.


Installation



Dans un premier temps, on s'assure d'avoir notre arbre portage est synchronisé et à jour.

Code BASH :
eix-sync


Nous allons ensuite installer les paquets qui nous intéressent, à savoir, VirtualBox, les extensions d'Oracle, et les modules pour le kernel. On teste déjà dans un premier temps la liste des paquets à installer via emerge -p app-emulation/virtualbox app-emulation/virtualbox-extpack-oracle app-emulation/virtualbox-modules

Code BASH :
emerge -p app-emulation/virtualbox app-emulation/virtualbox-extpack-oracle app-emulation/virtualbox-modules


Code BASH :
[ebuild  N     ] sys-devel/bin86-0.16.17 
[ebuild  N     ] app-emulation/virtualbox-additions-4.2.4 
[ebuild  N     ] sys-power/iasl-20090123  USE="{-test}" 
[ebuild  N     ] dev-libs/libIDL-0.8.14  USE="-debug" 
[ebuild  N     ] app-emulation/virtualbox-modules-4.2.4  USE="-pax_kernel" 
[ebuild  NS    ] sys-devel/automake-1.9.6-r3 [1.11.6]
[ebuild  N     ] dev-util/kbuild-0.1.9998_pre20120806 
[ebuild  N     ] app-emulation/virtualbox-4.2.4-r1  USE="additions alsa opengl pam qt4 sdk -doc -extensions -headless -java -pulseaudio -python -vboxwebsrv -vnc" 
[ebuild  N     ] app-emulation/virtualbox-extpack-oracle-4.2.4 


Dans mon cas, les USE FLAG utilisés pour VirtualBox sont corrects.

Si on veut à tout prix la dernière version stable compléter le fichier adéquat:

Code BASH :
ARCH=$(portageq envvar ARCH)
echo "app-emulation/virtualbox-modules ~$ARCH #VirtualBox" >>  /etc/portage/package.keywords/custom 
echo "app-emulation/virtualbox-additions ~$ARCH #VirtualBox" >>  /etc/portage/package.keywords/custom 
echo "app-emulation/virtualbox ~$ARCH #VirtualBox" >>  /etc/portage/package.keywords/custom 
echo "app-emulation/virtualbox-extpack-oracle ~$ARCH #VirtualBox" >>  /etc/portage/package.keywords/custom 



Je lance l'installation avec la même commande, en ôtant le commutateur -p. On peut ajouter le commutateur -q si on souhaite avoir une progression de l'installation plus claire (donc sans les lignes de compilation).

Code BASH :
emerge -q app-emulation/virtualbox app-emulation/virtualbox-extpack-oracle app-emulation/virtualbox-modules


Code BASH :
>>> Verifying ebuild manifests
>>> Starting parallel fetch
>>> Emerging (1 of 9) sys-devel/bin86-0.16.17
>>> Installing (1 of 9) sys-devel/bin86-0.16.17
>>> Emerging (2 of 9) app-emulation/virtualbox-additions-4.2.4
>>> Installing (2 of 9) app-emulation/virtualbox-additions-4.2.4
>>> Emerging (3 of 9) sys-power/iasl-20090123
>>> Installing (3 of 9) sys-power/iasl-20090123
>>> Emerging (4 of 9) dev-libs/libIDL-0.8.14
>>> Installing (4 of 9) dev-libs/libIDL-0.8.14
>>> Emerging (5 of 9) app-emulation/virtualbox-modules-4.2.4
>>> Installing (5 of 9) app-emulation/virtualbox-modules-4.2.4
>>> Recording app-emulation/virtualbox-modules in "world" favorites file...
>>> Emerging (6 of 9) sys-devel/automake-1.9.6-r3
>>> Installing (6 of 9) sys-devel/automake-1.9.6-r3
>>> Emerging (7 of 9) dev-util/kbuild-0.1.9998_pre20120806
>>> Installing (7 of 9) dev-util/kbuild-0.1.9998_pre20120806
>>> Emerging (8 of 9) app-emulation/virtualbox-4.2.4-r1
>>> Installing (8 of 9) app-emulation/virtualbox-4.2.4-r1
>>> Recording app-emulation/virtualbox in "world" favorites file...
>>> Emerging (9 of 9) app-emulation/virtualbox-extpack-oracle-4.2.4
>>> Installing (9 of 9) app-emulation/virtualbox-extpack-oracle-4.2.4
>>> Recording app-emulation/virtualbox-extpack-oracle in "world" favorites file...
 


Et voila, VirtualBox est installé. Mais à ce stade, il ne fonctionne pas encore.


Configurer VirtualBox et le Système




Modules



VirtualBox a besoin de modules pour fonctionner, ces modules doivent être chargés dans le kernel.

Si on ne souhaite pas redémarrer de suite, on peut charger les modules avec la commande modprobe

Code BASH :
modprobe vboxdrv
modprobe vboxnetflt
modprobe vboxnetadp


Autoriser les utilisateurs



Il faut aussi donner les droits aux utilisateurs d'utiliser VirtualBox.
Pour cela, ajouter les utilisateurs dans le groupe vboxusers. (L'exemple ci-dessous est fait avec mon nom d'utilisateur : adrien)

Code BASH :
usermod -G vboxusers -a adrien


On vérifie grâce à la commande :
Code BASH :
grep vboxusers /etc/group
vboxusers:x:997:adrien


Je suis bien dedans.

Il me reste donc à relancer ma session pour prendre en compte les nouvelles affectations de groupe.


Lancer VirtualBox !







Problèmes connus




Exécuter /etc/init.d/vboxdrv setup à chaque lancement



Si à chaque redémarrage de la machine, ce message s'affiche :



Il faut lancer la commande /etc/init.d/vboxdrv setup pour recompiler les modules.

Une astuce consiste à créer le script /etc/local.d/10virtualbox.start et de placer la commande dedans :

Code BASH :
#! /bin/bash
/etc/init.d/vboxdrv setup
exit 0


De le rendre exécutable :

Code BASH :
chmod +x /etc/local.d/10virtualbox.start


Et de vérifier que le service local est lancé au démarrage :

Code BASH :
rc-update -v | grep local


S'il n'y est pas, l'activer via

Code BASH :
rc-update add local default


Plus d'infos ici : >> Lancer des scripts personnalisés au démarrage <<