|
|
Riga 1: |
Riga 1: |
| [[Categoria:Sistema]] | | Il mio nome � Paolo Canavese, sono nato in una afosa notte di agosto dell' ormai lontano [http://it.wikipedia.org/wiki/1975 1975] e abito a [http://it.wikipedia.org/wiki/Boissano Boissano] in provincia di [http://it.wikipedia.org/wiki/Savona Savona]. |
| Questa guida tratta la configurazione delle modalit� di sospensione ed ibernazione del nostro sistema operativo in esecuzione su laptop e notebook di recente generazione.
| |
|
| |
|
| =Prerequisiti=
| | '''Coordinate''':<br/> |
| I prerequisiti per poter abilitare la sospensione e l' ibernazione del nostro portatile sono semplici:
| | * [mailto:keltik@autistici.org keltik at autistici dot org] |
| * i sorgenti di un kernel recente e la capacit� compilarlo; | | * [http://www.jaxx.it/keltik il mio blog] |
| * alcuni programmi utili | |
| * spazio sufficiente su disco
| |
|
| |
|
| =Software necessario= | | ==Discussioni== |
| Dobbiamo procurarci alcuni programmi:
| | * [[Discussioni_utente:Keltik|Le mie discussioni]] |
| * hibernate (il programma a linea di comando che gestisce l' ibernazione)
| |
| * suspend2 (una patch per il kernel)
| |
| * eventualmente i tools di gestione del risparmio energetico per il nostro Desktop Environment. In questa guida far� riverimento espressamente a Gnome Power Management (GPM), ma presumo il tutto sia facilmente adattabile ad altri programmi.
| |
|
| |
|
| ==Hibernate== | | ==Le mie guide (questo wiki)== |
| Procediamo con l' installare hibernate. Il tutto si risolve con il classico:
| | # [[Usare Fotocamere Digitali (usb-storage)]] |
| <pre># apt-get install hibernate vlock</pre>
| | # [[APT uso avanzato: mixare releases diverse]] |
| | # [[Logging su MySQL]] |
| | # [[Kernel 2.6 su Debian Woody]] |
| | # [[Debian e iptables]] |
| | # [[L' Universo Debian]] ''traduzione'' |
| | # [[Introduzione all' Apt System]] |
| | # [[Configurare il server X in Debian GNU/Linux]] |
| | # [[Impostare la lingua italiana per Gnome]] |
| | # [[Impostare e modificare data e ora]] |
| | # [[Impostare e modificare il layout della tastiera]] |
| | # [[Impedire l' aggiornamento di un pacchetto]] |
| | # [[Debian e il controllo di servizi e demoni]] ''in stesura (stub)'' |
| | # [[Parametri a run-time per Netfilter]] |
| | # [[Creare un Repository Debian]] |
| | # [[Intel PRO/Wireless 2200BG]] |
| | # [[Debian on a HP Compaq NX6110]] |
| | # [[Debian MapServer/MapScript]] |
| | # [[Installare OpenOffice2 su Debian Etch]] |
| | # [[Installare pacchetti in automatico: auto-apt]] ''todo'' |
| | # [[Cpufreqd: Cpuscaling per Intel Pentium M]] |
| | # [[DVD Backup: xDVDShrink per Debian]] |
| | # [[Privoxy: navigazione sicura a prova di spam]] |
| | # [[Debian e Nokia 7210: uso di gnokii e gestione degli sms]] |
| | # [[Debian: accelerare GTK con Cairo e Glitz]] |
| | # [[Debian: software suspend e ibernazione per laptops]] |
|
| |
|
| ==Suspend2== | | ==Collaborazioni (questo wiki)== |
| ===Scaricare la patch===
| | # [[Condividere la connessione a internet]] - ''me & [[Utente:TheNoise|TheNoise]]'' |
| Dal sito di [http://www.suspend2.net/ Suspend2], scarichiamo la versione pi� recente della patch. Al momento di scrivere questa guida il kernel pi� recente � il 2.6.16.19 e la patch Suspend2 � la 2.2.5.
| | # [[LAMP: Linux, Apache, MySQL e PHP]] - ''me & [[Utente:MaXeR|MaXeR]]'' |
| | # [[Munin]] - ''me & [[Utente:MaXeR|MaXeR]]'' |
|
| |
|
| Ecco come procedere.
| | ==Altri Documenti (questo wiki)== |
| ====Download====
| | # [[Il Progetto GNU]] |
| <pre>koky:~# cd /usr/src/
| | # [[Software Libero#Libri OnLine| Software Libero: Libri OnLine]] |
| koky:/usr/src#
| | # [[Free as in Freedom]] |
| koky:/usr/src# wget http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2
| | # [[Cos'� il Software libero]] ''(definizione del Software Libero) (ToDo)'' |
| --12:40:13-- http://www.suspend2.net/downloads/all/suspend2-2.2.5-for-2.6.16.9.tar.bz2
| | # [[Netiquette e Regole]] |
| => `suspend2-2.2.5-for-2.6.16.9.tar.bz2'
| |
| Risoluzione di www.suspend2.net in corso... 212.236.250.103
| |
| Connessione a www.suspend2.net|212.236.250.103:80... connesso.
| |
| HTTP richiesta inviata, aspetto la risposta... 200 OK
| |
| Lunghezza: 104,327 (102K) [application/x-bzip2]
| |
|
| |
|
| 100%[====================================>] 104,327 77.44K/s
| | ==Contributi (questo wiki)== |
| | *[[Speciale:Contributions/keltik|Dove ho messo mano]] |
|
| |
|
| 12:40:17 (77.22 KB/s) - "suspend2-2.2.5-for-2.6.16.9.tar.bz2" salvato [104327/104327]
| | ==Altri progetti e collaborazioni== |
| | # [http://www.debianuniverse.com DebianUniverse] - cura e traduzione degli articoli: |
| | ## [http://www.debianuniverse.com/readonline/chapter/01/it L' universo Debian] |
| | ## [http://www.debianuniverse.com/readonline/chapter/02/it Debian, la distribuzione 3 in 1] |
| | ## [http://www.debianuniverse.com/readonline/chapter/03/it Installare Debian] |
| | ## [http://www.debianuniverse.com/readonline/chapter/04/it Installazione del sistema X Window] |
| | ## [http://www.debianuniverse.com/readonline/chapter/05/it Introduzione alla gestione Debian dei pacchetti software] |
|
| |
|
| koky:/usr/src#</pre>
| | ==Files== |
| | # Configurazione Laptop HP Compaq NX 6110 |
| | ## [[kernel config per HP Compaq NX 6110]] ''testata su 2.6.12.6 e 2.6.13.3'' |
| | ## [[Kernel_config per HP Compaq NX 6110 2.6.16|kernel config per HP Compaq NX 6110]] ''testata su 2.6.16'' |
| | ## [[configurazione di Xorg per HP Compaq NX 6110]] |
|
| |
|
| ====Decompressione====
| |
| <pre>koky:/usr/src# tar xvjf suspend2-2.2.5-for-2.6.16.9.tar.bz2
| |
| suspend2-2.2.5-for-2.6.16.9/
| |
| suspend2-2.2.5-for-2.6.16.9/apply
| |
| suspend2-2.2.5-for-2.6.16.9/Changelog.txt
| |
| suspend2-2.2.5-for-2.6.16.9/unapply
| |
| suspend2-2.2.5-for-2.6.16.9/2000-workqueue-freezing.patch
| |
| suspend2-2.2.5-for-2.6.16.9/features
| |
| suspend2-2.2.5-for-2.6.16.9/2020-kmod-freeze.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3030-reboot-handler-hook.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3020-cryptoapi-deflate.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3050-init-hooks.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3060-reset-kswapd-max-order-after-resume.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3080-dynamic-pageflags.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3070-clear-swapfile-bdev-in-swapoff.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3040-proc-acpi-sleep-activate-hook.patch
| |
| suspend2-2.2.5-for-2.6.16.9/2010-suspend2-freezer-upgrade.patch
| |
| suspend2-2.2.5-for-2.6.16.9/3000-crypto-api-lzf-support.patch
| |
| suspend2-2.2.5-for-2.6.16.9/9900-Suspend2.patch
| |
| koky:/usr/src#</pre>
| |
|
| |
|
| ===Applicare la patch===
| |
| Ora che abbiamo scaricato e decompresso la patch, dobbiamo applicarla al nostro kernel, quello che intendiamo usare o usiamo quotidianamente.
| |
|
| |
|
| Presumendo che la versione corrente del kernel sia linkata alla directory '''/usr/src/linux''' procederemo come segue:
| |
| <pre>koky:/usr/src# cd linux
| |
| koky:/usr/src/linux# ../suspend2-2.2.5-for-2.6.16.9/apply
| |
| Applying 2000-workqueue-freezing.patch ...
| |
| Applying 2010-suspend2-freezer-upgrade.patch ...
| |
| Applying 2020-kmod-freeze.patch ...
| |
| Applying 3000-crypto-api-lzf-support.patch ...
| |
| Applying 3020-cryptoapi-deflate.patch ...
| |
| Applying 3030-reboot-handler-hook.patch ...
| |
| Applying 3040-proc-acpi-sleep-activate-hook.patch ...
| |
| Applying 3050-init-hooks.patch ...
| |
| Applying 3060-reset-kswapd-max-order-after-resume.patch ...
| |
| Applying 3070-clear-swapfile-bdev-in-swapoff.patch ...
| |
| Applying 3080-dynamic-pageflags.patch ...
| |
| Applying 9900-Suspend2.patch ...
| |
| All happy!
| |
| koky:/usr/src/linux#</pre>
| |
| Lo script ci informa di aver applicato correttamente la patch. Ora possiamo passare a compilare il nostro kernel!
| |
|
| |
|
| ===Configurare il kernel===
| | ---- |
| Le schermate che seguono mostrano cosa abilitare all' interno del kernel.
| |
| | |
| * Attraverso il menu "Suspend2" possiamo accedere alle varie sezioni utili:
| |
| [[image:Menuconfig-01.png]]
| |
| | |
| * La sezione "Image Storage" permette di specificare il writer da utilizzare. Il writer permette di salvare lo stato del sistema all' interno della partizione di scambio (swap) oppure all' interno di un qualsiasi file del file system. La prima opzione � senz'altro pi� rapida, mentre la seconda � indicata nel caso la partizione di swap sia di dimensioni insufficienti (per la sospensione di un sistema con ambiente grafico direi che il minimo indispensabile � di circa 700/800Mb). All' interno di "Default resume device name" indichiamo la partizione di swap che vogliamo utilizzare.
| |
| [[image:Menuconfig-02.png]]
| |
| | |
| * Abbiamo bisogno di abilitare la crittografia LZF. Dalla sezione "CryptoAPI" (vedi screenshot)
| |
| [[image:Menuconfig-03.png]]
| |
| | |
| * Selezioniamo la libreria '''LZF'''
| |
| [[image:Menuconfig-04.png]]
| |
| | |
| Ora possiamo dare il via alla compilazione e attendere fiduciosi ;-)
| |
| ===Test del kernel===
| |
| Installiamo nel solito modo il nuovo kernel e riavviamo la macchina senza ulteriori configurazioni: quel che ci preme ora consiste nel verificare che Suspend2 sia stato correttamente compilato prima di procedere oltre.
| |
| | |
| Riavviamo il sistema: durante l' avvio dovremmo vedere alcuni messaggi riguardanti Suspend2. Possiamo anche utilizzare '''dmesg''' per controllare con pi� calma.
| |
| | |
| Quello che dovremmo leggere a video grossomodo �:
| |
| <pre>koky:~# dmesg |grep Suspend
| |
| Suspend2 Core.
| |
| Suspend2 Compression Driver loading.
| |
| Suspend2 Encryption Driver loading.
| |
| Suspend2 Swap Writer loading.
| |
| Suspend2 FileWriter loading.
| |
| Suspend2 2.2.5: Swapwriter: Signature found.
| |
| Suspend2 2.2.5: Resuming enabled.
| |
| koky:~#</pre>
| |
| | |
| Se tutto � andato bene possiamo proseguire.
| |
| | |
| =Configurare il sistema=
| |
|
| |
|
| ==Scelta della modalit� di sospensione==
| | '''Sentiti libero di ampliare modificare e/o correggere i contenuti di questo wiki!!''' |
| La scelta della modalit� di sospensione (swap o file) dipende fondamentalmente dallo spazio che abbiamo a disposizione. Se vogliamo utlizzare la partizione di swap come area di memorizzazione, sarebbe opportuno che questa avesse di circa 1Gb. Suspend2 cerca comunque di liberare quanta pi� memoria � possibile prima di sospendere il sistema. Nel mio caso specifico, avendo una partizione di swap di circa 300Mb ho scelto forzatamente l' utilizzo di un file di scambio. Ora vedremo entrambe le configurazioni.
| |
| | |
| ===Partizione di swap===
| |
| Nel caso in cui abbiamo scelto di usare una partizione di swap, � sufficiente che annotiamo il nome della partizione e proseguiamo oltre.
| |
| | |
| ===File di swap===
| |
| Se abbiamo optato per utilizzare un file anzich� una partizione dobbiamo affrontare qualche passaggio supplementare.
| |
| | |
| ====Creazione del file====
| |
| Per prima cosa creiamo il file in questione:
| |
| <pre>koky:~# dd if=/dev/zero of=/usr/local/swap bs=1M count=1000
| |
| koky:~# mkswap /usr/local/swap
| |
| koky:~# swapon /usr/local/swap</pre>
| |
| In questo modo abbiamo creato da zero il file /usr/local/swap, con dimensione di 1Gb, abbiamo creato al suo interno la struttura di swap e l' abbiamo attivato.
| |
| | |
| ====Headers====
| |
| Ora dobbiamo reperire l' indirizzo degli headers che passeremo al kernel in fase di avvio:
| |
| <pre>koky:~# cat /proc/suspend2/headerlocations
| |
| For swapfile `/usr/local/swap `, use resume2=swap:/dev/hda3:0x2da2b4@4096</pre>
| |
| Ovviamente voi otterrete un valore diverso: annotatelo!
| |
| | |
| ==Problemi con il server X==
| |
| La sospensione del sistema mentre � attiva una sessione del server pu� causare il blocco del display: al ritorno dalla sospensione lo schermo apparir� nero e dovremo necessariamente riavviare.
| |
| | |
| Per ovviare a questo problema dobbiamo scaricare il programma '''vbetool''' con il comando:
| |
| <pre># apt-get install vbetool</pre>
| |
| e mettere mano alla nostra configurazione di Xorg e aggiungere alcune direttive:
| |
| | |
| * All' interno della sezione "Device", che riguarda la scheda grafica aggiungiamo <pre> Option "VBERestore" "1"</pre>in modo che la sezione sia qualcosa di simile a:<pre><nowiki>Section "Device"
| |
| Identifier "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
| |
| Driver "i810"
| |
| BusID "PCI:0:2:0"
| |
| Option "VBERestore" "1"
| |
| EndSection</nowiki></pre>
| |
| * Alla fine del file xorg.conf creiamo questa nuova sezione:<pre><nowiki>Section "ServerFlags"
| |
| Option "BlankTime" "0"
| |
| EndSection</nowiki></pre>
| |
| | |
| Riavviamo la sessione grafica e tutto funzioner� a dovere.
| |
| | |
| ==Configurazione del bootloader==
| |
| Ora possiamo passare alla configurazione del bootloader, in modo da passare al nostro kernel i parametri corretti per la sospensione.
| |
| | |
| La sintassi corretta prevede che alla direttiva '''kernel''' di menu.lst di Grub venga aggiunta una tra le due opzioni seguenti:
| |
| * <pre>resume2=swap:/dev/hda4</pre> nel caso di partizione di swap. usate la vostra!
| |
| * <pre>resume2=swap:/dev/hda3:0x4478d8</pre> nel caso di file di swap. usate il vostro!
| |
| | |
| =Permessi e gruppi=
| |
| Affinch� la sospensione e l' ibernazione siano utilizzabili dall' utente con cui generalmente accediamo al sistema, e che quindi anche le utilities del nostro ambiente desktop possano parlo, � necessario aggiungere l' utente al gruppo '''powerdev'''.
| |
| | |
| E' sufficiente questo comando:
| |
| <pre>koky:~# adduser nome_utente powerdev</pre>
| |
| | |
| | |
| | |
| Happy suspending! ;-)
| |
| | |
| ----
| |
| Autore: [[Utente:Keltik|keltik]] 08:56, 13 Giu 2006 (EDT)<br />
| |
| Aggiornato: [[Utente:Keltik|keltik]] 05:27, 20 Giu 2006 (EDT)
| |