Installare e configurare una Macchina Virtuale con Debian in ambiente Hyper-V
Anche se Debian non è tra le distro linux supportate in ambiente Hyper-V, la si può tranquillamente installare con l’unica accortezza di usare una scheda di rete legacy, altrimenti non verrà vista dal sistema.
Per questa guida ho installato una versione di debian testuale senza l’ìnterfaccia grafica, in particolar modo l’ultima versione di Debian la 6 che una volta installata e aggiornata usa il kernel 2.6.32:
La macchina virtuale così installata funziona perfettamente ma non integra i componenti integrati e quindi non può essere gestita dall’host Hyper-V:
Per prima cosa aggiorniamo il nostro sistema con i comandi:
# apt-get update
# aptitude update
dopodichè dobbiamo scaricare i sorgenti del kernel 2.6.32 per poi ricompilarlo con i moduli necessari:
# apt-get install build-essential libncurses5-dev kernel-package fakeroot linux-headers-2.6.32-5-686 linux-source-2.6.32
Ora creiamo una nuova immagine del kernel a partire dalla versione 2.6.36:
# cd /usr/src
# wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2
# bzip2 -d linux-2.6.36.tar.bz2
# tar xf linux-2.6.36.tar
# cd linux-2.6.36/
# cp /boot/config* ./.confing
# make menuconfig
Nel menù Device Drivers-> Staging drivers selezionare la voce Microsoft Hyper-V client drivers
a questo punto si possono togliere tutti quei driver che non saranno mai usati nella macchina virtuale, USB, PCI, etc. etc. dopodichè uscire salvando la configurazione del nuovo kernel.
Dopo aver salvato la configurazione non ci resta che iniziare la compilazione del kernel aggiungendo il suffisso hyper-v per distinguerlo.
# make-kpkg clean
# fakeroot make-kpkg –initrd –append-to-version=-hyper-v kernel_image kernel_headers
La compilazione del kernel vera e propria dura diverso tempo (un’ora circa), al termine della quale nella directory /usr/src avremo due file con estensione .deb:
linux-headers-2.6.36-hyper-v_2.6.36-hyper-v-10.00.Custom_i386.deb
linux-image-2.6.36-hyper-v_2.6.36-hyper-v-10.00.Custom_i386.deb
che possono essere utilizzati in un’altra macchina virtuale senza dover ricompilare di nuovo il kernel.
Procediamo con l’installazione del nuovo kernel con il comando:
# dpkg -i linux-image-2.6.36-hyper-v_2.6.36-hyper-v-10.00.Custom_i386.deb
Ora editiamo il file /etc/initramfs-tools/modules e aggiungiamo i moduli che devono essere caricati all’avvio:
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
salviamo il file ed aggiorniamo la configurazione con il comando:
update-initramfs -u -k 2.6.36-hyper-v
e riavviamo la macchina che partirà in automatico con il nuovo kernel:
e ora l’host riesce a comunicare con la macchina guest:
possiamo così spegnere la maccina virtuale direttamente da Hyper-V.