# [RISOLTO]hibernate

## ashlar

Stamattina sono in vena di test, ho provato se le funzioni di suspend e di hibernate funzionano correttamente, il suspend va senza alcun problema mentre per quanto riguarda hibernate c'è qualcosa che non va. Il sistema si spegne corretamente ma al momento della riaccensione ( che dovrebbe caricare l'immagine salvata nella swap) il sistema si riavvia normalemte come se fosse stato spento invece di essere ibernato.

Per aiutarvi ad aiutarmi vi posto il contenuto del file suspend.conf e di grub.

SUSPEND.CONF

 *Quote:*   

> 
> 
> ### suspend2 (for Software Suspend 2)
> 
> UseSuspend2 yes
> ...

 

GRUB

 *Quote:*   

> 
> 
> timeout 10
> 
> default 1
> ...

 Last edited by ashlar on Tue Aug 21, 2007 12:55 pm; edited 1 time in total

----------

## masterbrian

Ciao,

hai compilato staticamente LZF nel kernel?

Che versione del kernel stai usando?

----------

## ashlar

 *masterbrian wrote:*   

> Ciao,
> 
> hai compilato staticamente LZF nel kernel?
> 
> Che versione del kernel stai usando?

 

LZF è abilitato nel kernel, e attualmente so usando i "suspend2-sources"2.6.22-r1

----------

## ashlar

allora nessuna idea su cosa possa essere che non fa andare l'hibernate?

----------

## lavish

 *ashlar wrote:*   

> GRUB
> 
> ```
> 
> timeout 10
> ...

 

Prova per curiosita' a includere direttamente nel kernel il device da cui fare il resume.

Io ho sempre fatto cosi' e non ho mai avuto alcun problema (certo che dovrebbe funzionare anche passando il parametro di boot, ma intanto si prova...)

Da me:

```
CONFIG_PM_STD_PARTITION="/dev/hda2"
```

----------

## ashlar

Innanzi tutto ti ringrazio per la risposta, stasera quando esco da lavoro proverò sicuramente a fare quanto suggerito... ma non è strano che la funzione sospendi vada correttamente mentre la hibernate mi da questi problemi? inoltre... come mai secondo te prima funzionava tutto correttamente?

 *lavish wrote:*   

>  *ashlar wrote:*   GRUB
> 
> ```
> 
> timeout 10
> ...

 

Innanzi tutto

----------

## lavish

 *ashlar wrote:*   

> Innanzi tutto ti ringrazio per la risposta, stasera quando esco da lavoro proverò sicuramente a fare quanto suggerito... ma non è strano che la funzione sospendi vada correttamente mentre la hibernate mi da questi problemi? inoltre... come mai secondo te prima funzionava tutto correttamente?

 

Il suspend e' lo "standby" uno stato diverso dal cosiddetto "hibernate" che usa esclusivamente la ram disponibile.

Per questo motivo non necessita nemmeno di sapere quale sia il device della partizione di swap.

Con prima cosa intendi?

----------

## ashlar

Che avevo configurato tutto tempo fa e funzionava perfettamente... poi non ho avuto occasione di utilizzarlo per diverso tempo e ora che ne ho avuto nuova necessità mi sono accorto di questo "giochetto" cmq poco male...

 *lavish wrote:*   

> 
> 
> Con prima cosa intendi?

 

----------

## ashlar

 *lavish wrote:*   

> 
> 
> Prova per curiosita' a includere direttamente nel kernel il device da cui fare il resume.
> 
> Io ho sempre fatto cosi' e non ho mai avuto alcun problema (certo che dovrebbe funzionare anche passando il parametro di boot, ma intanto si prova...)
> ...

 

Innanzi tutto[/quote]

Seguendo il tuo suggerimento funziona, anche se non capisco perchè non fovesse funzionare passandogli il parametro di boot... modificndo il kernel ho notato che c'è anche questa voce:

http://img265.imageshack.us/my.php?image=schermataps6.png

che contiene questa roba:

http://img209.imageshack.us/my.php?image=schermata1sz7.png

a che cosa servono? secondo te è meglio utilizzare queste impostazione oppure ora che mi funziona me lo tengo così?

----------

## lavish

Come a cosa servono?   :Shocked: 

Quello e' suspend2 (ora tuxonice). L'altro e' il suspend presente nel kernel vanilla.

suspend2-sources e' patchato per includere quel tipo di sospensione/ibernazione, piu' avanzata rispetto a quella fornita nel vanilla.

----------

## ashlar

quindi devo scegliere quale usare tra i due...

----------

## lavish

 *ashlar wrote:*   

> quindi devo scegliere quale usare tra i due...

 

Esattamente  :Wink: 

Quello che non mi tornave e' come mai usassi il suspend normale avendo installato i suspend2-sources  :Smile: 

Ciao!

----------

## ashlar

 *lavish wrote:*   

>  *ashlar wrote:*   quindi devo scegliere quale usare tra i due... 
> 
> Esattamente 
> 
> Quello che non mi tornave e' come mai usassi il suspend normale avendo installato i suspend2-sources 
> ...

 

il perchè non è dato di saperlo, ma se provo a usare quelli del "suspend2sources" l'hibernate non funziona tira giù la parte grafica di gnome e si blocca tutto a una finestra nera senza dare alcun errore... e l'unico modo per andare avanti è il reset forzato.

 *Quote:*   

> Starting suspend at Tue Aug 21 14:48:14 CEST 2007
> 
> hibernate: [01] Executing CheckLastResume ... 
> 
> hibernate: [01] Executing CheckRunlevel ... 
> ...

 

quello sopra è il log di hibernate presente in /var/log

----------

## fabiolino

Riesumo questo 3d perchè ho un problema con hibernate 

In pratica se eseguo hibernate mi da' un errore che non capisco

```

localhost ~ # hibernate

/bin/echo: errore di scrittura: Invalid argument

```

Ho abilitato LZF in 2.6.24-tuxonice-r9

```

CONFIG_CRYPTO_LZF=y

```

e incluso direttamente nel kernel il device da cui fare il resume

```

CONFIG_PM_STD_PARTITION="/dev/hda2"

```

il mio SUSPEND2.COF:

```

UseSuspend2 yes

Reboot no

EnableEscape yes

DefaultConsoleLevel 1

Compressor lzf

Encryptor none

# ImageSizeLimit 200

## useful for initrd usage:

SuspendDevice swap:/dev/hda2

## Powerdown method - 3 for suspend-to-RAM, 4 for ACPI S4 sleep, 5 for p

oweroff

#PowerdownMethod 5

## Any other /proc/software_suspend setting can be set like so:

# ProcSetting expected_compression 50

## Or traditionally like this:

# Suspend2AllSettings 0 0 2056 65535 5

## Or even from the results of hibernate --save-settings with this:

# Suspend2AllSettingsFile /etc/hibernate/suspend-settings.conf

## For filewriter:

# FilewriterLocation /suspend_file 1000

# VerifyFilewriterResume2 yes

## Specify a userui like this:

# ProcSetting userui_program /usr/local/sbin/suspend2ui_text

# Scale CPU to full speed to make sure we suspend as fast as possible.

FullSpeedCPU yes

Include common.conf

```

GRUB:

```

fallback 0 3

default=3

timeout=30

splashimage=(hd0,5)/boot/grub/foto.xpm.gz

title  Gentoo stableLL

root   (hd0,5)

kernel /boot/vmlinuz root=/dev/hda6

resume2=swap:/dev/hda2

savedefault

# For booting Windows NT or Windows95

title Windows NT / Windows 95 boot menu

rootnoverify (hd0,0)

makeactive

chainloader  +1

# For loading DOS if Windows NT is installed

#chainload /bootsect.dos

```

Non capisco dove sia il problema...

----------

## oRDeX

ma che kernel utilizzi?

vanilla o patchato?

----------

## fabiolino

 *oRDeX wrote:*   

> ma che kernel utilizzi?

 

uname -r

2.6.24-tuxonice-r9

 *oRDeX wrote:*   

> vanilla o patchato?

 

 :Shocked:  scusa ma se l'ho scaricato dal portage non puo' essere vanilla. O sbaglio?

----------

## oRDeX

Essendo tuxonice-sources è un kernel patchato  :Smile: 

fosse stato vanilla-sources, sarebbe stato vanilla   :Razz: 

Comunque dovresti aumentare il Verbose nel .conf per vedere in che passo genera quell'errore...

Da quel poco che vedo mi pare di capire che il problma stia nel momento in cui cerca di comandare la scrittura del parametro "disk" nell'interfaccia apposita di toi che si trova in /proc.

Posta anche un bel 

```
# cat /usr/src/linux/.config |grep TOI
```

----------

## CarloJekko

per un'attimo ho pensato si parlasse del framework Java per gestire la persistenza degli oggetti... Lo odio !!!

----------

## fabiolino

 *oRDeX wrote:*   

> Essendo tuxonice-sources è un kernel patchato 
> 
> fosse stato vanilla-sources, sarebbe stato vanilla  
> 
> Comunque dovresti aumentare il Verbose nel .conf per vedere in che passo genera quell'errore...
> ...

 

ecco

```

localhost ~ # cat /usr/src/linux/.config |grep TOI

CONFIG_TOI_CORE=y

CONFIG_TOI_FILE=y

CONFIG_TOI_SWAP=y

CONFIG_TOI_DEFAULT_PRE_HIBERNATE=""

CONFIG_TOI_DEFAULT_POST_HIBERNATE=""

CONFIG_TOI_CRYPTO=y

CONFIG_TOI_USERUI=y

CONFIG_TOI_USERUI_DEFAULT_PATH="/usr/local/sbin/tuxonice_fbsplash"

CONFIG_TOI_KEEP_IMAGE=y

CONFIG_TOI_REPLACE_SWSUSP=y

CONFIG_TOI_CHECKSUM=y

CONFIG_TOI_DEFAULT_WAIT=25

# CONFIG_TOI_PAGEFLAGS_TEST is not set

CONFIG_TOI=y

```

----------

## oRDeX

sembra tutto ok...non so che altro dire..provato ad aumentare il valore di Verbosity e a rieseguire il comando hibernate?

----------

## fabiolino

OK. Il problema era che non avevo attivato lo swap. Adesso funziona alla grande.

Grazie comunque.

----------

## fabiolino

Chiedo se qualcuno ha capito qualcosa di come diavolo si realizzano gli script che si eseguono prima e dopo l'ibernazione.

Io non ci ho capito niente (rileggo magari piu' attentamente la documentazione   :Rolling Eyes:  ma se qualcuno ha gia' sbattuto la testa tanto meglio   :Wink:  )

Ho realizzato uno script che si avvia in ~/.kde/Autostart alla partenza di KDE, e funziona. Quando invece riesumo da uno stato di hibernate lo script non viene eseguito.

----------

