Visto che tutti parlano di virtualizzazione ho deciso di provare anche io.
La scelta è caduta su VirtualBox che sembra veramente un progetto interessante ed è disponbile anche per Mac OsX.
Installazione
VirtualBox esiste in 2 versioni una closed source ed una open source. La versione closed ha il supporto per l’ubs , rdp e altre cose ed è utilizzabile gratuitamente per uso personale e per valutazione.
Io ho scelto di installare la versione closed per avere il supporto usb , voglio provare se riesco ad aggiornare il software del navigatore (di mio padre ,che si presterà come cavia) tramite windows 2000 virtualizzato.
Seguendo questa guida l’installazione , l’unica differenza è che se volete la versione closed basta inserire app-emulation/virtualbox-bin nel file /etc/portage/packages.keywords ed eventualmente altri pacchetti richiesti.
Dopo avere caricato il modulo vboxdrv ricordatevi che andrà ricompilato ad ogni ricompilazione del kernel, per questo potete usare module-rebuild (utilizzo semplice lo installate e lanciate module-rebuild populate la prima volta ed ogni volta che aggiungete qualche pacchetto che va ricompilato dopo il kernel come i driver nvidia od i driver alsa , dopo l’aggiornamento del kernel lanciate modules-rebuild rebuild e fara tutto lui).
Nel caso il modulo vboxdrv non si carichi probabilmente basta cambiare l’opzione di boot del vostro kernel ed aggiungere nmi_watchdog=0 ecco un esempio
kernel /boot/kernel-2.6.20-gentoo-r8 nmi_watchdog=0 ecc. ecc.
Rete Nat o Bridged
Per la vostra Vm potete scegliere se usare come collegamento alla rete il Nat o utilizzare la scheda di rete fisica come bridge delle schede virtuali (in VB l’opzione si chiama Interfaccia Host)
Se la vostra Vm deve solo collegarsi ad internet la scelta del Nat è la migliore , se invece volete ad esempio provare un webserver collegare la macchina fisica con quella virtuale la soluzione migliore è quella del bridge.
La guida citata sopra linka un’ altra guida sul bridging , leggetela se siete curiosi, nel mio caso è servita per compilare nel kernel il supporto al bridging ethernet.
Potete creare tutte le interfacce che volete, seguite gli stessi passi che vengono fatti per vbox0.
Se volete Virtual Box come utente normale dovete impostare in /etc/conf.d/net le opzioni
tunctl_vbox0="-u <vostro nomeutente>"
per ogni scheda virtuale creata ecco il mio file dove ho creato 2 interfacce virtuali:
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
#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"
tuntap_vbox1="tap"
#ALL interfaces part of a bridge should be null, otherwise oddities may occur.
config_vbox0=( "null")
config_vbox1=( "null")
# you can specify an owner of the interface if you want to run virtual box as a non root use
tunctl_vbox0="-u bob"
tunctl_vbox1="-u bob"
#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 vbox1"
#Make sure your baselayout is recent enough to support this
depend_br0()
{
need net.eth0
need net.vbox0
need net.vbox1
}
brctl_br0=( "setfd 0")
Da quello che ho provato non serve aggiungere i net.vbox all’avvio (gli alias in /etc/init.d vanno creati) ma basta aggiungere net.eth0 e net.br0.
Impostate anche l’opzione di Udev come scritto nella guida.
Impostazione della ram e del disco virtuale: consigli
Per ogni macchina virtuale bisogna assegnare quanta ram dedicare ,bisogna solo essere consapevoli che la Vm occuperà a prescindere tutta la ram che le è stata assegnata , quindi se avete 512 mb di ram fisici non potete impostare una Vm che usi 1 giga di ram. Ad esempio se avete 2 Vm da 512 mb l’una e le fate partire entrambe , avrete almeno 1 giga di ram occupato sul vostro sistema fisico , anche se le Vm non stanno facendo nulla. La ram può anche essere cambiate tra un riavvio e l’altro della Vm.
Per lo spazio su disco vale la stessa cosa, l’unico vantaggio è che si può scegliere di avere il file a dimensione dinamica , quindi lo spazio fisico sul disco occupato sarà quello effettivamente usato dalla Vm.
Per conludere
Ora si possono fare tutti gli esperimenti che si vogliono senza danneggiare la macchina principale.
Buon divertimento e per chiudere un bello screen che mostra una Vm con Windows 2000 funzionante ed una installazione di Ubuntu su di un’altra Vm.

Sottofondo musicale : Pink Fairies – What a Bunch of Sweeties