Old:Debian: software suspend e ibernazione per laptops: differenze tra le versioni

nessun oggetto della modifica
m (Aggiunto in Categoria:Laptop)
Nessun oggetto della modifica
Riga 1: Riga 1:
[[Categoria:Sistema]]
[[Categoria:Sistema]]
[[Categoria:Laptop]]
[[Categoria:Laptop]]
=Introduzione=
Questa guida tratta la configurazione delle modalità di sospensione ed ibernazione del nostro sistema operativo in esecuzione su laptop e notebook di recente generazione.
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=
=Prerequisiti=
I prerequisiti per poter abilitare la sospensione e l' ibernazione del nostro portatile sono semplici:
I prerequisiti per poter abilitare la sospensione e l'ibernazione del nostro portatile sono semplici:
* i sorgenti di un kernel recente e la capacità compilarlo;
* i sorgenti di un kernel recente e la capacità compilarlo;
* alcuni programmi utili
* alcuni programmi utili
* spazio sufficiente su disco
* spazio sufficiente su disco.


=Software necessario=
=Software necessario=
Dobbiamo procurarci alcuni programmi:
Dobbiamo procurarci alcuni programmi:
* hibernate (il programma a linea di comando che gestisce l' ibernazione)
* hibernate (il programma a linea di comando che gestisce l'ibernazione)
* suspend2 (una patch per il kernel)
* 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.
* eventualmente i tool di gestione del risparmio energetico per il nostro Desktop Environment. In questa guida farò riferimento espressamente a Gnome Power Management (GPM), ma presumo il tutto sia facilmente adattabile ad altri programmi.


==Hibernate==
==Hibernate==
Procediamo con l' installare hibernate. Il tutto si risolve con il classico:
Procediamo con l'installare hibernate. Il tutto si risolve con il classico:
<pre># apt-get install hibernate vlock</pre>
<pre># apt-get install hibernate vlock</pre>


Riga 65: Riga 66:
Ora che abbiamo scaricato e decompresso la patch, dobbiamo applicarla al nostro kernel, quello che intendiamo usare o usiamo quotidianamente.
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:
Presumendo che la versione corrente del kernel sia linkata alla directory <code>'''/usr/src/linux'''</code> procederemo come segue:
<pre>koky:/usr/src# cd linux
<pre>koky:/usr/src# cd linux
koky:/usr/src/linux# ../suspend2-2.2.5-for-2.6.16.9/apply
koky:/usr/src/linux# ../suspend2-2.2.5-for-2.6.16.9/apply
Riga 85: Riga 86:


===Configurare il kernel===
===Configurare il kernel===
Le schermate che seguono mostrano cosa abilitare all' interno del kernel.
Le schermate che seguono mostrano cosa abilitare all'interno del kernel.


* Attraverso il menu "Suspend2" possiamo accedere alle varie sezioni utili:
* Attraverso il menu "Suspend2" possiamo accedere alle varie sezioni utili:
[[image:Menuconfig-01.png]]
[[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.
* 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]]
[[image:Menuconfig-02.png]]


Riga 99: Riga 100:
[[image:Menuconfig-04.png]]
[[image:Menuconfig-04.png]]


Ora possiamo dare il via alla compilazione e attendere fiduciosi ;-)
Ora possiamo dare il via alla compilazione e attendere fiduciosi. ;-)
===Test del kernel===
===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.
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.
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 è:
Quello che dovremmo leggere a video grossomodo è:
Riga 121: Riga 122:


==Scelta della modalità di sospensione==
==Scelta della modalità di sospensione==
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.
La scelta della modalità di sospensione (swap o file) dipende fondamentalmente dallo spazio che abbiamo a disposizione. Se vogliamo utilizzare 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===
===Partizione di swap===
Riga 127: Riga 128:


===File di swap===
===File di swap===
Se abbiamo optato per utilizzare un file anzichè una partizione dobbiamo affrontare qualche passaggio supplementare.  
Se abbiamo optato per utilizzare un file anziché una partizione dobbiamo affrontare qualche passaggio supplementare.  


====Creazione del file====
====Creazione del file====
Riga 134: Riga 135:
koky:~# mkswap /usr/local/swap
koky:~# mkswap /usr/local/swap
koky:~# swapon /usr/local/swap</pre>
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.
In questo modo abbiamo creato da zero il file <code>/usr/local/swap</code>, con dimensione di 1Gb, abbiamo creato al suo interno la struttura di swap e l'abbiamo attivato.


====Headers====
====Headers====
Ora dobbiamo reperire l' indirizzo degli headers che passeremo al kernel in fase di avvio:
Ora dobbiamo reperire l'indirizzo degli headers che passeremo al kernel in fase di avvio:
<pre>koky:~# cat /proc/suspend2/headerlocations
<pre>koky:~# cat /proc/suspend2/headerlocations
For swapfile `/usr/local/swap              `, use resume2=swap:/dev/hda3:0x2da2b4@4096</pre>
For swapfile `/usr/local/swap              `, use resume2=swap:/dev/hda3:0x2da2b4@4096</pre>
Riga 149: Riga 150:
e mettere mano alla nostra configurazione di Xorg e aggiungere alcune direttive:
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"
* all'interno della sezione <code>"Device"</code>, 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"
         Identifier      "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
         Driver          "i810"
         Driver          "i810"
Riga 155: Riga 156:
         Option          "VBERestore"            "1"
         Option          "VBERestore"            "1"
EndSection</nowiki></pre>
EndSection</nowiki></pre>
* Alla fine del file xorg.conf creiamo questa nuova sezione:<pre><nowiki>Section "ServerFlags"
* Alla fine del file <code>xorg.conf</code> creiamo questa nuova sezione:<pre><nowiki>Section "ServerFlags"
         Option          "BlankTime"    "0"
         Option          "BlankTime"    "0"
EndSection</nowiki></pre>
EndSection</nowiki></pre>
Riga 163: Riga 164:
==Configurazione del bootloader==
==Configurazione del bootloader==
Ora possiamo passare alla configurazione del bootloader, in modo da passare al nostro kernel i parametri corretti per la sospensione.
Ora possiamo passare alla configurazione del bootloader, in modo da passare al nostro kernel i parametri corretti per la sospensione.
 
{{Warningbox|Questa procedura è riferita a GRUB e '''non''' a GRUB2}}
La sintassi corretta prevede che alla direttiva '''kernel''' di menu.lst di Grub venga aggiunta una tra le due opzioni seguenti:
La sintassi corretta prevede che alla direttiva <code>'''kernel'''</code> di <code>menu.lst</code>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/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!
* <pre>resume2=swap:/dev/hda3:0x4478d8</pre> nel caso di file di swap. usate il vostro!


=Permessi e gruppi=
=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'''.
Affinché la sospensione e l'ibernazione siano utilizzabili dall'utente con cui generalmente accediamo al sistema, e che quindi anche le utility del nostro ambiente desktop possano farlo, è necessario aggiungere l'utente al gruppo '''powerdev'''.


E' sufficiente questo comando:
E' sufficiente questo comando:
1 508

contributi