HOWTO VirtualBox

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.

Sommaire

[modifier] Installation

VirtualBox est une solution de virtualisation x86 développée par Innotek. Ce logiciel peut être installé à partir des binaires distribués soumis à une licence particulière ou directement à partir des sources. La version binaire contient des fonctionnalités supplémentaires par rapport à la version libre, mais son utilisation est limitée à un usage personnel et à des fins d'évaluation. La version libre est publiée sous licence GPL. Pour plus d'informations vous pouvez vous reportez à : http://www.virtualbox.org/wiki/Editions.

[modifier] Edition OpenSource (OSE)

Note: Le support pour les systèmes hôtes amd64 a été ajouté dans la version 1.4.0
Note: 1.4.0 et 1.5.0-r1 dépendent tous deux de multilib, bien qu'ils ne soient pas dans package.mask pour le profil nomultilib

L'ebuild de Virtualbox utilise les USE suivants :

  • additions - Installe app-emulation/virtualbox-additions en tant que dépendance
  • alsa - Ajoute le support de media-libs/alsa-lib
  • vditool - Installe le Gestionnaire d'Images Disque Virtuel (VDI) vditool
  • nowrapper - N'installe pas l'exécutable pour le lancement automatique de VirtualBox
  • sdk - Permet la compilation du Kit de Développement (SDK)
  • vboxbfe - Interface simple utile à des fins de déboguage
echo "app-emulation/virtualbox additions alsa vditool" >> /etc/portage/package.use

Après ça ; lancez juste :

emerge -av virtualbox

Portage peut éventuellement vous demandez de démasquer d'autres paquets instables.

Rappelez vous de re-emerger virtualbox-modules à chaque fois que vous mettez votre noyau à jour (sys-kernel/module-rebuild peut le faire pour vous) :

emerge -av virtualbox-modules

[modifier] Edition Binaire

Si vous souhaitez avoir accè à vos périphériques USB depuis la machine virtuelle ou utiliser le Bureau à Distance pour vous y connectez, vous devriez utiliser l'édition binaire de VirtualBox. L'utilisation de cette édition est limitée à un usage personnel ou à des fins d'évaluation.

echo "=app-emulation/virtualbox-1.5.0" >> /etc/portage/package.unmask
echo "=app-emulation/virtualbox-modules-1.5.0" >> /etc/portage/package.unmask
emerge -av virtualbox-bin

[modifier] Lancement

Ajoutez votre utilisateur aux membres du groupe "vboxusers"... (l'utilisateur sera dans l'impossibilité d'utiliser VirtualBox jusqu'à ce qu'il se reconnecte)

gpasswd -a youruser vboxusers

L'ebuild fournit un exécutable pour lancer virtualbox à partir d'une interface grahique :

modprobe vboxdrv
VirtualBox

Vous souhaiterez certainement aussi ajouter vboxdrv aux modules chargés automatiquement au démarrage :

echo vboxdrv >> /etc/modules.autoload.d/kernel-2.6

Pour lancer une machine virtuele directement depuis la ligne de commande :

vboxmanage startvm <machine_name>

Pensez éventuellement à changer les paramètres par défaut, car virtualbox sauvegarde toutes les machines dans le répertoire de l'utilisateur.

[modifier] Bloquée au lancement

Si votre machine virtuelle ne dépasse jamais les 0% lorsque vous cliquez sur "Start Machine", cela peut-être du à la présence de la virtualisation dans votre noyau alors que votre machine ne la supporte pas, ou à un problème avec alsa.

[modifier] Réseau

Le réseau de la machine virtuelle peut fonctionner en NAT ou avec un pont ethernet. Le NAT est le plus simple des deux a l'avantage d'être directement opérationnel.

[modifier] NAT

Ce mode fonctionne parfaitement lorsque vous choisissez NAT et vérifiez que "Cable connected" est coché. VirtualBox utilise alors un DHCP interne et le NAT. Les désavantages sont que le protocole ICMP (ping) ne fonctionne pas et que vous ne pouvez pas vous connecter à la machine virtuelle sans définir des règles de transfert de port (Port Forwarding).

[modifier] Pont Ethernet

Si vous avez besoin d'adresses IP différentes sur le même sous réseau et sur la même interface ethernet entre la machine hôte et la machine virtuelle, vous devez mettre en place un pont ethernet.

[modifier] Preparation

Installez d'abord les paquets nécessaires

emerge bridge-utils usermode-utilities

Vous devez également activer l'Ethernet Bridging et l'interface Tun/Tap dans votre noyau.

Configuration du noyau Linux : 802.1d Support
Networking --->
    Networking Options --->
    [*] 802.1d Ethernet Bridging


Configuration du noyau Linux : TUN/TAP Support
Device Drivers  --->
    Network device support  --->
    <*> Universal TUN/TAP device driver support

Vous trouverez plus d'informations sur les ponts Ethernet ici : HOWTO Setup a Gentoo Bridge

[modifier] Configurer le réseau

Voici une configuration qui a été testée :

File: /etc/conf.d/net
#the interface is really replaced by br0 for outgoing, so if you had dhcp here, you'll use dhcp in br0
config_eth0=( "null" )

#this specifies that interface vbox0 will be a tap interface and use the tunctl command to generate itself
tuntap_vbox0="tap"

#ALL interfaces part of a bridge should be null, otherwise oddities may occur.
config_vbox0=( "null")

# you can specify an owner of the interface if you want to run virtual box as a non root user
# [COMMENT from a reader: VirtualBox should never be run as root]
#tunctl_vbox0="-u adm"

#If you'd prefer a dynamic ip address for the machine, use
#config_br0=( "dhcp" )
config_br0=( "192.168.1.2 netmask 255.255.255" )
routes_br0=( "default via 192.168.1.1" ) 
#this specifies the bridging information
bridge_br0="eth0 vbox0"
#Make sure your baselayout is recent enough to support this
depend_br0() 
{
         need net.eth0
         need net.vbox0
}

brctl_br0=( "setfd 0")

Créez les liens symboliques pour ces nouvelles interfaces :

cd /etc/init.d/
ln -s net.lo net.vbox0
ln -s net.lo net.br0

Et ajoutez les au runlevel default&nbsp:

rc-update add net.vbox0 default
rc-update add net.br0 default

[modifier] Configurer la machine virtuelle

Lancez virtualbox et cliquez sur "Settings" pour votre machine virtuelle

  • Cliquez sur Network
  • Dans la liste "Attached to" sélectionnez "Host interface"
  • Changez "Interface name" pour y mettre "vbox0" (N'oubliez pas cela ou VirtualBox vous affichera un joli VERR_HOSTIF_INIT_FAILED)

[modifier] Configurer udev

Ajoutez votre utilisateur au groupe tuntap pour qu'il ait les droits nécessaires sur le device :

gpasswd -a <user> tuntap

Créez la règle udev pour TUN/TAP :

File: /etc/udev/rules.d/10-local.rules
KERNEL=="tun",          NAME="net/%k",  GROUP="tuntap", MODE="0660",    OPTIONS+="ignore_remove"

Créez l'interface tun/tap :

tunctl -t  vbox0 -u <user_name>

[modifier] Problèmes

[modifier] L'installation de WinXp dans une machine virtuelle plante à 0% pendant le formatage de la partition

Si vous avez ce problème de plantage lors du formatage de partition pendant l'installation de WinXp. Vérifiez que la quantité de mémoire vive allouée pour votre machine virtuelle est inférieure à celle que vous avez sur votre machine hôte. Vous êtes susceptible de rencontrer le même problème à l'installation de Linux. Dans les deux cas la machine virtuelle plante au premier accès disque.

[modifier] Liens

Autres langues