Translation(s): Deutsch - English - Italiano


Questa pagina presenta l'ibernazione in Debian.

Configurazione della sospensione e dell'ibernazione in in Debian Jessie

Si può avere l'ibernazione che funziona senza fare nulla (anche senza uswsusp), a patto di avere una partizione di swap grande abbastanza per contenere un'immagine del sistema .

Configurazione della sospensione e dell'ibernazione in Debian Lenny

Il sottosistema di ibernazione/sospensione in Debian Lenny è piuttosto intuitivo. Gli script di ibernazione in /etc/hibernate sono usati insieme a PM-utils. Esiste una descrizione piuttosto buona sul funzionamento dell'ibernazione in Ubuntu a questo indirizzo:

La maggior parte delle informazioni sembrano valide anche per Debian Lenny. Le cose relative ad acpi-support sono però specifiche di Ubuntu.

Se è necessario eseguire comandi personalizzati quando si sospende o riprende, si dovrebbero inserire i propri script personalizzati in /etc/pm/sleep.d. Modificare i file /etc/hibernate/*.conf sembra NON avere alcun effetto. Si può usare lo script sottostante come esempio; in alternativa si può prendere uno script esistente da /usr/lib/pm-utils/sleep.d/ e modificarlo.

# /etc/pm/sleep.d/51wireless
#
# /etc/pm/sleep.d e' il posto giusto in cui mettere i propri script di sospensione/ripresa
# Niente di quello che si trova in /etc/hibernate/ ha _alcun_ effetto (OnResume, RestartServices,
# UnloadModules, ecc). Lo script /etc/init.d/atheros e' solo un semplice wrapper per
# de-caricare il modulo ath_pci.

case "$1" in
        hibernate|suspend)
                /etc/init.d/bluetooth stop
                /etc/init.d/atheros stop

                ;;
        thaw|resume)
                /etc/init.d/bluetooth start
                /etc/init.d/atheros start
                ;;
        *) exit $NA
                ;;
esac

Debian Lenny sembra usare in modo predefinito uswsusp, ma se il proprio kernel supporta Tuxonice (alias Suspend2), dovrebbe usare quest'ultimo automaticamente.

Uswsusp

uswsusp è lo strumento predefinito di ibernazione in Debian Etch. Usa una partizione di swap esistente per salvare lo stato della memoria (vedere /etc/uswsusp.conf).

Ibernazione senza partizione di swap

Come Ibernare senza partizione di swap.

Debug dell'ibernazione

Funzionalità di test del kernel

A partire da Linux 2.6.25, il kernel ha una nuova funzionalità di test dell'ibernazione: changelog.

Rende possibile testare il codice base dell'ibernazione con l'aiuto dell'attributo /sys/power/pm_test introdotto in una precedente patch per testare la sospensione.

La scrittura di una stringa appropriata in questo file fa sì che il codice di ibernazione funzioni in una delle modalità di test definite come segue:

freezer
testa il freeze dei processi
devices
testa il freeze dei processi e la sospensione dei dispositivi
platform
testa il freeze dei processi, la sospensione dei dispositivi e i metodi di controllo globali della piattaforma(*)
processors
testa il freeze dei processi, la sospensione dei dispositivi, i metodi di controllo globali della piattaforma(*) e la disabilitazione delle CPU non di avvio
core
testa il freeze dei processi, la sospensione dei dispositivi, i metodi di controllo globali della piattaforma(*), la disabilitazione delle CPU non di avvio e la sospensione dei dispositivi di piattaforma/sistema

*) I metodi di controllo globali della piattaforma sono disponibili solamente su sistemi ACPI e vengono testati solamente se la modalità di ibernazione è impostata a "platform"

Successivamente, se un'ibernazione viene avviata normalmente, il nucleo centrale dell'ibernazione eseguirà le operazioni normali fino al punto indicato dal livello di test specificato.

Poi attende 5 secondi ed esegue le operazioni di ripresa necessarie per la transizione del sistema ad uno stato completamente funzionante.

I messaggi effettivi (riportati per chi usa google) sono hibernation debug: Waiting for 5 seconds e swsusp debug: Waiting for 5 seconds.

Cambiare o spostare la partizione di swap

In caso sia necessario cambiare la partizione di swap, oltre a aggiornare /etc/fstab, si deve cambiare anche /etc/initramfs-tools/conf.d/resume ed eseguire

apt-get install --reinstall initramfs-tools