Old:ACPI e DSDT: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
(iasl è già in etch)
Riga 1: Riga 1:
==Introduzione==
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.


ACPI ('''Advanced Configuration and Power Interface''') � uno standard industriale aperto che definisce l'interfaccia tra S.O. e BIOS per l'amministrazione e la configurazione delle risorse di un PC. ACPI prevede che le informazioni a basso livello sul sistema (batteria, luminosit� LCD, pulsanti Fn, �) siano contenute nella DSTD ('''Differentiated System Description Table''').  
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.


Il problema principale del supporto ad ACPI in linux risiede nella nella presenza di errori (ma anche di controlli espliciti su alcune caratteristiche peculiari del S.O. soprastante) nella tabella DSDT: purtroppo, molti fornitori di hardware non sono in grado, o non vogliono fornire tabelle DSDT completamente funzionali secondo gli standart ACPI.
Potete trovare un elenco completo delle guide Debianized [http://guide.debianizzati.org/index.php/Categoria:Debianized qui]
Questa � la lista delle guide attualmente presenti:


Per questo motivo, per utilizzare appieno le possibilit� offerte da alcuni PC, soprattutto laptop, � necessario correggere la DSDT e istruire il kernel affinch� nel processo di boot carichi la tabella fornita da noi invece di quella fornita dal BIOS.
== Mondo Debian ==
=== Introduzione a Debian ===
* [[L' Universo Debian]]
* [[La struttura della Distribuzione]]


==Aggiornamento del BIOS==
=== Installazione ===
Per cominciare � indispensabile aggiornare il BIOS con l�ultima versione disponibile, sperando che la nuova versione contenga una tabella DSDT con meno errori della precedente.
* http://guide.debianizzati.org/images/swirl.png [[Guida a Grub]]
* [[Jigdo | '''Jigdo''': Scaricare e Aggiornare le iso di Debian]]
* [[Note sull'installazione di Debian]]


==Installazione nel kernel del supporto ACPI==
=== Gestione dei Pacchetti ===
Per poter utilizzare ACPI � necessario disporre di un kernel in cui sia stato abilitato il supporto ACPI. Praticamente tutte le distribuzioni forniscono kernel precompilati con il supporto ACPI attivato. Nel caso, per�, vi trovaste a dover (o voler) compilare autonomamente un kernel con il supporto ACPI, le voci necessarie sono le seguenti:
* [[Introduzione all' Apt System]]
* [[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]]
* [[Aptitude | '''Aptitude''': come amministrare i pacchetti]]


<pre>ACPI (Advanced Configuration and Power Interface) Support --->
=== Creazione e modifica dei pacchetti ===
    ACPI Support --->
* http://guide.debianizzati.org/images/swirl.png [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettiziamo Java Sun]]
        <*> AC Adapter
* [[Pacchetti binari e sorgenti]]
        <*> Battery
* [[Applicare una patch ad un pacchetto Debian]]
        <*> Button
* [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
        <*> Processor</pre>
* [[Dpkg-sig: Firma dei packages .deb |  '''Dpkg-sig''': Firma dei packages .deb]]
* [[Pacchetizzare un tema per Bootsplash]]
* [[Backport da unstable in testing]]


==Strumenti per lavorare con le DSDT==
=== Gestione dei pacchetti Lato Server ===
Per potere leggere e compilare una DSDT � necessario scaricare il compilatore ASL di Intel, che � liberamente disponibile per il download all'indirizzo:
* [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
<pre>http://developer.intel.com/technology/iapc/acpi/downloads.htm</pre>
* [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
* [[Creare un Repository Debian]]
* [[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]]


Per utilizzare la DSDT corretta sono disponibili due metodi: il primo prevede l'applicazione di una patch al kernel e l'inserimento della nuova DSDT direttamente nel kernel successivamente compilato; il secondo non necessita la ricompilazione del kernel, ma inserisce la nuova DSDT all'interno dell'initrd.
==Configurazione Sistema==
<pre>DSDT da compilare staticamente con il kernel da:
===Kernel===
ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/
* http://guide.debianizzati.org/images/swirl.png [[Debian Kernel Howto]]
* [[Esempio configurazione kernel]]
* [[Kernel2.6.10 - Framebuffer - Gensplash Patch]]
* [[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]]
* [[Script: Confronto Configurazioni Kernel]]


DSDT da inserire nell�initrd:
===Sistema===
http://gaugusch.at/kernel.shtml</pre>
* [[SysV | Il sistema SysV per la gestione dei Runlevel]]
* [[Udev e Debian]]
* [[Configurare il server X in Debian GNU/Linux]]
* [[Linux Admin Quick Reference]]
* [[Debian: accelerare GTK con Cairo e Glitz]]


===Installare il compilatore ASL===
===Applicazioni Esterne===
Uno dei motivi per cui le DSDT sono spesso difettose � che vengono compilate con il compilatore fornito da Microsoft, invece che con quello fornito da Intel. Curiosamente i sistemi Microsoft riescono ad evitare gli errori commessi dal compilatore della stessa societ�, mentre, come si pu� immaginare, la stessa cosa non succede per Linux.
* [[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]]


Per avere il compilatore ASL funzionante � necessario compilarlo:
===Altro===
<pre>$: tar -zxvf acpica-unix-20050624.tar.gz
* [[Dual Boot Debian-Altra distribuzione Linux]]
$: cd acpica-unix-20050624/compiler
* [[Dual Boot Linux-Windows|Dual Boot Linux-Windows: usare il bootloader di windows]]
$: make</pre>
* [[Logging su MySQL]]
* [[Password sicure: la base della sicurezza informatica]]
* [[Script Bash per Avvio e Visualizzazione dati Seti@home]]


===Ottenere una DSDT===
===Tips and Tricks===
� possibile ottenere la DSDT attualmente installata per poi correggere gli eventuali errori e problemi, copiandola da un file reso appositamente disponibile dal filesystem virtuale /proc:
====Bash====
<pre>$: cat /proc/acpi/dsdt > dsdt.dat</pre>
* [[Bash tips]]: un elenco di trucchetti sull'uso interattivo e sullo scripting Bash
* [[Colorare bash]]
* [[Come abilitare il completamento automatico 'avanzato']]
* [[Un logout con schermo pulito]]
* [[Bash Script: Cambiare i permessi ricorsivamente]]
* [[Due simpatici login: welcome2l e linuxlogo]]


Ci� creer� un file '''dsdt.dat''' che contiene la DSDT compilata.
====Firefox====
Per poterne leggere il contenuto � necessario decompilarla con il compilatore ASL appena installato:
* [[Firefox: Disattivare la ricerca con il tasto centrale]]
<pre>$: iasl -d dsdt.dat</pre>
* [[Velocizzare Firefox per la banda larga]]
* [[Il vostro motore di ricerca da Firefox]]
* [[Aggiungere un motore di ricerca al quicksearch di Firefox]]


Verr� generato un file di testo denominato '''dsdt.dsl''', che contiene la DSDT. Questo file pu� essere modificato con un normale editor di testi e modificato a seconda delle esigenze e dei problemi riscontrati.
====Altro====
* [[Convertire immagini .nrg in immagini .iso]]
* [[Nautilus: navigare con una sola finestra]]
* [[Associare a thunderbird il browser preferito]]
* [[Antispam in Evolution con Bogofilter]]
* [[Impostare la lingua italiana per Gnome]]
* [[Impostare  e modificare data e ora]]
* [[Impostare e modificare il layout della tastiera]]
* [[Abilitare_Xinerama | Multi monitor con Xinerama]]
* [[Abilitare ESound con ALSA in Gnome]]
* [[Cambiare il Tema dei Cursori per il Mouse]]
* [[XFCE e shutdown da utente]]
* [[Personalizzare il comportamento delle finestre con Devil's Pie]]


Per vedere quali sono i problemi spesso � sufficiente ricompilare il file ottenuto: il compilatore ASL fornir� una serie di warning sulle ottimizzazioni che � possibile fare (e le far� automaticamente) ed, eventualmente, segnaler� degli errori, la cui soluzione pu� essere, ad esempio, ricercata su internet.
==Networking==
===Debian Server===
====Condivisione risorse====
* [[Directory shared tra macchine linux (nfs)]]
* [[Condivisione risorse con Samba]]


Ad ogni modo una lettura del codice della DSDT pu� essere istruttiva. Il linguaggio � abbastanza simile al C e con qualche minima conoscenza � possibile comprendere i principali costrutti logici.
====Mailing====
* [[Mail Server Sicuro con Postfix]]


Nel codice di alcune DSDT � stato trovato un controllo (if .. then) sulla lunghezza del nome del S.O. soprastante (17 lettere, proprio come "Microsoft Windows") come requisito per l'attivazione di alcune funzioni dell'ACPI.
====Http====
* [[Server Web Casalingo]]
* [[LAMP: Linux, Apache, MySQL e PHP]]
* [[XAMPP: Linux, Apache, MySQL e PHP facili]]
* [[Debian MapServer/MapScript]]


Una volta corretti gli errori ricompilare il file '''dsdt.dsl'''.
===Amministrazione===
       
====Gestione Remota/Locale====
<pre>$: iasl -tc dsdt.dsl</pre>
* [[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]]
* [[Inetd e i servizi di rete]]


Verranno generati due file dalla compilazione:
====Connettivita'====
*:dsdt.hex
* [[Condividere la connessione a internet]]
*:DSDT.aml


{{ Warningbox | � possibile scaricare una custom DSDT gi� pronta e corretta da internet per molti portatili in commercio: http://acpi.sourceforge.net/dsdt/tables }}
===Sicurezza===
====Firewalling====
* [[Debian e iptables]]
* [[Firewall Builder]]
* [[Parametri a run-time per Netfilter]]


==Aggiornare il Kernel==
====Monitoraggio & Scanning====
Come abbiamo gi� detto, � possibile inserire i file '''dsdt.hex''' e '''DSDT.aml''' generati in modo statico nel kernel, oppure renderli disponibili tramite initrd.
* [[Monitoriamo il Sistema]]
* [[Mrtg: monitoriamo la banda]]
* [[Cacti | Cacti: monitor di rete, per pi� computer]]
* [[Munin]]


*:Il primo metodo prevede di includere la DSDT nel kernel. Questo comporter� una ricompilazione del kernel al termine della procedura. Se usate questo metodo avete bisogno del file '''dsdt.hex'''.
====Proxy====
* [[Privoxy: navigazione sicura a prova di spam]]


*:Il secondo metodo prevede di passare la DSDT al kernel durante il caricamento nella fase di boot tramite initrd. Se usate questo metodo avete bisogno del file '''DSDT.aml'''.
====Tunneling====
* [[Openvpn]]


== Hardware ==
=== 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]]


Il metodo initrd � probabilmente preferibile, particolarmente se dovete fare diversi cambiamenti alla vostra DSDT, perch� non richiede la ricompilazione del kernel per ogni nuova DSDT generata.
=== Modem e periferiche di rete ===


===Installazione Metodo statico===
* [[Debian e i Modem ADSL]]
� necessario installare una patch al kernel per far si che legga la nuova DSDT senza problemi. Una volta eseguita questa operazione copiate la nuova DSDT (.hex file) nella directory dei sorgenti del kernel.


Scaricare la patch a questo indirizzo:
==== Modem USB ADSL ====
<pre>ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release</pre>
* [[Installare i driver conexant accessrunner]]
* [[Installare i driver eagle-adsl]]
* [[Installare i driver eci-adsl]] ''(stub)''
* [[Installare i driver unicorn (BeWAN)]] ''(stub)''
* [[Modem adsl Telindus ND220]]
* [[Modem adsl Aethra Starmodem]]
* [[Modem adsl Fastrate 100 USB]]


Patchate il kernel, spostandovi nella directory dove sono presenti i sorgenti:
==== Modem Ethernet ====
<pre>$: cd /usr/src/linux-2.6.8
* ''Inserire qui eventuali guide su modem ethernet''
$: patch -p1 < /percorso_dove_avete_salvato_la_patch</pre>


Se non appaiono errori, significa che la patch � stata applicata correttamente.
==== Modem dial-up 56K ====
* ''Inserire qui eventuali guide su modem a 56K''


Copiare il file dsdt.hex rinominandolo in dsdt_table.h nella directory dei sorgenti del kernel:
==== Schede di rete Wireless ====
<pre>$: cp dsdt.hex /usr/src/linux-2.8.6/include/acpi/dsdt_table.h</pre>
* [[Wireless Support | Informazioni sul supporto alle periferiche Wireless]]
* [[Script Bash abilitazione scheda wireless]]
* [[Intel PRO/Wireless 2200BG]]
* [[NdisWrapper | NdisWrapper: Usiamo i driver di Windows per il WLan con GNU/Linux]]


Infine ricompilare il kernel. Se non ci sono errori al prossimo avvio del PC il supporto ACPI � caricato correttamente senza alcun problema.
=== Schede Video ===
* [[Installazione Driver ATI per schede ATI RADEON MOBILITY 9700 SE]]


===Installazione Metodo initrd===
=== Stampanti ===
Questo metodo permette di utilizzare la nuova DSDT senza dover ricompilare il kernel. Questo metodo risulta efficace nel caso dovessimo modificare diverse volte la DSDT.
==== Stampanti USB ====
* ''Inserire eventuali guide su come far funzionare stampanti con porta USB''


Scaricare la patch a questo indirizzo:
==== Stampanti con porta parallela ====
<pre>http://gaugusch.at/kernel.shtml</pre>
* [[Introduzione all'installazione di stampanti con porta parallela]]


Patchate il kernel, spostandovi nella directory dove sono presenti i sorgenti:
==== Stampanti bluetooth ====
<pre>$: cd /usr/src/linux-2.6.8
* [[Introduzione all'installazione di stampanti bluetooth]]
$: patch -p1 < / percorso_dove_avete_salvato_la_patch</pre>


� necessario assicurarsi che i seguenti moduli (ramdisk and initrd ) siano compilati staticamente nel kernel:
=== Scanner ===
<pre>Device Drivers --->
* [[Epson Perfection 2480 photo - usb scanner]]
    Block Devices --->
* ''Inserire qui eventuali altre guide su come far funzionare scanner con Debian''
        <*> RAM disk support
        [*] Initial RAM disk (initrd) support</pre>


Inoltre � necessario controllare che l�opzione '''Read DSDT from initrd''' sia selezionata nel menu delle opzioni ACPI:
=== Palmari e cellulari ===
<pre>Power management options (ACPI, APM) --->
* [[Debian e Nokia 7210: uso di gnokii e gestione degli sms]]
    ACPI (Advanced Configuration and Power Interface) Support --->
* [[UMTS/GPRS PCMCIA card (3g)]]
        [*] Read DSDT from initrd</pre>
* [[Usare lcd4linux con un Palm]]


Se queste opzioni non sono abilitate, abilitarle e ricompilare il kernel. Se sono gi� abilitate non � necessario ricompilare il kernel. Ora il kernel � pronto ad accettare la DSDT con initrd. � necessario preparare initrd:
=== Altro hardware ===
<pre>$: echo "INITRDDSDT123DSDT123" >> /boot/initrd-kernel-2.8.6.img
* [[I2c e lm-sensors|'''I2c e lm-sensors''': usare i sensori della scheda madre]]
$: cat DSDT.aml >> /boot/initrd-kernel-2.6.8.img</pre>


Riavviare e controllare se il supporto ACPI funziona. Ricordarsi di aggiornare i bootloader!
==Portatili==
===Laptop Debianizzati===
Troverete di seguito i resoconti d'installazione di Debian su dei portatili:


==Siti ufficiali dei progetti==
* [[Debian on an HP nx8220 | Debian on an HP nx8220]]
* http://acpi.sourceforge.net
* [[Debian on a presario 2141EU | Compaq Presario 2100 (2141EU)]]
* http://www.acpi.info/
* [[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===
Autore: [[Utente:Net deity|Net deity]]
* [[Powernowd: CpuScaling per AMD]]
* [[Cpufreqd: Cpuscaling per Intel Pentium M]]
* [[ACPI e DSDT]]
* Inserire qui anche link a risorse in italiano sui portatili
 
==Debian Live==
* [[Rimasterizzare una knoppix]]
* [[Damn Small Linux su chiavetta usb]]
 
==Crittografia==
* [[Crittografia e Steganografia - L'Arte di nascondere le informazioni]]
* [[Chiavi simmetriche e chiavi pubbliche]]
 
==Varie==
* [[Debian Fun]]