Debian GNU/Linux: Virtualizziamo XP con KVM

Intro

Piccolo how-to su come virtualizzare WinXP con kvm. Perchè farlo?Per perdere un po' di tempo!E anche perchè trovo comodo poter ripristinare windows in un attimo, semplicemente copiando un'immagine di backup scrupolosamente salvata!
Cos'è kvm?È un sistema di virtualizzazione basato sul Kernel Linux, richiede le estensioni della cpu per la virtualizzazione (AMD-V o Intel VT), del relativo modulo del Kernel (kvm-amd o kvm-intel) e di una versione modificata di QEMU. Perchè kvm? Perchè è software libero!

Installazione Debian

Primo passo: installare Debian!Per comodità ho usato la netinstall della stable (Lenny quando scrivo). Ho eseguito una installazione base, selezionando solo “sistema base” :) al tasksel e installando successivamente volta per volta quello che mi serviva. Non ho partizionato l'hd (sul pc in questione ho poco spazio, meglio non sprecarlo), ho solo creato un area di swap da 1Gb. Aggiunti i soliti utenti (root etc), insomma le solite cose!

Prima configurazione

Per esigenze di compilazione dei driver per la scheda wireless (rtl8185), ho dovuto installare linux 2.6.30 (sid). Per fare questo ho configurato i repo di Debian per fare il pinning.
In /etc/apt/sources.list ho aggiunto i repo per testing e sid:

...
deb http://ftp.debian.org/debian/ testing main
deb http://ftp.debian.org/debian/ sid main


In /etc/apt/apt.conf

APT::Default-Release "stable";
Apt::Get::Purge;
APT::Clean-Installed;
APT::Get::Fix-Broken;
APT::Get::Fix-Missing;
APT::Get::Show-Upgraded "true";


In /etc/apt/preferences

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release a=testing
Pin-Priority: 850

Package: *
Pin: release a=unstable
Pin-Priority: 800

Quindi, come root, ho installato da sid il kernel e già che c'ero kvm

aptitude update
aptitude install -t sid linux-image-2.6.30-1-686 kvm

Compilati ed installati i driver della rtl8185 (ovviamente dopo aver riavviato la macchina per caricare il nuovo kernel), ho installato, sempre come root qualche pacchetto essenziale:

aptitude install openssh-server wireless-tools xserver-xorg

Per risolvere un problema di refresh del monitor, che non permetteva di avviare X, ho creato uno xorg.conf (nelle ultime versioni di X non è necessario uno xorg.conf perchè è stato introdotto l'autoconfigure):

Xorg -configure > /etx/X11/xorg.conf

e ho aggiunto (nel mio caso!) le voci HorizSync e VertRefresh nella sezione Monitor con i relativi valori:

Section "Monitor"
        ...
        HorizSync    30.0 - 70.0
        VertRefresh  50.0 - 180.0
EndSection

Per cominciare dovrebbe bastare!!!

Installazione VM

Il prossimo passo è installare la macchina virtuale, prima dobbiamo però creare l'immagine; per comodità ho creato una cartella nella home dell'$utente che eseguirà la vm:

su $utente
cd
mkdir vm
cd vm
qemu-img create -f qcow2 windowsxp.qcow2 20GB

Prima di avviare l'installazione aggiungiamo $utente al gruppo kvm, in modo che abbia i permessi per aprire il device /dev/kvm:

adduser $utente kvm

Procediamo quindi con l'installazione vera e propria; per comodità ho utilizzato una iso di XP:

kvm -boot d -cdrom /path/to/xp.iso -hda windowsxp.qcow2 -m 1024

Questo comando è sufficiente per la prima installazione, più avanti aggiungeremo le altre opzioni che ci interessano!
Finita l'installazione la prima cosa da fare è un backup dell'immagine:

cp windowsxp.qcow2 windowsxp.qcow2.bk

Consiglio: fare più backup possibili!

Configurazione Sistema

Per esigenze personali il Pc in questione deve: 1) autenticarsi come $utente senza dover fare il login 2) avviare x e la macchina virtuale con XP. Ecco come ho risolto:
Per il login ho modificato il file /etc/inittab in modo che il sistema faccia il login sulla tty1; ho commentato la riga

1:2345:respawn:/sbin/getty 38400 tty1

e ho aggiunto la seguente riga:

1:2345:respawn:/bin/login -f $user tty1 </dev/tty1 >/dev/tty1 2>&1

il risultato è quindi

...
#1:2345:respawn:/sbin/getty 38400 tty1
1:2345:respawn:/bin/login -f $user tty1 </dev/tty1 >/dev/tty1 2>&1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
...
 
debian_kvm_xp.txt · Ultima modifica: 2009/09/03 14:51 da ghiggio
 
Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è sotto la seguente licenza:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki