Old:Installazione Qemu con supporto accelerazione Kqemu: differenze tra le versioni

m
m (categoria)
 
(10 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Old}}
==Installazione QEMU con qvm86/kqemu per Debian/Ubuntu==
==Installazione QEMU con qvm86/kqemu per Debian/Ubuntu==


Riga 5: Riga 6:
====1. Fase Preliminare====
====1. Fase Preliminare====
Assicuratevi di aver installato i pacchetti necessari a scaricare e compilare il tutto:
Assicuratevi di aver installato i pacchetti necessari a scaricare e compilare il tutto:
* '''ssh''' e '''cvs''' (per scaricare qvm86 occorre andare via cvs remoto)
* '''ssh''' e '''cvs''' (per scaricare qvm86 occorre andare via cvs remoto);
* '''patch''' (per usare qvm86 con qemu occorre effettuare una piccola patch ai sorgenti di qemu)
* '''patch''' (per usare qvm86 con qemu occorre effettuare una piccola patch ai sorgenti di qemu);
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non è ancora compilabile col gcc 4.0)
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non è ancora compilabile col gcc 4.0);
* '''libsdl1.2-dev'''
* '''libsdl1.2-dev''';
* '''zlib1g-dev'''
* '''zlib1g-dev''';
* '''make'''
* '''make''';
* '''kernel-headers-'''''versione_del_kernel_in_uso'' (oppure '''linux-headers-'''''versione_del_kernel_in_uso'' se avete una Ubuntu od usate una Debian unstable con un kernel recente). La versione può essere individuata eseguendo il comando <code>uname -r</code>.
* '''kernel-headers-'''''versione_del_kernel_in_uso'' (oppure '''linux-headers-'''''versione_del_kernel_in_uso'' se avete una Ubuntu o usate una Debian unstable con un kernel recente). La versione può essere individuata eseguendo il comando <code>uname -r</code>.


====2. Recupero file QEMU====
====2. Recupero file QEMU====
Scaricate da [http://fabrice.bellard.free.fr/qemu/download.html http://fabrice.bellard.free.fr/qemu/download.html] gli archivi dei codici sorgenti di QEMU, e come '''utente diverso da root''' scompattateli in una directory e poi entrateci.
Scaricate da [http://fabrice.bellard.free.fr/qemu/download.html http://fabrice.bellard.free.fr/qemu/download.html] gli archivi dei codici sorgenti di QEMU, e come '''utente diverso da root''' scompattateli in una directory e poi entrateci.
<pre>
  $ tar zxvf qemu-0.8.0.tar.gz
  $ tar zxvf qemu-0.8.0.tar.gz
  $ cd qemu-0.8.0
  $ cd qemu-0.8.0
 
</pre>
====3. Recupero file qvm86====
====3. Recupero file qvm86====
Scaricate via cvs i sorgenti di qvm86, in modo che siano all'interno della directory dei sorgenti di qemu, sempre con un utente '''diverso da root'''.
Scaricate via cvs i sorgenti di qvm86, in modo che siano all'interno della directory dei sorgenti di qemu, sempre con un utente '''diverso da root'''.
<pre>
  $ export CVS_RSH=ssh
  $ export CVS_RSH=ssh
  $ export CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qvm86
  $ export CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qvm86
  $ cvs -z3 co qvm86
  $ cvs -z3 co qvm86
 
</pre>
====4. Applicazione patch====
====4. Applicazione patch====
Applicate dalla directory dei sorgenti di qemu la patch provvista da qvm86.
Applicate dalla directory dei sorgenti di qemu la patch provvista da qvm86:
<pre>
  $ patch -p0 < qvm86/patch.qvm86
  $ patch -p0 < qvm86/patch.qvm86
 
</pre>
====5. Configurazione====
====5. Configurazione====
Configurate l'ambiente di compilazione avviando lo script <code>./configure</code>.  
Configurate l'ambiente di compilazione avviando lo script <code>./configure</code>.  
Verificate che sia tutto ok, poi compilate il tutto ed installate.
Verificate che sia tutto ok, poi compilate il tutto ed installate:
<pre>
  $ ./configure --cc=gcc-3.3
  $ ./configure --cc=gcc-3.3
  $ make
  $ make
</pre>
Se avviando <code>./configure</code> avete errori del tipo che non si riesce a trovare la parte di sviluppo di libsdl, avete scompattato gli archivi come root. Leggete meglio sopra e ricominciate da capo.
Se avviando <code>./configure</code> avete errori del tipo che non si riesce a trovare la parte di sviluppo di libsdl, avete scompattato gli archivi come root. Leggete meglio sopra e ricominciate da capo.


Se dopo aver avviato <code>make</code> ci sono errori di compilazione, ci si può limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione <code>--target-list=i386-softmmu</code> al comando <code>./configure</code>.  
Se dopo aver avviato <code>make</code> ci sono errori di compilazione, ci si può limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione <code>--target-list=i386-softmmu</code> al comando <code>./configure</code>.  
<pre>
  $ make clean
  $ make clean
  $ ./configure --cc=gcc-3.3 --target-list=i386-softmmu
  $ ./configure --cc=gcc-3.3 --target-list=i386-softmmu
  $ make
  $ make
 
</pre>
Se non ci sono errori, ora potete diventare root ed installare qemu.
Se non ci sono errori, ora potete diventare root ed installare qemu.
<pre>
  $ su
  $ su
  Password:
  Password:
  # make install
  # make install
 
</pre>
A questo punto qemu è installato in <code>/usr/local/bin/qemu</code>, ed il modulo qvm86 si trova in <code>/lib/modules/''versione_del_kernel''/misc/qvm86.ko</code>.
A questo punto qemu è installato in <code>/usr/local/bin/qemu</code>, ed il modulo qvm86 si trova in <code>/lib/modules/''versione_del_kernel''/misc/qvm86.ko</code>.


Riga 50: Riga 58:
Prima di eseguire qemu va caricato il modulo del kernel <code>qvm86</code>, va eventualmente creato <code>/dev/qvm86</code> (usato per interagire col kernel) e gli vanno dati permessi adeguati.  
Prima di eseguire qemu va caricato il modulo del kernel <code>qvm86</code>, va eventualmente creato <code>/dev/qvm86</code> (usato per interagire col kernel) e gli vanno dati permessi adeguati.  


Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev):'''
Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev), queste due operazioni sono da fare come root una volta sola:
# Queste due operazioni sono da fare come root una volta sola:
<pre>
  # mknod /dev/qvm86 c 222 0
  # mknod /dev/qvm86 c 222 0
  # chmod 666 /dev/qvm86
  # chmod 666 /dev/qvm86
  #
  </pre>
# Questa operazione va eseguita come root ad ogni avvio del sistema per usare qemu
 
Questa operazione va eseguita come root ad ogni avvio del sistema per usare qemu:
<pre>
  # modprobe qvm86
  # modprobe qvm86
</pre>


Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev):
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev), queste due operazioni vanno eseguite come root ad ogni avvio del sistema:
# Queste due operazioni vanno eseguite come root ad ogni avvio del sistema
<pre>
  # modprobe qvm86
  # modprobe qvm86
  # chmod 666 /dev/qvm86
  # chmod 666 /dev/qvm86
</pre>


Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
* diventate root (<code>su -</code>)
* diventate root (<code>su -</code>);
* modificate il file <code>/etc/modules</code> aggiungendo la riga <code>qvm86</code>, in modo che il modulo venga automaticamente caricato al boot.
* modificate il file <code>/etc/modules</code> aggiungendo la riga <code>qvm86</code>, in modo che il modulo venga automaticamente caricato al boot;
* create il file <code>/etc/modprobe.d/qvm86</code> contenente le seguenti righe:
* create il file <code>/etc/modprobe.d/qvm86</code> contenente le seguenti righe:
** per chi '''non ha''' installato il pacchetto udev:  
** per chi '''non ha''' installato il pacchetto udev:  
<pre>
  install qvm86 /sbin/modprobe --ignore-install qvm86 \
  install qvm86 /sbin/modprobe --ignore-install qvm86 \
  && (test -c /dev/qvm86 || mknod /dev/qvm86 c 222 0) \
  && (test -c /dev/qvm86 || mknod /dev/qvm86 c 222 0) \
  && chmod 666 /dev/qvm86
  && chmod 666 /dev/qvm86
</pre>
:* per chi '''ha''' installato il pacchetto udev:  
:* per chi '''ha''' installato il pacchetto udev:  
<pre>
  install qvm86 /sbin/modprobe --ignore-install qvm86 && chmod 666 /dev/qvm86
  install qvm86 /sbin/modprobe --ignore-install qvm86 && chmod 666 /dev/qvm86
 
</pre>
Una volta caricato il modulo e dati i permessi di lettura a /dev/qvm86 siamo pronti per eseguire il nuovo qemu.
Una volta caricato il modulo e dati i permessi di lettura a <code>/dev/qvm86</code> siamo pronti per eseguire il nuovo qemu.


Accertatevi che il qemu che andrete ad eseguire '''sia quello compilato in <code>/usr/local/bin/qemu</code>''': potete farlo eseguendo <code>type qemu</code>.
Accertatevi che il qemu che andrete ad eseguire '''sia quello compilato in <code>/usr/local/bin/qemu</code>''': potete farlo eseguendo <code>type qemu</code>.
Riga 82: Riga 97:
====1. Fase Preliminare====
====1. Fase Preliminare====
Assicuratevi di aver installato i pacchetti necessari a compilare il tutto:
Assicuratevi di aver installato i pacchetti necessari a compilare il tutto:
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non è ancora compilabile col gcc 4.0)
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non è ancora compilabile col gcc 4.0);
* '''libsdl1.2-dev'''
* '''libsdl1.2-dev''';
* '''zlib1g-dev'''
* '''zlib1g-dev''';
* '''make'''
* '''make''';
* '''gcc'''
* '''gcc''';
* '''kernel-headers-'''''versione_del_kernel_in_uso'' (oppure '''linux-headers-'''''versione_del_kernel_in_uso'' se avete una Ubuntu od usate una Debian unstable con un kernel recente). La versione può essere individuata eseguendo il comando <code>uname -r</code>.
* '''kernel-headers-'''''versione_del_kernel_in_uso'' (oppure '''linux-headers-'''''versione_del_kernel_in_uso'' se avete una Ubuntu od usate una Debian unstable con un kernel recente). La versione può essere individuata eseguendo il comando <code>uname -r</code>.


====2. Recupero file QEMU/KQEMU====
====2. Recupero file QEMU/KQEMU====
Scaricate archivi dei codici sorgenti di [http://fabrice.bellard.free.fr/qemu/download.html QEMU e KQEMU], e come '''utente diverso da root''' scompattateli in modo che la directory di kqemu venga estratta all'interno della directory di qemu. Quindi entrate nella directory dei sorgenti.
Scaricate archivi dei codici sorgenti di [http://fabrice.bellard.free.fr/qemu/download.html QEMU e KQEMU], e come '''utente diverso da root''' scompattateli in modo che la directory di kqemu venga estratta all'interno della directory di qemu. Quindi entrate nella directory dei sorgenti.
<pre>
  $ tar zxvf qemu-0.8.0.tar.gz
  $ tar zxvf qemu-0.8.0.tar.gz
  $ tar zxvf kqemu-0.7.2.tar.gz -C qemu-0.8.0
  $ tar zxvf kqemu-0.7.2.tar.gz -C qemu-0.8.0
  $ cd qemu-0.8.0
  $ cd qemu-0.8.0
 
</pre>
====3. Configurazione====
====3. Configurazione====
Configurate l'ambiente di compilazione avviando lo script <code>./configure</code>.  
Configurate l'ambiente di compilazione avviando lo script <code>./configure</code>.  
Verificate che sia tutto ok e che il supporto kqemu sia attivato, in modo che venga compilato
Verificate che sia tutto ok e che il supporto kqemu sia attivato, in modo che venga compilato
il modulo corretto per il vostro kernel. Poi compilate il tutto ed installate.
il modulo corretto per il vostro kernel. Poi compilate il tutto ed installate.
<pre>
  $ ./configure --cc=gcc-3.4
  $ ./configure --cc=gcc-3.4
  $ make
  $ make
</pre>
Se avviando <code>./configure</code> avete errori del tipo che non si riesce a trovare la parte di sviluppo di libsdl, avete scompattato gli archivi come root invece che come utente comune. Leggete meglio sopra e ricominciate da capo.
Se avviando <code>./configure</code> avete errori del tipo che non si riesce a trovare la parte di sviluppo di libsdl, avete scompattato gli archivi come root invece che come utente comune. Leggete meglio sopra e ricominciate da capo.
Chi utilizza Ubuntu Breezy (5.10) definisca anche la variabile di  ambiente CC che punti a gcc-3.4 (<code>export CC='/usr/bin/gcc-3.4'</code>), altrimenti il linking di kqemu verra' fatto con gcc-4.0 (compilatore di default su Ubuntu Breezy 5.10) e in fase di caricamento del modulo si avra' l'errore '''Invalid module format''', poiche' il kernel standard di questa distribuzione e' compilato con gcc-3.4. La variabile va definita prima di eseguire il <code>make</code>; se cio' non e' stato fatto per tempo allora e' necessario entrare nella directory <code>kqemu/</code> ed eliminare quanto gia' compilato con <code>make clean</code>, poi ritornare nella directory principale e rilanciare <code>make</code>.
Chi utilizza Ubuntu Breezy (5.10) definisca anche la variabile di  ambiente CC che punti a gcc-3.4 (<code>export CC='/usr/bin/gcc-3.4'</code>), altrimenti il linking di kqemu verrà fatto con gcc-4.0 (compilatore di default su Ubuntu Breezy 5.10) e in fase di caricamento del modulo si avrà l'errore '''Invalid module format''', poiché il kernel standard di questa distribuzione è compilato con gcc-3.4. La variabile va definita prima di eseguire il <code>make</code>; se ciò non è stato fatto per tempo allora è necessario entrare nella directory <code>kqemu/</code> ed eliminare quanto già compilato con <code>make clean</code>, poi ritornare nella directory principale e rilanciare <code>make</code>.


Se dopo aver avviato <code>make</code> ci sono errori di compilazione, ci si può limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione <code>--target-list=i386-softmmu</code> al comando <code>./configure</code>.  
Se dopo aver avviato <code>make</code> ci sono errori di compilazione, ci si può limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione <code>--target-list=i386-softmmu</code> al comando <code>./configure</code>.  
<pre>
  $ make clean
  $ make clean
  $ ./configure --cc=gcc-3.4 --target-list=i386-softmmu
  $ ./configure --cc=gcc-3.4 --target-list=i386-softmmu
  $ make
  $ make
 
</pre>
Se non ci sono errori, ora potete diventare root ed installare qemu.
Se non ci sono errori, ora potete diventare root ed installare qemu.
<pre>
  $ su
  $ su
</pre>
  Password:
  Password:
<pre>
  # make install
  # make install
 
</pre>
A questo punto qemu è installato in <code>/usr/local/bin/qemu</code>, ed il modulo kqemu si trova in <code>/lib/modules/''versione_del_kernel''/misc/kqemu.ko</code>.
A questo punto qemu è installato in <code>/usr/local/bin/qemu</code>, ed il modulo kqemu si trova in <code>/lib/modules/''versione_del_kernel''/misc/kqemu.ko</code>.


Riga 119: Riga 141:
Prima di eseguire qemu va caricato il modulo del kernel <code>kqemu</code>, va eventualmente creato <code>/dev/kqemu</code> (usato per interagire col kernel) e gli vanno dati permessi adeguati.  
Prima di eseguire qemu va caricato il modulo del kernel <code>kqemu</code>, va eventualmente creato <code>/dev/kqemu</code> (usato per interagire col kernel) e gli vanno dati permessi adeguati.  


Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev):'''
Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev), queste due operazioni sono da fare come root una volta sola:
# Queste due operazioni sono da fare come root una volta sola:
<pre>
  # mknod /dev/kqemu c 250 0
  # mknod /dev/kqemu c 250 0
  # chmod 666 /dev/kqemu
  # chmod 666 /dev/kqemu
#
</pre>
# Questa operazione va eseguita come root ad ogni avvio del sistema
 
Questa operazione va eseguita come root ad ogni avvio del sistema:
<pre>
  # modprobe kqemu
  # modprobe kqemu
 
</pre>
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev):
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev), queste due operazioni vanno eseguite come root ad ogni avvio del sistema:
# Queste due operazioni vanno eseguite come root ad ogni avvio del sistema
<pre>
  # modprobe kqemu major=0
  # modprobe kqemu major=0
  # chmod 666 /dev/kqemu
  # chmod 666 /dev/kqemu
 
</pre>
Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
* diventate root (<code>su -</code>)
* diventate root (<code>su -</code>);
* modificate il file <code>/etc/modules</code> aggiungendo la riga <code>kqemu</code>, in modo che il modulo venga automaticamente caricato al boot.
* modificate il file <code>/etc/modules</code> aggiungendo la riga <code>kqemu</code>, in modo che il modulo venga automaticamente caricato al boot;
* create il file <code>/etc/modprobe.d/kqemu</code> contenente le seguenti righe:
* create il file <code>/etc/modprobe.d/kqemu</code> contenente le seguenti righe:
** per chi '''non ha''' installato il pacchetto udev:  
** per chi '''non ha''' installato il pacchetto udev:  
<pre>
  install kqemu /sbin/modprobe --ignore-install kqemu \
  install kqemu /sbin/modprobe --ignore-install kqemu \
  && (test -c /dev/kqemu || mknod /dev/keqmu c 250 0) \
  && (test -c /dev/kqemu || mknod /dev/keqmu c 250 0) \
  && chmod 666 /dev/kqemu
  && chmod 666 /dev/kqemu
</pre>
:* per chi '''ha''' installato il pacchetto udev:  
:* per chi '''ha''' installato il pacchetto udev:  
<pre>
  options kqemu major=0
  options kqemu major=0
  install kqemu /sbin/modprobe --ignore-install kqemu && chmod 666 /dev/kqemu
  install kqemu /sbin/modprobe --ignore-install kqemu && chmod 666 /dev/kqemu
 
</pre>
Una volta caricato il modulo e dati i permessi di lettura a /dev/kqemu siamo pronti per eseguire il nuovo qemu.
Una volta caricato il modulo e dati i permessi di lettura a <code>/dev/kqemu</code> siamo pronti per eseguire il nuovo qemu.


Accertatevi che il qemu che andrete ad eseguire '''sia quello compilato in <code>/usr/local/bin/qemu</code>''': potete farlo eseguendo <code>type qemu</code>.
Accertatevi che il qemu che andrete ad eseguire '''sia quello compilato in <code>/usr/local/bin/qemu</code>''': potete farlo eseguendo <code>type qemu</code>.
Riga 151: Riga 178:


===Creazione immagine===
===Creazione immagine===
(facoltativo) Creazione di un file immagine per il disco (facoltativo)
Creazione di un file immagine per il disco (facoltativo):
<pre>
  $ qemu-img create hd.img 5G
  $ qemu-img create hd.img 5G
 
</pre>
===Esecuzione QEMU===
===Esecuzione QEMU===
''(cambiare il boot per fare l'installazione da cd etc..)''
''(cambiare il boot per fare l'installazione da cd etc..)''


Per semplicita` qui avviamo qemu da root (gli utenti comuni in Debian solitamente non possono leggere direttamente /dev/cdrom), tuttavia qemu puo` tranquillamente essere eseguito come utente comune (consigliato).
Per semplicità qui avviamo qemu da root (gli utenti comuni in Debian solitamente non possono leggere direttamente <code>/dev/cdrom</code>), tuttavia qemu può tranquillamente essere eseguito come utente comune (consigliato).
<pre>
  # qemu -boot c -cdrom /dev/cdrom -hda /home/rob/hd.img \
  # qemu -boot c -cdrom /dev/cdrom -hda /home/rob/hd.img \
  -user-net -pci -m 256 -k it -localtime
  -user-net -pci -m 256 -k it -localtime
</pre>


Le principali opzioni di qemu sono:
Le principali opzioni di qemu sono:


* '''-m ''megabyte'' ''' --> memoria per l'emulatore = 256MB
* <code>'''-m ''megabyte'' '''</code>: memoria per l'emulatore = 256MB
* '''-k it''' --> tastiera italiana
* <code>'''-k it'''</code>: tastiera italiana
* '''-localtime''' --> usa ora locale (default UTC)
* <code>'''-localtime'''</code>: usa ora locale (default UTC)
* '''-pci''' --> emula scheda di rete rtl8029 PCI
* <code>'''-pci'''</code>: emula scheda di rete rtl8029 PCI
* '''-boot c''' --> avvia dal dico rigido emulato (usare '''-boot d''' per il boot dal cdrom emulato)
* <code>'''-boot c'''</code>: avvia dal dico rigido emulato (usare <code>'''-boot d'''</code> per il boot dal cdrom emulato)
* '''-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.
* <code>'''-user-net'''</code>: 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 ===
=== QEMU Networking ===
Riga 182: Riga 212:


e dovete installare il pacchetto bridge-utils:
e dovete installare il pacchetto bridge-utils:
<pre>
  apt-get install bridge-utils
  apt-get install bridge-utils
 
</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.
[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:
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>
  wget http://puzzle.dl.sourceforge.net/sourceforge/vde/vde-1.5.9.tar.gz
  wget http://puzzle.dl.sourceforge.net/sourceforge/vde/vde-1.5.9.tar.gz
  tar -xvzf vde-1.5.9.tar.gz
  tar -xvzf vde-1.5.9.tar.gz
Riga 193: Riga 225:
  make
  make
  make install
  make install
 
</pre>
Una volta fatto questo, siete pronti per configurare tun e il bridge:
Una volta fatto questo, siete pronti per configurare tun e il bridge:
<pre>
  vde_switch -tap tun0 -daemon
  vde_switch -tap tun0 -daemon
  chmod 777 /tmp/vde.ctl
  chmod 777 /tmp/vde.ctl
Riga 212: Riga 245:
  # questo invece è l'indirizzo IP del gateway
  # questo invece è l'indirizzo IP del gateway
  route add default gw 192.168.0.1
  route add default gw 192.168.0.1
 
</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é:
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 <code>/etc/init.d.</code> Dopodiché:
  chmod u+x /etc/init.d/vde_qemu
<pre>
  update-rc.d -n vde_qemu defaults 90
  # 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:
Ora tutto è pronto per lanciare qemu, con l'ultima avvertenza che dovete usare l'apposito wrapper vdeqemu:
  vdeqemu -hda disk.img -localtime
<pre>
  vdeqemu -hda disk.img -localtime -net nic -net vde
</pre>
{{Box|NB:| con le release più recenti di qemu non viene più supportato l'argomento <code>-tun-fd</code> che vdeqemu utilizza nella sintassi standard. È perciò necessario lanciare il wrapper vdeqemu con le opzioni <code>-net nic</code> (per attivare l'emulazione di un interfaccia di rete virtuale) e <code>-net vde</code> (per suggerire a vdeqemu di utilizzare la nuova sintassi di qemu)}}


Potete utilizzare tutte le opzioni di qemu, fuorché -user-net, che disattiverebbe tun.
Potete utilizzare tutte le opzioni di qemu, fuorché <code>-user-net</code>, che disattiverebbe <code>tun</code>.


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.
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.
Riga 226: Riga 263:
=== Patch per Windows ===
=== 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.
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 [http://klingon.homelinux.net/files/amnhltm.zip qui], va installata sul Win9x GUEST.
La patch può essere scaricata [http://klingon.homelinux.net/files/amnhltm.zip qui], va installata sul Win9x GUEST.


==Collegamenti esterni==
==Collegamenti esterni==
Riga 239: Riga 276:
*[http://savannah.nongnu.org/projects/qvm86/ http://savannah.nongnu.org/projects/qvm86/]
*[http://savannah.nongnu.org/projects/qvm86/ http://savannah.nongnu.org/projects/qvm86/]


==Conributi==
{{Autori
[[Utente:Themonkey|Themonkey]] 20:31, Ago 19, 2005 (EDT) The_monk_ey ( skype: the_monk_ey )
|Autore = [[Utente:Themonkey|Themonkey]] 20:31, Ago 19, 2005 (EDT)
 
|Estesa_da =
[[Utente:ianezz|ianezz]] 17:40, Nov 25, 2005 (CET) ''(per la parte di compilazione ed installazione)''
:[[Utente:ianezz|ianezz]] 17:40, Nov 25, 2005 (CET) (per la parte di compilazione ed installazione)''
 
:[[Utente:Paulox|Paulox]] 11:13, Dic 21, 2005 (EST) (aggiornamento alla versione 0.8.0 e riformattazione della pagina)
[[Utente:Paulox|Paulox]] 11:13, Dic 21, 2005 (EST) ''(aggiornamento alla versione 0.8.0 e riformattazione della pagina)''
:[[Utente:Sancious|Sancious]] 23:13, Dic 13, 2006 (CET) (aggiornamento linea di comando wrapper vdeqemu in sezione QEMU Networking)
[[Categoria:Sistema]]
}}
3 581

contributi