[suspend > hibernate] uswsusp / suspend-hybrid / s2both

Questions et astuces concernant l'installation et la configuration d'archlinux
Avatar de l’utilisateur
effraie
Hankyu
Messages : 28
Inscription : dim. 17 juil. 2011, 18:44

[suspend > hibernate] uswsusp / suspend-hybrid / s2both

Message par effraie »

Hello,

j'ai bien peur que ce ne soit pas possible, mais quand on ne demande pas...

Donc, je me demandais si il y avait un moyen de gérer suspend de façon que une fois mis en "suspend to ram", ma bécanne passe en "suspend to disk", soit sur détection d'un niveau de batterie faible, soit au bout d'un certain temps...

Quelqu'un, j'imagine, s'est déjà penché là dessus, non ?
Dernière modification par effraie le ven. 07 sept. 2012, 00:15, modifié 2 fois.
.:trop de chefs, pas assez d'indiens:.
http://400iso.net/ - http://effraie.org/
antynea
Hankyu
Messages : 49
Inscription : ven. 09 déc. 2011, 07:34

Re: [suspend > hibernate]

Message par antynea »

Coucou,

Voulez-vous parler du mode hybride utiliser par microsoft ?
un mode de mise en veille via ram et copie intégrale sur hdd (comme une hibernation, en cas de panne de courant, forcément indispensable.)

http://windows.microsoft.com/fr-FR/wind ... -questions#

je recherche ce mode d'hibernation, hibernation hybride, ( suspend to ram
+ copie sur hdd ), hélas non trouvé;

Pour avoir un semblant de copie de ce mode, j'ai fais un script qui copie sur le hdd, ( comme le mode hibernation, l'intégralité des données )
mais celà ne me satisfait pas, j'aimerais pouvoir le déclencher seulement à partir d'un évènement pré-défini ( genre batterie à 5%, go to hdd stop ram)
Le souci, une fois la machine en veille, je n'arrive pas à écrire de script capable de répondre à ma demande :/

Si une âme salutaire passe par ici, je lui serais reconnaissante :)

Ps : désolé pour les fautes, je post via mon smartphone ^^
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [suspend > hibernate]

Message par tuxce »

pm-utils fournit pm-suspend-hybrid.
Pour voir s'il supporte votre machine :

Code : Tout sélectionner

pm-is-supported --suspend-hybrid  && echo "supporté"
Avatar de l’utilisateur
effraie
Hankyu
Messages : 28
Inscription : dim. 17 juil. 2011, 18:44

Re: [suspend > hibernate]

Message par effraie »

super, chez moi ça semble marcher. je tente d'automatiser ça, et je raconterais comment ça se passe.
.:trop de chefs, pas assez d'indiens:.
http://400iso.net/ - http://effraie.org/
Avatar de l’utilisateur
effraie
Hankyu
Messages : 28
Inscription : dim. 17 juil. 2011, 18:44

Re: [suspend > hibernate]

Message par effraie »

alors, aprés test, ma machine supporte bien suspend_hybrid.
Pour l'activer par defaut à la place de suspend (par exemple pour le déclencher via GNOME en fermant l'écran du portable), j'ai du éditer le fichier /etc/pm/config.d/00-use-suspend_hybrid ainsi :

Code : Tout sélectionner

# Always use suspend_hybrid instead of suspend
if [ "$METHOD" = "suspend" ]; then
    METHOD=suspend_hybrid
fi
Il y a un "mais" : tel que, le système qui est mis en place, c'est un "suspend-to-RAM" ordinaire, puis, au bout d'un certain délai (ajustable en ajoutant au fichier ci-dessus une ligne PM_HIBERNATE_DELAY=<nombre de secondes>), la machine sort de veille, et passe en suspend-to-disk.

Pour obtenir le comportement idéal (selon moi), [c'est a dire que dés le premier coup, la machine copie le nécessaire pour hiberner dans le swap, puis passe en suspend-to-RAM, permettant a la fois de sortir de veille rapidement ET de sortir d'hibernation si on est a cours de jus pendant le suspend-to-RAM], il faut installer uswsusp depuis AUR (uswsusp-git, pour moi)

uswsusp fournis des backends alternatifs pour pm-suspend, notamment s2both, qui a le comportement décris si dessus.

Une fois installé, il FAUT éditer /etc/suspend.conf pour y indiquer la partition swap

Code : Tout sélectionner

snapshot device = /dev/snapshot
resume device = /dev/sda2
#image size = 350000000
#suspend loglevel = 2
#compute checksum = y
#compress = y
#encrypt = y
#early writeout = y
#splash = y
et il FAUT également éditer /etc/mkinitcpio.conf pour y ajouter le hook uresume avant le hook filesystem :

Code : Tout sélectionner

HOOKS="base udev autodetect pata scsi sata uresume filesystems usbinput fsck"
Pour moi, une fois cette étape passé, "mettre en veille" depuis GNOME déclenche bien la copie sur disque de "suspend-to-disk", puis passe en veille. Il me reste a laisser effectivement la batterie s'épuiser en cours de veille pour vérifier que tout fonctionne, mais ça semble ok.

la page du wiki anglophone pour uswsusp indique qu'il faut également éditer /etc/pm/config.d/module ainsi:

Code : Tout sélectionner

SLEEP_MODULE=uswsusp
mais chez moi ça marche sans.

Aprés quelques test, je pense créer une page sur le wiki sur tout ça, si ça vous semble utile ?
.:trop de chefs, pas assez d'indiens:.
http://400iso.net/ - http://effraie.org/
Avatar de l’utilisateur
effraie
Hankyu
Messages : 28
Inscription : dim. 17 juil. 2011, 18:44

Re: [suspend > hibernate]

Message par effraie »

après nouveau test, je confirme que ça semble rouler :

- branchement du portable sur le secteur
- retrait de la batterie
- mise en suspend_hybrid
- débranchement du secteur
- remise en place de la batterie
- power on

--> je récupère ma session :)

seul petit désagrément, si l'affichage de la session se fais rapidement, (une quinzaine de seconde alors qu'un démarrage ordinaire m'en prend facilement 30),les load average grimpent au plafond, vers 11, 12, et la machine est inutilisable encore une bonne trentaine de secondes.
.:trop de chefs, pas assez d'indiens:.
http://400iso.net/ - http://effraie.org/
Répondre