Old:Udev e Debian: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
mNessun oggetto della modifica
Riga 1: Riga 1:
Scarichiamo il cd del "net-install" da qui : http://www.debian.org/CD/netinst/
== INSTALLAZIONE QEMU + KQEMU PER DEBIAN / UBUNTU ==


''Dovete scaricare quella adatta alla vostra piattaforma che, nel caso di un pc casalingo o che avete comprato all'iper e' i386 :))''
1. 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'''
* '''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. 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 di KQEMU, e scompattateli in modo che la directory di kqemu venga estratta all'interno della directory di qemu. Quindi entrate nella directory dei sorgenti.


Esempio:
<pre>
rob@klingon:/home/rob$ tar zxvf qemu-0.7.2.tar.gz
rob@klingon:/home/rob$ tar zxvf kqemu-0.7.2.tar.gz -C qemu-0.7.2
rob@klingon:/home/rob$ cd qemu-0.7.2</pre>


3. 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.


== Installazione Debian ==
Esempio:
<pre>
rob@klingon:/home/rob/qemu-0.7.2$ ./configure --cc=gcc-3.3
rob@klingon:/home/rob/qemu-0.7.2$ make</pre>


*Debian Install
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>
rob@klingon:/home/rob/qemu-0.7.2$ make clean
rob@klingon:/home/rob/qemu-0.7.2$ ./configure --cc=gcc-3.3 --target-list=i386-softmmu
rob@klingon:/home/rob/qemu-0.7.2$ make</pre>


Facciamo partire la macchina con il cd e digitiamo al prompt #linux26 per fare in modo che parta con il kenel 2.6.8
Se non ci sono errori, ora potete diventare root ed installare qemu.


Dopo il primo avvio e la scelta della lingua sicuramente la scheda di rete NON sar� riconosciuta, procediamo quindi a mano, selezionando dall'elenco il driver "tg3 : Broadcom Tigon3 Gigabit Ethernet"
<pre>
rob@klingon:/home/rob/qemu-0.7.2# su
Password:
rob@klingon:/home/rob/qemu-0.7.2# make install</pre>


Diamo un nome host alla macchina ed anche un dominio se l'abbiamo... e procediamo con il partizionamento, a questo punto attendiamo la fine dell'installazione di "base".
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>.


Configurare il bootloader sul mbr del disco per fare in modo che la macchina si avvii ;)
4. 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.


Il cd viene espulso e la macchina si riavvia.... ci siamo quasi..
Esempio di procedura manuale (per chi '''non ha''' installato il pacchetto udev):'''
<pre>
# Queste due operazioni sono da fare come root una volta sola:
rob@klingon:/home/rob/qemu-0.7.2# mknod /dev/kqemu c 250 0
rob@klingon:/home/rob/qemu-0.7.2# chmod 666 /dev/kqemu


Le operazioni d'installazione sono da eseguire come "root" oppure come utente "sudo"..
# Questa operazione va eseguita come root ad ogni avvio del sistema
rob@klingon:/home/rob/qemu-0.7.2# modprobe kqemu</pre>


*Config Sudo
Esempio di procedura manuale (per chi '''ha''' installato il pacchetto udev):
<pre>
# Queste due operazioni vanno eseguite come root ad ogni avvio del sistema
rob@klingon:/home/rob/qemu-0.7.2# modprobe kqemu major=0
rob@klingon:/home/rob/qemu-0.7.2# chmod 666 /dev/kqemu</pre>


Come abilitare il sudo :
Per far eseguire '''automaticamente''' queste operazioni ad ogni avvio del sistema (consigliato):
Per aggiungere il vostru utente tra i "sudores users" entrate in console come root, digitate il comando "visudo" tutto attaccato,
* diventate root (<code>su -</code>)
aggiungete sotto l'utente root anche il vostro ed applicate le stesse opzioni, come segue :
* modificate il file <code>/etc/modules</code> aggiungendo la riga <code>kqemu</code>, in modo che il modulo venga automaticamente caricato al boot.
root    ALL=(ALL) ALL
* create il file <code>/etc/modprobe.d/kqemu</code> contenente le seguenti righe:
ale    ALL=(ALL) ALL
** 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>


A questo punto ogni volta che vorrete lanciare un'applicazione con i privilegi di root baster� anteporre il comando "sudo" es. sudo synaptics ;)
Una volta caricato il modulo e dati i permessi di lettura a /dev/kqemu siamo pronti per eseguire il nuovo qemu.


== Prima configurazione ==
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>.


- Al riavvio ci verr� chiesto di impostare una password di "root" e di definire almeno 1 utente nel sistema, dopodiche ci verr� chiesto la "modalit� di installazione", io prediligo "http" utilizzando come repo il server di fastweb "che � utilizzabile anche al di fuori di tale rete!!", senza selezionare nessuna voce tipo "Ambiente Desktop" o "Server Web", ci spostiamo con il tabulatore su "OK" e procediamo, in questo modo verr� installato SOLO il sistema di base senza tanti fronzoli!!
5. (facoltativo) Creazione di un file immagine per il disco (facoltativo)


== Apt ==
<pre>
rob@klingon:/home/rob$ qemu-img create hd.img 3500M
</pre>


- La prima cosa che facciamo � aggiungere nel file /etc/apt/source.list le sezioni che ci servono, come in esembio :
6. Eseguiamo qemu:
(cambiare il boot per fare l'installazione da cd etc..)


deb http://debian.fastweb.it/debian/ stable main non-free contrib
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).
deb-src http://debian.fastweb.it/debian/ stable main non-free contrib


ed aggiorniamo apt con #apt-get update
<pre>
rob@klingon# qemu -boot c -cdrom /dev/cdrom -hda /home/rob/hd.img \
              -user-net -pci -m 256 -k it -localtime
</pre>


- Installiamo a questo punto l'interfaccia X con il seguente comando :  
Le principali opzioni di qemu sono:


  #apt-get install x-window-system gdm gnome module-assistant
* '''-m ''megabyte'' ''' --> memoria per l'emulatore = 256MB
   
* '''-k it''' --> tastiera italiana
  Installa il sistema x, il gdm per la gestione delle sessioni grafiche e l'ambiente Desktop Gnome ed il Module Assistant per la pacchettizzazione
* '''-localtime''' --> usa ora locale (default UTC)
  dei moduli ;)
* '''-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.


-Configuriamo alla alla "bene-meglio" il server X
=== Qemu Networking ===


== Configurazione Video ==
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.


- Scarichiamo il driver (ati-driver-installer-8.19.10-i386.run) della nostra scheda video "ATI radeon mobility X600" dal sito http://support.ati.com 
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>
apt-get install bridge-utils
</pre>


- Lanciamo da prompt #module-assistant e seguiamo il menu fino a "Prepare"... scarichiamo il necessario.
[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.


- Una volta copiato il file sulla macchina digitiamo #sh ati-driver-installer-8.19.10-i386.run e seguiamo i passi richiesti facendo attenzione alle risposte!!
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
tar -xvzf vde-1.5.9.tar.gz
cd vde-1.5.9
./configure
make
make install
</pre>


Alla fine, se la configurazione � stata eseguita correttamente ci dovr� restiruire una riga avvisandoci di aver cancellato la cartella temporanea... se non � cos� c'� qualche cosa che tocca e ci conviene controllare il log...
Una volta fatto questo, siete pronti per configurare tun e il bridge:


Editiamo il file /etc/X11/XF86Config-4 editando come segue :
<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


Section "InputDevice"
brctl stp br0 off
    Identifier  "Mouse1"
brctl setfd br0 1
    Driver "mouse"
brctl sethello br0 1
    Option "Protocol"  "ImPS/2"
brctl addif br0 eth0
    Option "ZAxisMapping"  "4 5"
brctl addif br0 tun0
    Option "Device"    "/dev/input/mice"
#questo invece � l'indirizzo IP del gateway
EndSection
route add default gw 192.168.0.1
 
</pre>
 
Section "Screen"
    Identifier  "Screen0"
    Device      "ATI Graphics Adapter"
    Monitor    "Monitor0"
    DefaultDepth 24
    #Option "backingstore"
 
    Subsection "Display"
        Depth      24
        Modes      "1280x800"
        ViewPort    0 0  # initial origin if mode is smaller than desktop
    EndSubsection
EndSection


Salvato il file da prompt digitiamo /etc/init.d/gdm restart ... Magicamente saremo a 1280x800!! :))
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>


== Audio ==


- Passiamo all'audio digitando da prompt #apt-get install alsa-base
Ora tutto � pronto per lanciare qemu, con l'ultima avvertenza che dovete usare l'apposito wrapper vdeqemu:
<pre>
vdeqemu -hda disk.img -localtime
</pre>


- Configuriamo alsa da prompt #alsaconf e seguiamo la procedura guidata...
Potete utilizzare tutte le opzioni di qemu, fuorch� -user-net, che disattiverebbe tun.


== Wireless ==
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.


Apriamo X e scarichiamo dal sito ipw2200.sf.net i file del firmware e scompattiamoli nella cartella /usr/src/fw
=== PATCH PER WINDOWS ===


#mkdir /usr/src/fw
Per quanto riguarda l'utilizzo della CPU, a quanto pare
#mv  ipw2200-fw-2.4.tgz /usr/src/fw
Windows 9x non fa un uso corretto della istruzione CPU HLT e
#cd /usr/src/fw
quindi spara la cpu a 100% quando � in idle (non fa nulla) e
#tar xzfv ipw2200-fw-2.4.tgz
invece la usa regolarmente quando � sotto "sforzo", paradossalmente
#cp *.fw  /usr/lib/hotplug/firmware/
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.


{{Warningbox|
[http://klingon.homelinux.net/files/amnhltm.zip http://klingon.homelinux.net/files/amnhltm.zip]
#mv ipw-2.4-bss.fw ipw-2.2-bss.fw
#mv ipw-2.4-boot.fw ipw-2.2-boot.fwfw
#mv ipw-2.4-bss.fw ipw-2.2-bss.fw
#mv ipw-2.4-bss.fw ipw-2.2-bss.fw
#mv ipw-2.4-bss_ucode.fw ipw-2.2-bss_ucode.fw
#mv ipw-2.4-ibss.fw ipw-2.2-ibss.fw
#mv ipw-2.4-ibss_ucode.fw ipw-2.2-ibss_ucode.fw
#mv ipw-2.4-sniffer.fw ipw-2.2-sniffer.fw
#mv ipw-2.4-sniffer_ucode.fw ipw-2.2-sniffer_ucode.fw


Questo rinomina dev'essere fatto in quanto se no il modulo vi dar errore -5 ;)  Provare per credere!!;)}}


Lanciamo module-assistant #module-assistant
Link utili (in inglese):


- Selezioniamo "Select" e poi il modulo "ipw2200"
*[http://ubuntuforums.org/showthread.php?t=39513 http://ubuntuforums.org/showthread.php?t=39513]
- recuperiamo i sorgenti con "Get"
*[http://fabrice.bellard.free.fr/qemu/index.html http://fabrice.bellard.free.fr/qemu/index.html]
- Costruiamolo con "Build", vi chieder� anche di installarlo, scegliete "Si" ;)
*[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]


Una volta che ha finito "tutti i suoi ciapini" usciamo dal programma e da prompt #modprobe ipw2200
--
Se tutto � andato bene NON deve restituire errore e per verificare se � caricato da prompt digitiamo #lsmod | grep ipw220
[[Utente:Themonkey|Themonkey]] 20:31, Ago 19, 2005 (EDT)
Dovrebbe restituire una cosa simile :
The_monk_ey ( skype: the_monk_ey )
 
secure:/# lsmod | grep ipw2200
ipw2200              142472  0
ieee80211              36772  1 ipw2200
ieee80211_crypt        6088  2 ipw2200,ieee80211
firmware_class          9728  2 ipw2200,tg3
 
Adesso installiamo le utility per gestire il tutto con, da prompt, #apt-get install wireless-tools e da prompt digitiamo #iwconfig e magicamente :
 
secure:~# iwconfig
eth1      unassociated  ESSID:off/any
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s  Tx-Power=20 dBm
          RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0
 
Evviva!!! Il wifi va!! Va!! Va!!
 
== Mouse ==
 
Adesso passiamo al mouse, abilitiamo lo "scrolling" sul tuoch pad, funziona cosi' comoda, ma che pochi conoscono!!
 
- Per cominciare installiamo con i driver giusti #apt-get install xfree86-driver-synaptics
 
- Modifichiamo il file /etc/X11/XF86Config-4 come segue :
 
aggiungiamo come modulo da caricare il synaptics
 
Load    "synaptics"
 
eliminiamo la vecchia riga del mouse :
 
 
#Section "InputDevice"
#    Identifier "Mouse1"
#    Driver "mouse"
#    Option "Protocol"  "ImPS/2"
#    Option "ZAxisMapping"  "4 5"
#    Option "Device"    "/dev/input/mice"
#    Option "Emulate3Buttons"
#EndSection
 
 
e aggiungiamo questa :
 
Section "InputDevice"
        Driver  "synaptics"
        Identifier "Touchpad"
        Option  "CorePointer"
        Option  "Device"        "/dev/input/mice"
        Option  "Protocol"      "auto-dev"
        Option  "LeftEdge"      "1700"
        Option  "RightEdge"    "5300"
        Option  "TopEdge"      "1700"
        Option  "BottomEdge"    "4200"
        Option  "FingerLow"    "25"
        Option  "FingerHigh"    "30"
        Option  "MaxTapTime"    "180"
        Option  "MaxTapMove"    "220"
        Option  "VertScrollDelta" "100"
        Option  "MinSpeed"      "0.06"
        Option  "MaxSpeed"      "0.12"
        Option  "AccelFactor"  "0.0050"
        Option  "SHMConfig"    "on"
EndSection
 
 
poi in fondo al file (lo possiamo raggiungere con "shit"+g) modifichiamo la sezione "Layout" modificando l'input device
 
InputDevice "Touchpad" "CorePointer"
 
Riavviamo X ed il nostro touchpad scroller�!!
 
== Gestione PC ==
 
Installiamo i controlli acpi con #apt-get install acpi acpid
 
A questo punto il controllo della batteria dovrebbe funzionare :))
 
Installiamo laptop_mode per avere un'autonomia maggiore quando non siamo attaccati alla corrente!!