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

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
 
(32 versioni intermedie di 12 utenti non mostrate)
Riga 1: Riga 1:
Questo Wiki vuole essere prima di tutto un punto di raccolta ideale per le conoscenze acquisite dai singoli durante l' uso di Debian GNU/Linux in ambito casalingo e/o lavorativo, in modo che il sapere di uno diventi quello di tutti.
{{Old}}
==Installazione QEMU con qvm86/kqemu per Debian/Ubuntu==


Le guide ritenute meglio scritte e pi� approfondite, dopo un processo di controllo e revisione a cui tutti siete liberi di partecipare, vengono classificate [[:Categoria:Debianized|Debianized]] e contrassegnate dalla [[Debian Swirl]] http://guide.debianizzati.org/images/swirl.png.
=== Qemu con supporto qvm86 (libero, ma sperimentale) ===


Potete trovare un elenco completo delle guide Debianized [http://guide.debianizzati.org/index.php/Categoria:Debianized qui]
====1. Fase Preliminare====
Assicuratevi di aver installato i pacchetti necessari a scaricare e compilare il tutto:
Questa � la lista delle guide attualmente presenti:
* '''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);
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non è ancora compilabile col gcc 4.0);
* '''libsdl1.2-dev''';
* '''zlib1g-dev''';
* '''make''';
* '''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>.


== Mondo Debian ==
====2. Recupero file QEMU====
=== Introduzione a Debian ===
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.
* [[L' Universo Debian]]
<pre>
* [[La struttura della Distribuzione]]
$ tar zxvf qemu-0.8.0.tar.gz
$ cd qemu-0.8.0
</pre>
====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'''.
<pre>
$ export CVS_RSH=ssh
$ export CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qvm86
$ cvs -z3 co qvm86
</pre>
====4. Applicazione patch====
Applicate dalla directory dei sorgenti di qemu la patch provvista da qvm86:
<pre>
$ patch -p0 < qvm86/patch.qvm86
</pre>
====5. Configurazione====
Configurate l'ambiente di compilazione avviando lo script <code>./configure</code>.
Verificate che sia tutto ok, poi compilate il tutto ed installate:
<pre>
$ ./configure --cc=gcc-3.3
$ 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.


=== Installazione ===
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>.  
* http://guide.debianizzati.org/images/swirl.png [[Guida a Grub]]
<pre>
* [[Jigdo | Jigdo: Scaricare e Aggiornare le iso di Debian]]
$ make clean
* [[Note sull'installazione di Debian]]
$ ./configure --cc=gcc-3.3 --target-list=i386-softmmu
$ make
</pre>
Se non ci sono errori, ora potete diventare root ed installare qemu.
<pre>
$ su
Password:
# 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>.


=== Gestione dei Pacchetti ===
====6. Caricamento modulo====
* [[Introduzione all' Apt System]]
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.  
* [[I repository ed il loro utilizzo]]
* http://guide.debianizzati.org/images/swirl.png [[Pulire Debian]]
* [[Apt-cdrom | '''Apt-cdrom''': aggiunta di cd/dvd nella lista dei repository]]
* [[Apt-file: ricerca all'interno dei pacchetti | '''Apt-file''': ricerca all'interno dei pacchetti]]
* [[Apt-listbugs: come monitorare i bug | '''Apt-listbugs''': come monitorare i bug]]
* [[Apt-zip: aggiornamenti senza una connessione veloce | '''Apt-zip''': aggiornamenti senza una connessione veloce]]
* [[Apt-spy: trovare i mirror pi� veloci | '''Apt-spy''': trovare i mirror pi� veloci]]
* [[APT uso avanzato: mixare releases diverse]]
* http://guide.debianizzati.org/images/swirl.png [[Impedire l' aggiornamento di un pacchetto]]


=== Creazione e modifica dei pacchetti ===
Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev), queste due operazioni sono da fare come root una volta sola:
* http://guide.debianizzati.org/images/swirl.png [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettiziamo Java Sun]]
<pre>
* [[Pacchetti binari e sorgenti]]
# mknod /dev/qvm86 c 222 0
* [[Applicare una patch ad un pacchetto Debian]]
# chmod 666 /dev/qvm86
* [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
  </pre>
* [[Dpkg-sig: Firma dei packages .deb | '''Dpkg-sig''': Firma dei packages .deb]]
* [[Pacchetizzare un tema per Bootsplash]]


=== Gestione dei pacchetti Lato Server ===
Questa operazione va eseguita come root ad ogni avvio del sistema per usare qemu:
* [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
<pre>
* [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
# modprobe qvm86
* [[Creare un Repository Debian]]
</pre>
* [[Gestione di un repository con debarchiver]]
* [[Usare apt-cacher per creare una cache dei pacchetti usabile in una LAN]]
* [[Dupload per l'upload dei pacchetti Debian]]


==Configurazione Sistema==
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev), queste due operazioni vanno eseguite come root ad ogni avvio del sistema:
===Kernel===
<pre>
* http://guide.debianizzati.org/images/swirl.png [[Debian Kernel Howto]]
# modprobe qvm86
* [[Esempio configurazione kernel]]
# chmod 666 /dev/qvm86
* [[Kernel2.6.10 - Framebuffer - Gensplash Patch]]
</pre>
* [[Kernel 2.6 su Debian Woody]]
* [[Compilazione Kernel 2.6.11 con Bootsplash]]
* [[Pagina di manuale di module-assistant|Pagina di manuale di '''<tt>module-assistant</tt>''']]
* [[Low-latency 2.6 kernel per applicazioni audio realtime]]


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


===Applicazioni Esterne===
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>.
* [[Pacchettizzare ed installare Xorg su Debian Sid]]
* [[Installazione Qemu con supporto accelerazione Kqemu]]
* [[ePSXe Emulatore Playstation]]
* [[Installare OpenOffice2 su Debian Etch]]
* [[DVD Backup: xDVDShrink per Debian]]


===Altro===
=== Qemu col supporto kqemu (proprietario) ===
* [[Dual Boot Linux-Windows]]
* [[Logging su MySQL]]
* [[Password sicure: la base della sicurezza informatica]]
* [[Script Bash per Avvio e Visualizzazione dati Seti@home]]


===Tips and Tricks===
====1. Fase Preliminare====
====Bash====
Assicuratevi di aver installato i pacchetti necessari a compilare il tutto:
* [[Bash tips]]: un elenco di trucchetti sull'uso interattivo e sullo scripting Bash
* '''gcc-3.3''' oppure '''gcc-3.4''' (qemu non è ancora compilabile col gcc 4.0);
* [[Colorare bash]]
* '''libsdl1.2-dev''';
* [[Come abilitare il completamento automatico 'avanzato']]
* '''zlib1g-dev''';
* [[Un logout con schermo pulito]]
* '''make''';
* [[Bash Script: Cambiare i permessi ricorsivamente]]
* '''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>.


====Firefox====
====2. Recupero file QEMU/KQEMU====
* [[Velocizzare Firefox per la banda larga]]
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.
* [[Il vostro motore di ricerca da Firefox]]
<pre>
* [[Aggiungere un motore di ricerca al quicksearch di Firefox]]
$ tar zxvf qemu-0.8.0.tar.gz
$ tar zxvf kqemu-0.7.2.tar.gz -C qemu-0.8.0
$ cd qemu-0.8.0
</pre>
====3. Configurazione====
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
il modulo corretto per il vostro kernel. Poi compilate il tutto ed installate.
<pre>
$ ./configure --cc=gcc-3.4
$ 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.
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>.


====Altro====
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>.
* [[Convertire immagini .nrg in immagini .iso]]
<pre>
* [[Nautilus: navigare con una sola finestra]]
$ make clean
* [[Associare a thunderbird il browser preferito]]
$ ./configure --cc=gcc-3.4 --target-list=i386-softmmu
* [[Antispam in Evolution con Bogofilter]]
$ make
* [[Impostare la lingua italiana per Gnome]]
</pre>
* [[Impostare e modificare data e ora]]
Se non ci sono errori, ora potete diventare root ed installare qemu.
* [[Impostare e modificare il layout della tastiera]]
<pre>
* [[Abilitare_Xinerama | Multi monitor con Xinerama]]
$ su
* [[Abilitare ESound con ALSA in Gnome]]
</pre>
* [[Cambiare il Tema dei Cursori per il Mouse]]
Password:
<pre>
  # 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>.


==Networking==
====4. Caricamento modulo====
===Debian Server===
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.
====Condivisione risorse====
* [[Directory shared tra macchine linux (nfs)]]
* [[Condivisione risorse con Samba]]


====Mailing====
Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev), queste due operazioni sono da fare come root una volta sola:
* [[Mail Server Sicuro con Postfix]]
<pre>
# mknod /dev/kqemu c 250 0
# chmod 666 /dev/kqemu
</pre>


====Http====
Questa operazione va eseguita come root ad ogni avvio del sistema:
* [[Server Web Casalingo]]
<pre>
* [[LAMP: Linux, Apache, MySQL e PHP]]
# modprobe kqemu
* [[XAMPP: Linux, Apache, MySQL e PHP facili]]
</pre>
* [[Debian MapServer/MapScript]]
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev), queste due operazioni vanno eseguite come root ad ogni avvio del sistema:
<pre>
# modprobe kqemu major=0
# chmod 666 /dev/kqemu
</pre>
Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
* 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;
* create il file <code>/etc/modprobe.d/kqemu</code> contenente le seguenti righe:
** per chi '''non ha''' installato il pacchetto udev:  
<pre>
install kqemu /sbin/modprobe --ignore-install kqemu \
&& (test -c /dev/kqemu || mknod /dev/keqmu c 250 0) \
&& chmod 666 /dev/kqemu
</pre>
:* per chi '''ha''' installato il pacchetto udev:
<pre>
options kqemu major=0
install kqemu /sbin/modprobe --ignore-install kqemu && chmod 666 /dev/kqemu
</pre>
Una volta caricato il modulo e dati i permessi di lettura a <code>/dev/kqemu</code> siamo pronti per eseguire il nuovo qemu.


===Amministrazione===
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>.
====Gestione Remota/Locale====
* [[Wake On Lan | '''Wake On Lan''' per accendere i propri PC a distanza tramite la LAN]]
* [[Debian e il controllo di servizi e demoni]]
* [[Gestione della banda in Apache]]
* [[Ssh e autenticazione tramite chiavi]]


====Connettivita'====
== Utilizzo QEMU ==
* [[Condividere la connessione a internet]]


===Sicurezza===
===Creazione immagine===
====Firewalling====
Creazione di un file immagine per il disco (facoltativo):
* [[Debian e iptables]]
<pre>
* [[Firewall Builder]]
$ qemu-img create hd.img 5G
* [[Parametri a run-time per Netfilter]]
</pre>
===Esecuzione QEMU===
''(cambiare il boot per fare l'installazione da cd etc..)''


====Monitoraggio & Scanning====
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).
* [[Monitoriamo il Sistema]]
<pre>
* [[Mrtg: monitoriamo la banda]]
# qemu -boot c -cdrom /dev/cdrom -hda /home/rob/hd.img \
* [[Cacti | Cacti: monitor di rete, per pi� computer]]
-user-net -pci -m 256 -k it -localtime
* [[Munin]]
</pre>


====Proxy====
Le principali opzioni di qemu sono:
* [[Privoxy: navigazione sicura a prova di spam]]


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


== Hardware ==
=== QEMU Networking ===
=== Fotocamere digitali e dispositivi di memorizzazione di massa removibili ===
* [[Usare Fotocamere Digitali|Usare Fotocamere Digitali (libgphoto2)]]
* [[Usare Fotocamere Digitali (usb-storage)]]
* [[UsbMount: Gestione automatizzata delle periferiche usb di memorizzazione]]
* [[Debian e iPod]]


=== Modem e periferiche di rete ===
'''Sezione da revisionare per i cambiamenti nella versione 0.8.0'''


* [[Debian e i Modem ADSL]]
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.


==== Modem USB ADSL ====
Prima di iniziare, dovete verificare che il vostro kernel supporti i seguenti moduli:
* [[Installare i driver conexant accessrunner]]
  tun: "Network device support" -> "Universal TUN/TAP device driver support"
* [[Installare i driver eagle-adsl]]
  IP masquerade: "Networking options" -> "IP: Netfilter Configuration"
* [[Installare i driver eci-adsl]] ''(stub)''
  bridging: "Networking options" -> "802.1d Ethernet Bridging"
* [[Installare i driver unicorn (BeWAN)]] ''(stub)''
* [[Modem adsl Telindus ND220]]
* [[Modem adsl Aethra Starmodem]]
* [[Modem adsl Fastrate 100 USB]]


==== Modem Ethernet ====
e dovete installare il pacchetto bridge-utils:
* ''Inserire qui eventuali guide su modem ethernet''
<pre>
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.


==== Modem dial-up 56K ====
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:
* ''Inserire qui eventuali guide su modem a 56K''
<pre>
 
wget http://puzzle.dl.sourceforge.net/sourceforge/vde/vde-1.5.9.tar.gz
==== Schede di rete Wireless ====
tar -xvzf vde-1.5.9.tar.gz
* [[Wireless Support | Informazioni sul supporto alle periferiche Wireless]]
cd vde-1.5.9
* [[Script Bash abilitazione scheda wireless]]
./configure
* [[Intel PRO/Wireless 2200BG]]
make
* [[NdisWrapper | NdisWrapper: Usiamo i driver di Windows per il WLan con GNU/Linux]]
make install
 
</pre>
=== Schede Video ===
Una volta fatto questo, siete pronti per configurare tun e il bridge:
* [[Installazione Driver ATI per schede ATI RADEON MOBILITY 9700 SE]]
<pre>
 
vde_switch -tap tun0 -daemon
=== Stampanti ===
chmod 777 /tmp/vde.ctl
==== Stampanti USB ====
* ''Inserire eventuali guide su come far funzionare stampanti con porta USB''
ifconfig eth0 down
 
brctl addbr br0
==== Stampanti con porta parallela ====
ifconfig eth0 0.0.0.0 promisc up
* [[Introduzione all'installazione di stampanti con porta parallela]]
ifconfig tun0 0.0.0.0 promisc up
 
# l'IP qui sotto è quello del computer host; modificatelo per adeguarlo alle vs esigenze
==== Stampanti bluetooth ====
ifconfig br0 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255 up
* [[Introduzione all'installazione di stampanti bluetooth]]
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>
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é:
<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>
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)}}


=== Scanner ===
Potete utilizzare tutte le opzioni di qemu, fuorché <code>-user-net</code>, che disattiverebbe <code>tun</code>.
* [[Epson Perfection 2480 photo - usb scanner]]
* ''Inserire qui eventuali altre guide su come far funzionare scanner con Debian''


==Portatili==
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.
===Laptop Debianizzati===
Troverete di seguito i resoconti d'installazione di Debian su dei portatili:


* [[Debian on a presario 2141EU | Compaq Presario 2100 (2141EU)]]
=== Patch per Windows ===
* [[Debian on a compaq Presario 2154EA | Compaq Presario 2100 (2154EA)]]
* [[Debian on a Toshiba Satellite M30X-113| Toshiba M30x-113]] ''(stub)''
* [[Debian on a HP Compaq NX6110| HP Compaq NX6110]]
* [[Debian on an HP pavilion zv5422EA| HP pavilion zv5000 (zv5422EA)]]


===Altro===
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.
* [[Powernowd: CpuScaling per AMD]]
* [[Cpufreqd: Cpuscaling per Intel Pentium M]]
* Inserire qui anche link a risorse in italiano sui portatili


==Knoppix==
La patch può essere scaricata [http://klingon.homelinux.net/files/amnhltm.zip qui], va installata sul Win9x GUEST.
* [[Rimasterizzare una knoppix]]


==Crittografia==
==Collegamenti esterni==
* [[Crittografia e Steganografia - L'Arte di nascondere le informazioni]]
*[http://ubuntuforums.org/showthread.php?t=39513 http://ubuntuforums.org/showthread.php?t=39513]
* [[Chiavi simmetriche e chiavi pubbliche]]
*[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]
*[http://savannah.nongnu.org/projects/qvm86/ http://savannah.nongnu.org/projects/qvm86/]


==Varie==
{{Autori
* [[Debian Fun]]
|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: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)
}}

Versione attuale delle 10:56, 12 giu 2016

Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


Installazione QEMU con qvm86/kqemu per Debian/Ubuntu

Qemu con supporto qvm86 (libero, ma sperimentale)

1. Fase Preliminare

Assicuratevi di aver installato i pacchetti necessari a scaricare e compilare il tutto:

  • 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);
  • gcc-3.3 oppure gcc-3.4 (qemu non è ancora compilabile col gcc 4.0);
  • libsdl1.2-dev;
  • zlib1g-dev;
  • make;
  • 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 uname -r.

2. Recupero file QEMU

Scaricate da 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.

 $ tar zxvf qemu-0.8.0.tar.gz
 $ cd qemu-0.8.0

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.

 $ export CVS_RSH=ssh
 $ export CVSROOT=:pserver:anonymous@cvs.savannah.nongnu.org:/sources/qvm86
 $ cvs -z3 co qvm86

4. Applicazione patch

Applicate dalla directory dei sorgenti di qemu la patch provvista da qvm86:

 $ patch -p0 < qvm86/patch.qvm86

5. Configurazione

Configurate l'ambiente di compilazione avviando lo script ./configure. Verificate che sia tutto ok, poi compilate il tutto ed installate:

 $ ./configure --cc=gcc-3.3
 $ make

Se avviando ./configure 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 make ci sono errori di compilazione, ci si può limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione --target-list=i386-softmmu al comando ./configure.

 $ make clean
 $ ./configure --cc=gcc-3.3 --target-list=i386-softmmu
 $ make

Se non ci sono errori, ora potete diventare root ed installare qemu.

 $ su
 Password:
 # make install

A questo punto qemu è installato in /usr/local/bin/qemu, ed il modulo qvm86 si trova in /lib/modules/versione_del_kernel/misc/qvm86.ko.

6. Caricamento modulo

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

Esempio di procedura manuale (per chi non ha installato il pacchetto udev), queste due operazioni sono da fare come root una volta sola:

 # mknod /dev/qvm86 c 222 0
 # chmod 666 /dev/qvm86
 

Questa operazione va eseguita come root ad ogni avvio del sistema per usare qemu:

 # modprobe qvm86

Esempio di procedura manuale (per chi ha installato il pacchetto udev), queste due operazioni vanno eseguite come root ad ogni avvio del sistema:

 # modprobe qvm86
 # chmod 666 /dev/qvm86

Per far eseguire automaticamente queste operazioni ad ogni avvio del sistema (consigliato):

  • diventate root (su -);
  • modificate il file /etc/modules aggiungendo la riga qvm86, in modo che il modulo venga automaticamente caricato al boot;
  • create il file /etc/modprobe.d/qvm86 contenente le seguenti righe:
    • per chi non ha installato il pacchetto udev:
 install qvm86 /sbin/modprobe --ignore-install qvm86 \
 && (test -c /dev/qvm86 || mknod /dev/qvm86 c 222 0) \
 && chmod 666 /dev/qvm86
  • per chi ha installato il pacchetto udev:
 install qvm86 /sbin/modprobe --ignore-install qvm86 && chmod 666 /dev/qvm86

Una volta caricato il modulo e dati i permessi di lettura a /dev/qvm86 siamo pronti per eseguire il nuovo qemu.

Accertatevi che il qemu che andrete ad eseguire sia quello compilato in /usr/local/bin/qemu: potete farlo eseguendo type qemu.

Qemu col supporto kqemu (proprietario)

1. Fase Preliminare

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);
  • libsdl1.2-dev;
  • zlib1g-dev;
  • make;
  • 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 uname -r.

2. Recupero file QEMU/KQEMU

Scaricate archivi dei codici sorgenti di 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.

 $ tar zxvf qemu-0.8.0.tar.gz
 $ tar zxvf kqemu-0.7.2.tar.gz -C qemu-0.8.0
 $ cd qemu-0.8.0

3. Configurazione

Configurate l'ambiente di compilazione avviando lo script ./configure. 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.

 $ ./configure --cc=gcc-3.4
 $ make

Se avviando ./configure 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 (export CC='/usr/bin/gcc-3.4'), 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 make; se ciò non è stato fatto per tempo allora è necessario entrare nella directory kqemu/ ed eliminare quanto già compilato con make clean, poi ritornare nella directory principale e rilanciare make.

Se dopo aver avviato make ci sono errori di compilazione, ci si può limitare a compilare il solo modulo di emulazione x86, aggiungendo l'opzione --target-list=i386-softmmu al comando ./configure.

 $ make clean
 $ ./configure --cc=gcc-3.4 --target-list=i386-softmmu
 $ make

Se non ci sono errori, ora potete diventare root ed installare qemu.

 $ su
Password:
 # make install

A questo punto qemu è installato in /usr/local/bin/qemu, ed il modulo kqemu si trova in /lib/modules/versione_del_kernel/misc/kqemu.ko.

4. Caricamento modulo

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

Esempio di procedura manuale (per chi non ha installato il pacchetto udev), queste due operazioni sono da fare come root una volta sola:

 # mknod /dev/kqemu c 250 0
 # chmod 666 /dev/kqemu

Questa operazione va eseguita come root ad ogni avvio del sistema:

 # modprobe kqemu

Esempio di procedura manuale (per chi ha installato il pacchetto udev), queste due operazioni vanno eseguite come root ad ogni avvio del sistema:

 # modprobe kqemu major=0
 # chmod 666 /dev/kqemu

Per far eseguire automaticamente queste operazioni ad ogni avvio del sistema (consigliato):

  • diventate root (su -);
  • modificate il file /etc/modules aggiungendo la riga kqemu, in modo che il modulo venga automaticamente caricato al boot;
  • create il file /etc/modprobe.d/kqemu contenente le seguenti righe:
    • per chi non ha installato il pacchetto udev:
 install kqemu /sbin/modprobe --ignore-install kqemu \
 && (test -c /dev/kqemu || mknod /dev/keqmu c 250 0) \
 && chmod 666 /dev/kqemu
  • per chi ha installato il pacchetto udev:
 options kqemu major=0
 install kqemu /sbin/modprobe --ignore-install kqemu && chmod 666 /dev/kqemu

Una volta caricato il modulo e dati i permessi di lettura a /dev/kqemu siamo pronti per eseguire il nuovo qemu.

Accertatevi che il qemu che andrete ad eseguire sia quello compilato in /usr/local/bin/qemu: potete farlo eseguendo type qemu.

Utilizzo QEMU

Creazione immagine

Creazione di un file immagine per il disco (facoltativo):

 $ qemu-img create hd.img 5G

Esecuzione QEMU

(cambiare il boot per fare l'installazione da cd etc..)

Per semplicità qui avviamo qemu da root (gli utenti comuni in Debian solitamente non possono leggere direttamente /dev/cdrom), tuttavia qemu può tranquillamente essere eseguito come utente comune (consigliato).

 # qemu -boot c -cdrom /dev/cdrom -hda /home/rob/hd.img \
 -user-net -pci -m 256 -k it -localtime

Le principali opzioni di qemu sono:

  • -m megabyte : memoria per l'emulatore = 256MB
  • -k it: tastiera italiana
  • -localtime: usa ora locale (default UTC)
  • -pci: emula scheda di rete rtl8029 PCI
  • -boot c: avvia dal dico rigido emulato (usare -boot d 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.

QEMU Networking

Sezione da revisionare per i cambiamenti nella versione 0.8.0

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:

 apt-get install bridge-utils

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:

 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

Una volta fatto questo, siete pronti per configurare tun e il bridge:

 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

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: vde_qemu, che va salvato in /etc/init.d. Dopodiché:

 # chmod u+x /etc/init.d/vde_qemu
 # update-rc.d -n vde_qemu defaults 90

Ora tutto è pronto per lanciare qemu, con l'ultima avvertenza che dovete usare l'apposito wrapper vdeqemu:

 vdeqemu -hda disk.img -localtime -net nic -net vde 
Info.png NB:
con le release più recenti di qemu non viene più supportato l'argomento -tun-fd che vdeqemu utilizza nella sintassi standard. È perciò necessario lanciare il wrapper vdeqemu con le opzioni -net nic (per attivare l'emulazione di un interfaccia di rete virtuale) e -net vde (per suggerire a vdeqemu di utilizzare la nuova sintassi di qemu)


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 può essere scaricata qui, va installata sul Win9x GUEST.

Collegamenti esterni




Guida scritta da: Themonkey 20:31, Ago 19, 2005 (EDT) Swirl-auth20.png Debianized 20%
Estesa da:
ianezz 17:40, Nov 25, 2005 (CET) (per la parte di compilazione ed installazione)
Paulox 11:13, Dic 21, 2005 (EST) (aggiornamento alla versione 0.8.0 e riformattazione della pagina)
Sancious 23:13, Dic 13, 2006 (CET) (aggiornamento linea di comando wrapper vdeqemu in sezione QEMU Networking)
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized