124
contributi
mNessun oggetto della modifica |
|||
Riga 1: | Riga 1: | ||
== | == INSTALLAZIONE QEMU / KQEMU PER DEBIAN / UBUNTU == | ||
1. Scaricare da: | |||
[http://fabrice.bellard.free.fr/qemu/download.html http://fabrice.bellard.free.fr/qemu/download.html] | |||
i codici sorgenti di QEMU e di KQEMU, scompattarli in modo che | |||
la directory src di kqemu sia estratta all'interno della directory | |||
di quemu e settare i diritti con chmod 775 a tutto l'albero quemu/kquemu. | |||
<pre> | |||
2.rob@klingon:/home/rob# tar zxvf qemu-0.7.1.tar.gz | |||
3.rob@klingon:/home/rob# chmod -R 775 /path/to/qemu-0.7.1 | |||
4.rob@klingon:/home/rob# cd qemu-0.7.1 | |||
5.rob@klingon:/home/rob/qemu-0.7.1# tar zxvf /home/rob/kqemu-0.6.2-1.tar.gz </pre> | |||
Ora va trovata la path del kernel-headers (linux-headers su | |||
ubuntu) per inserirla nel file "configure" della directory | |||
sorgente di qemu. | |||
<pre> | <pre> | ||
6.rob@klingon:/home/rob/qemu-7.0.1#uname -r (legge la versione kernel) | |||
7.rob@klingon:/home/rob/qemu-7.0.1#gedit configure | |||
</pre> | </pre> | ||
cambiare la riga: kernel_path="" | |||
in kernel_path="/usr/src/kernel-headers-2.6.10-k7" per debian | |||
o in kernel_path="/usr/src/linux-headers-2.6.10-k7" per ubuntu, | |||
ricordandosi di inserire la propria versione del kernel | |||
ricavabile con "uname -r" | |||
Ora vanno installate le librerie necessarie (qualora non fossero presenti) | |||
<pre> | <pre> | ||
8.rob@klingon:/home/rob/qemu-7.0.1#apt-get install libsdl1.2-dev | |||
# | 9.rob@klingon:/home/rob/qemu-7.0.1#apt-get install zlib1g-dev | ||
</pre> | </pre> | ||
Verifichiamo che sia tutto ok e che il supporto kqemu sia attivo, in modo che venga compilato | |||
il modulo corretto per il nostro kernel. Poi compiliamo ed installiamo. | |||
<pre> | <pre> | ||
10.rob@klingon:/home/rob/qemu-7.0.1#./configure (verifichiamo che sia tutto ok e che kqemu sia attivo) | |||
11.rob@klingon:/home/rob/qemu-7.0.1#make (compilazione) | |||
12.rob@klingon:/home/rob/qemu-7.0.1#make install (installazione) | |||
</pre> | </pre> | ||
NOTA su GCC: | |||
Come indicato sul sito QEMU non riesce a compilare con GCC dalla versione 4, pertanto � necessario utilizzare versioni precedenti, ad esempio la 3.3. Se avete gcc-3.3 installato � possibile istruire | |||
il configure ad utilizzarlo tramite il comando | |||
10.rob@klingon:/home/rob/qemu-7.0.1#./configure --cc=gcc-3.3 | |||
= | |||
Ora va installato il modulo del kernel | |||
<pre> | <pre> | ||
13.rob@klingon:/home/rob/qemu-7.0.1#modprobe kqemu (fa partire la base kernel dell'acceleratore di qemu "kqemu") | |||
</pre> | </pre> | ||
Se si vuole che il modulo kernel kquemu parta all'avvio (consigliato) seguire la segg. procedura: | |||
<pre> | <pre> | ||
14.rob@klingon:/#gedit /etc/init.d/bootmisc.sh | |||
</pre> | </pre> | ||
ed inserire le seguenti righe nel file bootmisc.sh subito prima di "exit;" | |||
<pre> | <pre> | ||
# Start Qemu with KQemu accelerator | |||
/sbin/modprobe kqemu | |||
mknod /dev/kqemu c 250 0 # Create the KQEMU device | |||
chmod 666 /dev/kqemu # Make it accessible to all users | |||
</pre> | </pre> | ||
Creazione di un disco immagine (facoltativo) | |||
<pre> | <pre> | ||
# | 15. rob@klingon:/home/rob#qemu-img create hd.img 3500M | ||
</pre> | </pre> | ||
Riga di comando per partenza qemu con acceleratore kqemu | |||
(cambiare il boot per fare l'installazione da cd etc..) | |||
<pre> | <pre> | ||
rob@klingon#qemu -boot c -cdrom /dev/cdrom -hda /home/rob/hd.img -user-net -pci -m 256 -k it -localtime | |||
</pre> | </pre> | ||
Opzioni: | |||
* -m --> memoria per l'emulatore = 256MB | |||
* -k it --> tastiera italiana | |||
* -localtime --> usa ora locale (default UTC) | |||
* -pci --> emula scheda di rete rtl8029 PCI | |||
* -boot c --> boot da dico rigido | |||
* -user-net --> Il sistema GUEST deve essere configurato in DHCP. | |||
Qemu assegna un indirizzo dinamico "10.0.2.15" al SO guest, | |||
il quale sar� in grado di pingare solo il suo GW che � | |||
"10.0.2.2" Per testare la rete quindi avviare le applicazioni | |||
di rete, visto che il ping <host> non funziona. | |||
=== Qemu Networking === | |||
Con la soluzione indicata qui sopra, il sistema Guest riesce a navigare in Internet, ma non riesce ad accedere alle risorse del proprio host. La maniera pi� facile per configurare qemu in modo che possa fare entrambe le cose, � quella di installare vde e usare tun/tap con un bridge. | |||
Prima di iniziare, dovete verificare che il vostro kernel supporti i seguenti moduli: | |||
tun: "Network device support" -> "Universal TUN/TAP device driver support" | |||
IP masquerade: "Networking options" -> "IP: Netfilter Configuration" | |||
bridging: "Networking options" -> "802.1d Ethernet Bridging" | |||
e dovete installare il pacchetto bridge-utils: | |||
<pre> | <pre> | ||
apt-get install bridge-utils | |||
</pre> | </pre> | ||
[http://vde.sourceforge.net Vde] sta per Virtual Distributed Ethernet ed � un programma open source che vi permette di creare un network virtuale. Noi lo utilizzeremo per far fare in modo che il sistema Guest veda se stesso come un'unit� distinta dal sistema host e possa colloquiare con questi. | |||
Per quel che ne so io, non esiste (ancora) un pacchetto deb gi pronto per l'uso, ma per installare vde sono sufficenti poche righe: | |||
<pre> | <pre> | ||
wget http://puzzle.dl.sourceforge.net/sourceforge/vde/vde-1.5.9.tar.gz | |||
tar -xvzf vde-1.5.9.tar.gz | |||
cd vde-1.5.9 | |||
./configure | |||
make | |||
make install | |||
</pre> | </pre> | ||
Una volta fatto questo, siete pronti per configurare tun e il bridge: | |||
<pre> | <pre> | ||
vde_switch -tap tun0 -daemon | |||
chmod 777 /tmp/vde.ctl | |||
ifconfig eth0 down | |||
brctl addbr br0 | |||
ifconfig eth0 0.0.0.0 promisc up | |||
ifconfig tun0 0.0.0.0 promisc up | |||
#l'IP qui sotto � quello del computer host; modificatelo per adeguarlo alle vs esigenze | |||
ifconfig br0 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255 up | |||
brctl stp br0 off | |||
# | brctl setfd br0 1 | ||
brctl sethello br0 1 | |||
brctl addif br0 eth0 | |||
brctl addif br0 tun0 | |||
#questo invece � l'indirizzo IP del gateway | |||
route add default gw 192.168.0.1 | |||
</pre> | </pre> | ||
NB: Una volta verificato che tutto funziona, queste istruzioni vanno inserite in uno script in modo da essere eseguite automaticamente all'accensione del computer | |||
qui ne trovate uno piuttosto grezzo: [http://www.itaca.coopsoc.it/download/sources/vde_qemu vde_qemu], che va salvato in /etc/init.d. Dopodich�: <pre>chmod u+x /etc/init.d/vde_qemu | |||
update-rc.d -n vde_qemu defaults 90</pre> | |||
Ora tutto � pronto per lanciare qemu, con l'ultima avvertenza che dovete usare l'apposito wrapper vdeqemu: | |||
<pre> | <pre> | ||
vdeqemu -hda disk.img -localtime | |||
</pre> | </pre> | ||
Potete utilizzare tutte le opzioni di qemu, fuorch� -user-net, che disattiverebbe tun. | |||
Ora il sistema guest dovrebbe accedere a tutte le porte del sistema host, in maniera totalmente trasparente: da risorse di rete dovreste vedere il vostro server samba con le sue partizioni; dal browser dovreste accedere alle pagine del vostro server web, etc. etc. | |||
=== PATCH PER WINDOWS === | |||
Per quanto riguarda l'utilizzo della CPU, a quanto pare | |||
Windows 9x non fa un uso corretto della istruzione CPU HLT e | |||
quindi spara la cpu a 100% quando in idle (non fa nulla) e | |||
invece la usa regolarmente quando sotto "sforzo", paradossalmente | |||
infatti, se viene utilizzata la cpu di qemu l'utilizzo di | |||
cpu si abbassa su linux in proporzione. | |||
la patch puo' essere scaricata qui, va installata sul Win9x GUEST. | |||
[http://klingon.homelinux.net/files/amnhltm.zip http://klingon.homelinux.net/files/amnhltm.zip] | |||
Link utili (in inglese): | |||
*[http://ubuntuforums.org/showthread.php?t=39513 http://ubuntuforums.org/showthread.php?t=39513] | |||
*[http://fabrice.bellard.free.fr/qemu/index.html http://fabrice.bellard.free.fr/qemu/index.html] | |||
*[http://fabrice.bellard.free.fr/qemu/qemu-doc.html http://fabrice.bellard.free.fr/qemu/qemu-doc.html] | |||
*[http://www.debian-administration.org/?article=40 http://www.debian-administration.org/?article=40] | |||
*[http://oui.com.br/n/content.php?article.21 http://oui.com.br/n/content.php?article.21] | |||
*[http://www.carlsonhome.net/computer_help_log.php http://www.carlsonhome.net/computer_help_log.php] | |||
-- | |||
[[ | [[Utente:Themonkey|Themonkey]] 20:31, Ago 19, 2005 (EDT) | ||
The_monk_ey ( skype: the_monk_ey ) |
contributi