Difference between revisions of "TuxOnIce (Italiano)"

From ArchWiki
Jump to: navigation, search
(use i18n template)
(I changed the hooks from 'pata sata scsi' to 'block', which is requested on the Arch wiki requests page.)
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
[[Category:Power management (Italiano)]]
 
[[Category:Power management (Italiano)]]
 
[[Category:Laptops (Italiano)]]
 
[[Category:Laptops (Italiano)]]
[[Category:HOWTOs (Italiano)]]
+
[[en:TuxOnIce]]
{{i18n|TuxOnIce}}
+
 
+
 
Questa è una guida veloce all'installazione di [http://www.tuxonice.net TuxOnIce] (conosciuto anche come suspend2), un framework avanzato per la sospensione/ibernazione, che supporta l'ibernazione in una partizione swap o in un normale file con una compressione veloce LZO. Visita il sito di TuxOnIce per una lista completa delle [http://www.tuxonice.net/features caratteristiche].
 
Questa è una guida veloce all'installazione di [http://www.tuxonice.net TuxOnIce] (conosciuto anche come suspend2), un framework avanzato per la sospensione/ibernazione, che supporta l'ibernazione in una partizione swap o in un normale file con una compressione veloce LZO. Visita il sito di TuxOnIce per una lista completa delle [http://www.tuxonice.net/features caratteristiche].
  
 
== Preparazione del kernel ==
 
== Preparazione del kernel ==
 +
TuxOnIce consiste in una patch del kernel, più un'interfaccia utente aggiuntiva. Solo la patch è necessaria, l'interfaccia utente fornisce un'interfaccia testuale o grafica durante il ciclo di sospensione/ibernazione.
  
TuxOnIce consiste in una patch del kernel, più un'interfaccia utente aggiuntiva. Solo la patch è necessaria, l'interfaccia utente fornisce un'interfaccia testuale o grafica durante il ciclo di sospensione/ibernazione. Puoi usare il pacchetto [http://aur.archlinux.org/packages.php?ID=15224 kernel26-ice] presente in [[AUR]]. Questo automatizza la procedura di patch, compilazione ed installazione del kernel, e la generazione della initramfs con un hook adeguato. Se usi [[Yaourt]] la procedura è molto semplice:
+
È possibile usare il pacchetto {{AUR|linux-ice}} o {{AUR|linux-pf}} presenti su [[AUR (Italiano)|AUR]]. Questo automatizza la procedura di patch, compilazione ed installazione del kernel, e la generazione della initramfs con un hook adeguato. In questo modo si ha un buon controllo del processo di installazione e volendo si può personalizzare apportando i cambiamenti voluti.
  
# yaourt -S kernel26-ice
+
Altrimenti, sarà necessario applicare la patch, configurare e compilare il proprio kernel, visitare le pagine [[Kernel Compilation From Source]] e [[Kernel Compilation with ABS]] per maggiori informazioni. Le patch necessarie possono essere ottenute presso il sito TuxOnIce di cui sopra.
  
Puoi anche costruire il pacchetto manualmente, guarda [http://wiki.archlinux.org/index.php/AUR_User_Guidelines_%28Italiano%29#Installare_pacchetti_da_AUR Installare pacchetti da AUR] per ulteriori informazioni. Altrimenti, devi applicare la patch al tuo kernel, configurarlo e compilarlo. Visita [http://wiki.archlinux.org/index.php/Kernel_Compilation_From_SourceKernel Compilation From Source] e [http://wiki.archlinux.org/index.php/Kernel_Compilation_with_ABS Kernel Compilation with ABS] per istruzioni.
+
Ora è necessario installare il pacchetto {{aur|hibernate-script}} da [[AUR (Italiano)|AUR]] che verrà richiamato da TuxOnIce. Questo pacchetto è lo script ufficiale fornito dal team di TuxOnIce.
  
In seguito, installa il pacchetto hibernate-script dal repository Extra che useremo per richiamare TuxOnIce. Hibernate-script è lo script di default
+
I file di configurazione di hibernate-script sono in {{ic|/etc/hibernate}}.
sviluppato dal Team di TuxOnIce.
+
  
# pacman -S hibernate-script
+
== Ricreare initramfs ==
  
I file di configurazione per hibernate-script si trovano in /etc/hibernate.
+
Se si vuole usare un initramfs (cosa che Arch fa di default) è necessario aggiungere "resume" agli HOOKS di [[mkinitcpio (Italiano)|mkinitcpio]]. In più, se si vuole usare la compressione veloce LZO aggiungere "lzo" all'array MODULES dello stesso file.
 +
Un esempio di {{ic|/etc/mkinitpio.conf}}:
 +
MODULES="lzo"
 +
HOOKS="base udev autodetect block resume filesystems"
 +
Ricreare ora l'initramfs:
 +
# mkinitcpio -p linux-ice
 +
o
 +
# mkinitcpio -p linux-pf
  
== Configurazione del Boot Manager ==
+
== Configurazione del Boot Loader ==
 +
Prima che si possa usare la funzione di sospensione, bisogna aggiungere il parametro {{ic|resume}} ai parametri passati al kernel nel file di configurazione del boot loader (se si sta usando un sistema con una partizione swap "specificata" nella configurazione del kernel questo passaggio non è necessario). Questo punterà alla partizione di swap o al file di ibernazione.
  
Prima che tu possa usare la funzione di sospensione, devi aggiungere il parametro "resume" ai parametri che passi al kernel nel  file di configurazione del tuo boot manager. Questo punterà alla partizione di swap o al file di ibernazione.
+
=== Ibernazione in una partizione di Swap ===
 +
{{Note|A partire l'ultima versione di TuxOnIce (3.0.99.44), aggiungere il parametro "resume" al kernel non è più necessario, sarà rilevato automaticamente se l'unità di swap contiene un'immagine avviabile. Ci sarà solo bisogno di impostare il metodo di swap adeguatamente. Per maggiori informazioni, visitare [http://www.tuxonice.net/].}}
  
=== Suspend To Swap Partition (Ibernazione in una partizione di Swap) ===
+
Quindi configurare il metodo swap (assicurarsi che sia specificata la partizione giusta) in {{ic| /etc/hibernate/tuxonice.conf}}
  
Se la tua partizione di swap è per esempio /dev/sda3, devi aggiungere "resume=swap:/dev/sda3" come parametro del kernel nel tuo {{Filename | menu.lst/grub.cfg}} o {{Filename | lilo.conf}}. Per esempio
+
SuspendDevice swap:/dev/sda3
  
title Arch Linux Ice
+
=== Ibernazione su un file di swap ===
kernel /boot/vmlinuz26-ice root=/dev/sda2 ro resume=swap:/dev/sda3
+
{{Note|L'autorilevamento, come detto in precedenza, non sembra funzionare con i file di swap; sarà dunque necessario impostare manualmente il parametro "resume" del kernel.}}
initrd /boot/kernel26-ice.img
+
  
Quindi decommenta e configura il metodo swap in {{Filename | /etc/hibernate/suspend2.conf}}
+
Se si utilizza un file di swap invece di una partizione di swap, sarà necessario passare il percorso dei suoi header a TuxOnIce. TuxOnIce è in grado di elencare tutti gli header di swap disponibile.
  
  SuspendDevice swap:/dev/sda3
+
  cat /sys/power/tuxonice/swap/headerlocations
  
=== Suspend To File (Ibernazione in un file) ===
+
Utilizzare la stringa data così com'è in {{ic|/etc/hibernate/tuxonice.conf}} e passarla al kernel come parametro "resume".
  
Per il File Allocator, devi preparare un file per l'ibernazione. Prima configura {{Filename | /etc/hibernate/suspend2.conf}}, decommenta l'opzione "FilewriterLocation":
+
SuspendDevice swap:/dev/sda7:0x1087070
 +
 
 +
Aggiungere la seguente riga nei parametri del kernel nel file di configurazione del bootloader:
 +
 
 +
resume=swap:/dev/sda7:0x1087070
 +
 
 +
{{Note|Specificare il dispositivo di "resume" per mezzo degli UUID dovrebbe funzionare, ma non è del tutto garantito. Questo potrebbe essere un problema di TuxOnIce o di mkinitcpio. Specificando {{ic|/dev/sdxx}} dovrebbe invece funzionare in tutti i casi.}}
 +
 
 +
===Sospensione su file===
 +
Per l'allocatore di file, si dovrà preparare un file di ibernazione. Questo è diverso dal file di swap standard dato che questo file viene utilizzato SOLO per l'ibernazione e non come file di swap del sistema generale. Il metodo precedente è raccomandata per essere più efficiente in termini di spazio su disco. Configurare il file {{ic|/etc/hibernate/tuxonice.conf}} e decommentare l'opzione "FilewriterLocation":
  
 
  FilewriterLocation /suspend_file 1000
 
  FilewriterLocation /suspend_file 1000
  
1000 è la quantità di spazio su disco riservata per il file d'ibernazione, in questo caso 1000 MegaBytes. Normalmente una quantità intorno al 50% -
+
1000 è la quantità di spazio su disco riservato per il file di ibernazione, in questo caso 1000 megabyte. Di solito un valore pari al 50%-75% della quantità totale di RAM è sufficiente.
75% della quantità totale di RAM è sufficiente. In seguito, esegui il seguente comando per creare il file di ibernazione.
+
 
 +
Successivamente, eseguire il seguente comando per creare il file di ibernazione:
  
 
  # hibernate --no-suspend
 
  # hibernate --no-suspend
  
Dai uno sguardo a /sys/power/tuxonice/resume per vedere cosa passi al tuo kernel. Dovresti leggere qualcosa come "file:/dev/sda2:0x10011f". In questo
+
Dare un'occhiata a {{ic|/sys/power/tuxonice/resume}} per vedere cosa passare al kernel. Si dovrebbe vedere qualche file del genere:{{ic|1=file:/dev/hda7:0x10011f}}, nel qual caso si dovrebbe aggiungere {{ic|1=resume=file:/dev/hda7:0x10011f}} come parametro del kernel nel file {{ic|/etc/lilo.conf}} (per [[LILO]]) o {{ic|/boot/grub/menu.lst}}  (per [[GRUB Legacy (Italiano)|GRUB]]) o {{ic|/boot/grub/menu.cfg}} (per [[GRUB2 (Italiano)|GRUB2]]).
caso aggiungi "resume=file:/dev/sda2:0x10011f" ai tuoi parametri del kernel in {{Filename | lilo.conf}} o {{Filename | menu.lst/grub.cfg}}.
+
  
== Rigenerazione Initramfs ==
+
== Sospensione e Resuming ==  
 +
Con gli hibernate-script, il metodo di ibernazione preferito può essere configurato nel file {{ic|/etc/hibernate/hibernate.conf}}. Se si elencano diversi metodi, il primo sarà quello utilizzato. Notare che ''hibernate'' può essere anche usato con [[Suspend to RAM]] o vanilla swsusp, ma questo non è parte della guida.
  
{{Note|Il resuming non funziona con mkinitcpio 0.5.25 (o 0.5.26) per un bug in {{Filename |/lib/initcpio/hooks/resume}}. Effettua il downgrade alla versione 0.5.24 o sostituisci la 6^ linea del file {{Filename |/lib/initcpio/hooks/resume}} con
+
Per TuxOnIce usare:
resumedevice=${resume#*:}
+
resumedevice=${resumedevice%:*}
+
if [-n "${resumedevice}" ] && poll_device "${resumedevice}" ${rootdelay}; then
+
}}
+
  
Se usi l'initramfs, hai bisogno di aggiungere l'hook ''resume'' nell'array HOOKS nel file di configurazione di mkinitcpio. In più, se vuoi velocizzare il processo usando la compressione LZO, aggiungi il modulo lzo nell'array MODULES sempre nel file {{Filename |/etc/mkintcpio.conf}}:
+
TryMethod tuxonice.conf
  
MODULES="lzo"
+
Le opzioni specifiche per TuxOnIce sono nel file {{ic|/etc/hibernate/tuxonice.conf}}. Assicurarsi che le seguenti righe siano decommentate e configurate adeguatamente:
HOOKS="base udev autodetect pata scsi sata resume filesystems"
+
  
Rigenera quindi l'initramfs:
+
UseTuxOnIce yes
 +
Compressor lzo
  
# mkinitcpio -p kernel26-ice
+
Ci sono altre opzioni aggiuntive e trucchi che possono essere impostati in {{ic|/etc/hibernate/tuxonice.conf}} e {{ic|/etc/hibernate/common.conf}},
 +
informazioni più dettagliate possono essere trovate sul sito ufficiale di [http://www.tuxonice.net/HOWTO-4.html TuxOnIce] o nella pagina [[Suspend to Disk]] di questo wiki.
  
== Sospensione e Resuming ==
+
Provare quindi l'ibernazione di TuxOnIce con questo comando:
  
Con gli hibernate-script, il tuo metodo di ibernazione preferito può essere configurato nel file {{Filename |/etc/hibernate/hibernate.conf}}. Se elenchi diversi
+
# hibernate -F /etc/hibernate/tuxonice.conf
metodi, il primo sarà quello utilizzato. Nota che hibernate può essere anche usato con [http://wiki.archlinux.org/index.php/Suspend_to_RAM Suspend To Ram] o vanilla swsusp, ma questo non è parte della guida. Per TuxOnIce usa.
+
  
  TryMethod suspend2.conf
+
Si può uscire dal ciclo di sospensione premendo il pulsante {{Keypress|Esc}}. Premendo {{keypress|Shift + R}}, si forzerà il sistema a riavviarsi dopo l'ibernazione.
 +
   
 +
Se tutto è andato bene, dovresti essere in grado di effettuare il resuming usando la stessa voce del menù di Grub che usi normalmente per avviare il sistema. Se imposti questa opzione come default, effettuerai sempre il resuming se un file di ibernazione è disponibile su disco o sulla swap. È bene testare la sospensione/ibernazione prima da terminale, e dopo essersi assicurati che funziona, provarla da X.
  
Le opzioni specifiche per TuxOnIce sono nel file {{Filename |/etc/hibernate/suspend2.conf}}. Assicurati che le seguenti linee non siano commentate e adeguatamente
+
{{Attenzione | Non usare mai un kernel differente per effettuare il resume da quello che hai usato per l'ibernazione! Se pacman aggiorna il tuo kernel, non ibernare prima che tu abbia riavviato la macchina e avviato il nuovo kernel.}}
configurate.
+
  
UseSuspend2 yes
+
Si può rendere questa pratica più sicura aggiungendo il demone ''hibernate-cleanup'' nella stringa DAEMONS in {{ic| /etc/rc.conf}}. Questo script verifica che qualsiasi vecchia immagine per il resume sia cancellata della partizione di swap durante l'avvio. Questo dovrebbe rendere più sicuro il sistema anche nel caso si scelga il kernel sbagliato dal menù di Grub. Il demone hibernate-cleanup è incluso nel pacchetto hibernate-script.
Compressor lzo
+
  
Ci sono altre opzioni aggiuntive e trucchi che possono essere impostati in {{Filename |/etc/hibernate/suspend2.conf}} e {{Filename |/etc/hibernate/common.conf}},
+
== Configurazioni addizionali di pm-utils ==
informazioni più dettagliate possono essere trovate sul sito ufficiale di [http://www.tuxonice.net/HOWTO-4.html TuxOnIce] o nella pagina [[Suspend_to_Disk | Suspend To Disk]] di questa wiki.
+
Se si usa [[GNOME (Italiano)|GNOME]] come [[Desktop Environment (Italiano)|DE]], o un qualunque altro DE che richieda [[pm-utils (Italiano)|pm-utils]] per spegnere e sospendere sono necessarie ulteriori configurazioni per TuxOnIce.
  
Adesso prova l'ibernazione di TuxOnIce con questo comando:
+
Tali configurazioni vanno fatte in {{ic|/etc/hibernate/hibernate.conf}} e dovrebbero funzionare. Alcune configurazioni però possono dare problemi con pm-utils. La compressione, per esempio, è di default lzo a meno che si intervenga manualmente.  Editare il file sotto {{ic|/etc/pm/sleep.d/}} è un'ottima alternativa per far si che le configurazioni vengano lette correttamente.
  
# hibernate -F /etc/hibernate/suspend2.conf
+
Per cambiare la compressione usata da TuxOnIce, per esempio, editare {{ic|/etc/pm/sleep.d/00doit}} e aggiungere qualcosa del genere:
  
Puoi uscire dal ciclo di sospensione premendo il pulsante Esc. Se premi Shift + R, forzerai il sistema a riavviarsi dopo l'ibernazione. Se tutto è
+
#!/bin/bash
andato bene, dovresti essere in grado di effettuare il resuming usando la stessa voce del menù di Grub che usi normalmente per avviare il sistema. Se imposti questa opzione come default, effettuerai sempre il resuming se un file di ibernazione è disponibile su disco o sulla swap.
+
case $1 in
{{Attenzione | Non usare mai un kernel differente per effettuare il resume da quello che hai usato per l'ibernazione! Se pacman aggiorna il tuo kernel, non ibernare prima che tu abbia riavviato la macchina e avviato il nuovo kernel. }}
+
hibernate)
 +
#Possible compressors include lzo, lzf, and none
 +
echo none > /sys/power/tuxonice/compression/algorithm
 +
;;
  
E' bene testare la sospensione/ibernazione prima da terminale, e dopo esserti assicurato che funziona, provarla da X. Puoi rendere questa pratica più sicura aggiungendo il demone ''hibernate-cleanup'' nel tuo array DAEMONS in {{Filename | /etc/rc.conf}}. Questo script si assicura che qualsiasi vecchia immagine per il resume sia cancellata della tua partizione di swap durante l'avvio. Questo dovrebbe rendere più sicuro il tuo sistema anche nel caso che tu scelga il kernel sbagliato dal menù di Grub. Il demone hibernate-cleanup è incluso nel pacchetto hibernate-script.
+
Linee addizionali possono essere usate per cambiare altre opzioni come ad esempio il logging level di default (in {{ic|/sys/power/tuxonice/user_interface/default_console_level}}).
  
 
== Usare UserUI - Un'Interfaccia Utente per TuxOnIce (Opzionale) ==  
 
== Usare UserUI - Un'Interfaccia Utente per TuxOnIce (Opzionale) ==  
  
In aggiunta, puoi usare un'interfaccia utente testuale o grafica (fbsplash) con una barra di avanzamento. Per fare questo, installa il pacchetto [http://aur.archlinux.org/packages.php?ID=24613 tuxonice-userui] da AUR. Questo pacchetto dipende dalla libreria statica freetype2, fornita dal pacchetto [http://aur.archlinux.org/packages.php?ID=18319 freetype2-static] (si trova anche questo in AUR).
+
È anche possibile utilizzare un'interfaccia utente testuale o grafica ([[fbsplash (Italiano)|fbsplash]]) con una barra di avanzamento. Per fare questo, installare il pacchetto {{aur|tuxonice-userui}} da [[AUR (Italiano)|AUR]]. Questo pacchetto dipende dalla libreria statica freetype2, fornita dal pacchetto {{aur|freetype2-static}} (anche questo da AUR).
Nel file {{Filename | /etc/hibernate/suspend2.conf}}, imposta l'interfaccia utente desiderata:
+
  
  ProcSetting user_interface/program /usr/sbin/tuxoniceui_text #Interfaccia Testuale
+
Nel file {{ic| /etc/hibernate/tuxonice.conf}}, imposta l'interfaccia utente desiderata:
 +
 
 +
  ProcSetting user_interface/program "/usr/sbin/tuxoniceui" #Interfaccia Testuale
  
 
o
 
o
  
  ProcSetting user_interface/program /usr/sbin/tuxoniceui_fbsplash #Interfaccia Grafica con fbsplash
+
  ProcSetting user_interface/program "/usr/sbin/tuxoniceui -f" #Interfaccia Grafica con fbsplash
 +
 
 +
L'interfaccia con fbsplash necessita di un symlink al tema fbsplash, in questo modo:
 +
 
 +
# ln -s /etc/splash/arch-banner-noicons/ /etc/splash/tuxonice
 +
 
 +
Senza questo symlink, non ci saranno indicatori di progresso durante il suspend/resume.
 +
 
 +
Probabilmente sarà necessario rigenerare l'initramfs dopo aver cambiato il link simbolico sopra.
 +
 
 +
L'interfaccia testuale può essere utile per il debug di TuxOnIce, in quanto visualizza alcuni messaggi.
 +
 
 +
Non si vedrà un'interfaccia utente durante i primi secondi del processo di ripristino a meno che non si aggiunga l'hook '''userui''' alla propria configurazione mkinitcpio (prima dell'hook '''resume''') e si rigeneri l'initramfs, ma anche questo è opzionale.
  
L'interfaccia con fbsplash necessita di un tema fbsplash che si trova in {{Filename | /etc/splash/suspend2}}.
+
Generate initramfs:
  
L'interfaccia testuale va bene per effettuare il debug di TuxOnIce, visto che visualizza alcuni messaggi a video. Non vedrete nessuna interfaccia per i primi
+
# mkinitcpio -p linux-ice
secondi del processo di resuming, a meno che non aggiungiate l'hook ''userui'' al file {{Filename | /etc/mkinitcpio.conf}} (prima dell'hook resume) e rigenerare l'initramfs.
+
  
 
Per verificare se la userui funziona, da terminale eseguite:
 
Per verificare se la userui funziona, da terminale eseguite:
Line 121: Line 148:
 
*Il sito di [http://www.tuxonice.net TuxOnIce] e la sua [http://wiki.tuxonice.net wiki] sono un ottima fonte di informazioni.
 
*Il sito di [http://www.tuxonice.net TuxOnIce] e la sua [http://wiki.tuxonice.net wiki] sono un ottima fonte di informazioni.
 
*Altre informazioni generali sulla sospensione/ibernazione con gli hibernate-script si possono trovare nella pagina [[Suspend_to_Disk | Suspend to Disk]] di questa wiki. Questa tratta argomenti avanzati come problemi con certe configurazioni hardware.
 
*Altre informazioni generali sulla sospensione/ibernazione con gli hibernate-script si possono trovare nella pagina [[Suspend_to_Disk | Suspend to Disk]] di questa wiki. Questa tratta argomenti avanzati come problemi con certe configurazioni hardware.
*Un'altra buona fonte di informazioni è la [http://en.gentoo-wiki.com/wiki/TuxOnIce wiki] di Gentoo.
+
*Un'altra buona fonte di informazioni è la [http://en.gentoo-wiki.com/wiki/TuxOnIce wiki di Gentoo].

Revision as of 21:52, 7 July 2013

Questa è una guida veloce all'installazione di TuxOnIce (conosciuto anche come suspend2), un framework avanzato per la sospensione/ibernazione, che supporta l'ibernazione in una partizione swap o in un normale file con una compressione veloce LZO. Visita il sito di TuxOnIce per una lista completa delle caratteristiche.

Preparazione del kernel

TuxOnIce consiste in una patch del kernel, più un'interfaccia utente aggiuntiva. Solo la patch è necessaria, l'interfaccia utente fornisce un'interfaccia testuale o grafica durante il ciclo di sospensione/ibernazione.

È possibile usare il pacchetto linux-iceAUR o linux-pfAUR presenti su AUR. Questo automatizza la procedura di patch, compilazione ed installazione del kernel, e la generazione della initramfs con un hook adeguato. In questo modo si ha un buon controllo del processo di installazione e volendo si può personalizzare apportando i cambiamenti voluti.

Altrimenti, sarà necessario applicare la patch, configurare e compilare il proprio kernel, visitare le pagine Kernel Compilation From Source e Kernel Compilation with ABS per maggiori informazioni. Le patch necessarie possono essere ottenute presso il sito TuxOnIce di cui sopra.

Ora è necessario installare il pacchetto hibernate-scriptAUR da AUR che verrà richiamato da TuxOnIce. Questo pacchetto è lo script ufficiale fornito dal team di TuxOnIce.

I file di configurazione di hibernate-script sono in /etc/hibernate.

Ricreare initramfs

Se si vuole usare un initramfs (cosa che Arch fa di default) è necessario aggiungere "resume" agli HOOKS di mkinitcpio. In più, se si vuole usare la compressione veloce LZO aggiungere "lzo" all'array MODULES dello stesso file. Un esempio di /etc/mkinitpio.conf:

MODULES="lzo"
HOOKS="base udev autodetect block resume filesystems"

Ricreare ora l'initramfs:

# mkinitcpio -p linux-ice

o

# mkinitcpio -p linux-pf

Configurazione del Boot Loader

Prima che si possa usare la funzione di sospensione, bisogna aggiungere il parametro resume ai parametri passati al kernel nel file di configurazione del boot loader (se si sta usando un sistema con una partizione swap "specificata" nella configurazione del kernel questo passaggio non è necessario). Questo punterà alla partizione di swap o al file di ibernazione.

Ibernazione in una partizione di Swap

Note: A partire l'ultima versione di TuxOnIce (3.0.99.44), aggiungere il parametro "resume" al kernel non è più necessario, sarà rilevato automaticamente se l'unità di swap contiene un'immagine avviabile. Ci sarà solo bisogno di impostare il metodo di swap adeguatamente. Per maggiori informazioni, visitare [1].

Quindi configurare il metodo swap (assicurarsi che sia specificata la partizione giusta) in /etc/hibernate/tuxonice.conf

SuspendDevice swap:/dev/sda3

Ibernazione su un file di swap

Note: L'autorilevamento, come detto in precedenza, non sembra funzionare con i file di swap; sarà dunque necessario impostare manualmente il parametro "resume" del kernel.

Se si utilizza un file di swap invece di una partizione di swap, sarà necessario passare il percorso dei suoi header a TuxOnIce. TuxOnIce è in grado di elencare tutti gli header di swap disponibile.

cat /sys/power/tuxonice/swap/headerlocations

Utilizzare la stringa data così com'è in /etc/hibernate/tuxonice.conf e passarla al kernel come parametro "resume".

SuspendDevice swap:/dev/sda7:0x1087070

Aggiungere la seguente riga nei parametri del kernel nel file di configurazione del bootloader:

resume=swap:/dev/sda7:0x1087070
Note: Specificare il dispositivo di "resume" per mezzo degli UUID dovrebbe funzionare, ma non è del tutto garantito. Questo potrebbe essere un problema di TuxOnIce o di mkinitcpio. Specificando /dev/sdxx dovrebbe invece funzionare in tutti i casi.

Sospensione su file

Per l'allocatore di file, si dovrà preparare un file di ibernazione. Questo è diverso dal file di swap standard dato che questo file viene utilizzato SOLO per l'ibernazione e non come file di swap del sistema generale. Il metodo precedente è raccomandata per essere più efficiente in termini di spazio su disco. Configurare il file /etc/hibernate/tuxonice.conf e decommentare l'opzione "FilewriterLocation":

FilewriterLocation /suspend_file 1000

1000 è la quantità di spazio su disco riservato per il file di ibernazione, in questo caso 1000 megabyte. Di solito un valore pari al 50%-75% della quantità totale di RAM è sufficiente.

Successivamente, eseguire il seguente comando per creare il file di ibernazione:

# hibernate --no-suspend

Dare un'occhiata a /sys/power/tuxonice/resume per vedere cosa passare al kernel. Si dovrebbe vedere qualche file del genere:file:/dev/hda7:0x10011f, nel qual caso si dovrebbe aggiungere resume=file:/dev/hda7:0x10011f come parametro del kernel nel file /etc/lilo.conf (per LILO) o /boot/grub/menu.lst (per GRUB) o /boot/grub/menu.cfg (per GRUB2).

Sospensione e Resuming

Con gli hibernate-script, il metodo di ibernazione preferito può essere configurato nel file /etc/hibernate/hibernate.conf. Se si elencano diversi metodi, il primo sarà quello utilizzato. Notare che hibernate può essere anche usato con Suspend to RAM o vanilla swsusp, ma questo non è parte della guida.

Per TuxOnIce usare:

TryMethod tuxonice.conf

Le opzioni specifiche per TuxOnIce sono nel file /etc/hibernate/tuxonice.conf. Assicurarsi che le seguenti righe siano decommentate e configurate adeguatamente:

UseTuxOnIce yes
Compressor lzo

Ci sono altre opzioni aggiuntive e trucchi che possono essere impostati in /etc/hibernate/tuxonice.conf e /etc/hibernate/common.conf, informazioni più dettagliate possono essere trovate sul sito ufficiale di TuxOnIce o nella pagina Suspend to Disk di questo wiki.

Provare quindi l'ibernazione di TuxOnIce con questo comando:

# hibernate -F /etc/hibernate/tuxonice.conf

Si può uscire dal ciclo di sospensione premendo il pulsante Template:Keypress. Premendo Template:Keypress, si forzerà il sistema a riavviarsi dopo l'ibernazione.

Se tutto è andato bene, dovresti essere in grado di effettuare il resuming usando la stessa voce del menù di Grub che usi normalmente per avviare il sistema. Se imposti questa opzione come default, effettuerai sempre il resuming se un file di ibernazione è disponibile su disco o sulla swap. È bene testare la sospensione/ibernazione prima da terminale, e dopo essersi assicurati che funziona, provarla da X.

Attenzione: Non usare mai un kernel differente per effettuare il resume da quello che hai usato per l'ibernazione! Se pacman aggiorna il tuo kernel, non ibernare prima che tu abbia riavviato la macchina e avviato il nuovo kernel.

Si può rendere questa pratica più sicura aggiungendo il demone hibernate-cleanup nella stringa DAEMONS in /etc/rc.conf. Questo script verifica che qualsiasi vecchia immagine per il resume sia cancellata della partizione di swap durante l'avvio. Questo dovrebbe rendere più sicuro il sistema anche nel caso si scelga il kernel sbagliato dal menù di Grub. Il demone hibernate-cleanup è incluso nel pacchetto hibernate-script.

Configurazioni addizionali di pm-utils

Se si usa GNOME come DE, o un qualunque altro DE che richieda pm-utils per spegnere e sospendere sono necessarie ulteriori configurazioni per TuxOnIce.

Tali configurazioni vanno fatte in /etc/hibernate/hibernate.conf e dovrebbero funzionare. Alcune configurazioni però possono dare problemi con pm-utils. La compressione, per esempio, è di default lzo a meno che si intervenga manualmente. Editare il file sotto /etc/pm/sleep.d/ è un'ottima alternativa per far si che le configurazioni vengano lette correttamente.

Per cambiare la compressione usata da TuxOnIce, per esempio, editare /etc/pm/sleep.d/00doit e aggiungere qualcosa del genere:

#!/bin/bash
case $1 in
hibernate)
#Possible compressors include lzo, lzf, and none
echo none > /sys/power/tuxonice/compression/algorithm
;;

Linee addizionali possono essere usate per cambiare altre opzioni come ad esempio il logging level di default (in /sys/power/tuxonice/user_interface/default_console_level).

Usare UserUI - Un'Interfaccia Utente per TuxOnIce (Opzionale)

È anche possibile utilizzare un'interfaccia utente testuale o grafica (fbsplash) con una barra di avanzamento. Per fare questo, installare il pacchetto tuxonice-useruiAUR da AUR. Questo pacchetto dipende dalla libreria statica freetype2, fornita dal pacchetto freetype2-staticAUR (anche questo da AUR).

Nel file /etc/hibernate/tuxonice.conf, imposta l'interfaccia utente desiderata:

ProcSetting user_interface/program "/usr/sbin/tuxoniceui"  #Interfaccia Testuale

o

ProcSetting user_interface/program "/usr/sbin/tuxoniceui -f"  #Interfaccia Grafica con fbsplash

L'interfaccia con fbsplash necessita di un symlink al tema fbsplash, in questo modo:

# ln -s /etc/splash/arch-banner-noicons/ /etc/splash/tuxonice

Senza questo symlink, non ci saranno indicatori di progresso durante il suspend/resume.

Probabilmente sarà necessario rigenerare l'initramfs dopo aver cambiato il link simbolico sopra.

L'interfaccia testuale può essere utile per il debug di TuxOnIce, in quanto visualizza alcuni messaggi.

Non si vedrà un'interfaccia utente durante i primi secondi del processo di ripristino a meno che non si aggiunga l'hook userui alla propria configurazione mkinitcpio (prima dell'hook resume) e si rigeneri l'initramfs, ma anche questo è opzionale.

Generate initramfs:

# mkinitcpio -p linux-ice

Per verificare se la userui funziona, da terminale eseguite:

# tuxoniceui_test --test

Per l'interfaccia grafica eseguite:

# tuxoniceui_fbsplash --test

Riferimenti

  • Il sito di TuxOnIce e la sua wiki sono un ottima fonte di informazioni.
  • Altre informazioni generali sulla sospensione/ibernazione con gli hibernate-script si possono trovare nella pagina Suspend to Disk di questa wiki. Questa tratta argomenti avanzati come problemi con certe configurazioni hardware.
  • Un'altra buona fonte di informazioni è la wiki di Gentoo.