Postez ici vos trucs & astuces.

Hibernation - Mise en veille prolongée

#1Messageil y a 11 ans

Bonjour,

Ayant pas mal galéré sur ce sujet je fais profiter à tous de la solution trouvée qui fonctionne avec 2 versions Manjaro KDE et XFCE
Dans le 1er cas c'est sur mon PC Fixe avec Manjaro KDE 0.8.5.2 64 Bits, Kernel Linux 3.9.2-1
Dans le 2ème cas c'est sur un notebook SAMSUNG NC10 avec Manjaro XFCE 0.8.5.2, Kernel Linux 3.8.13-1

La source de la solution est le wiki Archlinux
https://wiki.archlinux.org/index.php/Pm-utils#Mkinitcpio_Resume_Hook

Il faut tout d'abord avoir une partition Swap d'une taille au moins égale à celle de la RAM

Dans un premier temps vérifier le fichier /etc/default/grub dans lequel on doit retrouver la ligne

GRUB_CMDLINE_LINUX="resume=UUID=xxxxx-xxxx-xxxxxx-xxxxxx"

Si elle n'existe pas l'ajouter en mettant le bon N° UUID correspondant à la partition du swap
Mettre à jour Grub par la commande

sudo grub-mkconfig -o /boot/grub/grub.cfg


A partir de là, l'hibernation devrait fonctionner ce qui n'était pas le cas pour mes 2 PC.
En fait il m'a fallu modifier l'initrd pour qu'il prenne en compte l'hibernation.

Modifier le fichier /etc/mkinitcpio.conf pour y ajouter le "crochet" (traduction littérale de Hook. Je ne connais pas le terme français :maître: ) resume
Attention resume doit se trouver après blocks et/ou lvm2 et avant filesystems
Un exemple de ligne Hooks

HOOKS="base udev autodetect block lvm2 resume filesystems"

Mettre à jour initrd avec la commande si un seul kernel

# mkinitcpio -p linux

Comme j'ai plusieurs kernel j'ai dû préciser lequel mettre à jour avec la commande

# mkinitcpio -p linux39


Et maintenant plus de soucis d'hibernation....

Hibernation - Mise en veille prolongée

#2Messageil y a 11 ans

Bonjour,

Intéressant, mais si tu déclares un Swap lors de l'installation, tout ça est fait automatiquement, non ?

Hibernation - Mise en veille prolongée

#3Messageil y a 11 ans

Dans mon cas malheureusement non.
J'avais bien le choix hiberner, quand je lancais l'hibernation je voyais bien le Disque tournait avant que le PC ne s'éteigne. Au démarrage tout se déroulait comme un démarrage normal.
Maintenant après la validation du Grub, le PC recharge l'état précédent.

Peut-être que j'ai loupé quelque chose à l'installation mais je ne vois pas quoi.
J'ai eu le problème sur 2 PC différents.

Hibernation - Mise en veille prolongée

#4Messageil y a 11 ans

je confirme, chez moi aussi le hook "resume" est absent du mkinitcpio.conf; je ne m'en étais pas aperçu, je n'utilise plus l'hibernation depuis que j'ai utilisé Arch (le boot normal était aussi rapide que la sortie d'hibernation, donc ça sert à rien)

Hibernation - Mise en veille prolongée

#5Messageil y a 11 ans

:bjr:

Autrefois, quand je déclarais un swap, c'était fait automatiquement. C'est un bug, alors ?

Hibernation - Mise en veille prolongée

#6Messageil y a 11 ans

Faut croire que oui, c'est un bug.

C'est vrai que le démarrage à froid est rapide sur mon PC fixe.
Sur le notebook la veille prolongée est plus rapide qu'un démarrage à froid. Vu que la batterie est HS la veille simple est seulement efficace quand le netbook est sur le secteur.

Hibernation - Mise en veille prolongée

#7Messageil y a 11 ans

ce n'est pas à proprement parler un bug, plutôt un oubli...

Hibernation - Mise en veille prolongée

#9Messageil y a 11 ans

Un oubli quand même plutôt embêtant pour celui qui découvre Manjaro.
Surtout si c'est pour installer sur un portable.

Hibernation - Mise en veille prolongée

#10Messageil y a 10 ans

Bonjour,
moi non plus l'hibernation ne fonctionne pas je veux donc essayer ce tuto mais je ne veux pas me tromper:
1) Avec GParted je trouve que l'UUID de ma partition swap est: c10f96ca-686d-412e-8d82-db532dec5e8f. Il suffit donc juste que je remplace xxx-xxx-xxx-xxx par ça?
2)Quand j'ouvre /etc/default/grub ça me donne ça:

GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT=" resume=UUID=c10f96ca-686d-412e-8d82-db532dec5e8f"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
GRUB_BACKGROUND="/usr/share/grub/background.png"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

Je dois compléter la ligne 5 ou en créer une nouvelle?
Merci d'avance :D

Edit: J'ai oublié de dire que je ne peux pas sortir de veille (ni en bougeant la souris ni en appuyant sur le clavier), une piste?
Dernière modification par Pauloil y a 10 ans, modifié au total 1 fois.

Hibernation - Mise en veille prolongée

#11Messageil y a 10 ans

pour ton Grub, c'est déjà bon, passe à la suite du tuto...

Hibernation - Mise en veille prolongée

#12Messageil y a 10 ans

Ok merci!

Edit: quand j'essaye de mettre à jour l'initrd j'obtiens ça:

==> ERROR: Preset not found: `/etc/mkinitcpio.d/linux.preset'

Une idée?

Hibernation - Mise en veille prolongée

#13Messageil y a 10 ans

je pense que tu as fait une erreur dans la commande, mais comme tu ne la donnes pas...

Hibernation - Mise en veille prolongée

#14Messageil y a 10 ans

J'ouvre le fichier etc/mkinitcpio.conf ave Thunar root. J'ajoute cette ligne dans le fichier après le premier hook comme ceci:
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES="piix ide_disk reiserfs"
MODULES=""

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=""

# HOOKS
# This is the most important setting in this file. The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
## This setup specifies all modules in the MODULES setting above.
## No raid, lvm2, or encrypted root is needed.
# HOOKS="base"
#
## This setup will autodetect all modules for your system and should
## work as a sane default
# HOOKS="base udev autodetect block filesystems"
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
# HOOKS="base udev block filesystems"
#
## This setup assembles a pata mdadm array with an encrypted root FS.
## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
# HOOKS="base udev block mdadm encrypt filesystems"
#
## This setup loads an lvm2 volume group on a usb device.
# HOOKS="base udev block lvm2 filesystems"
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
HOOKS="base udev autodetect block lvm2 resume filesystems"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""


J'enregistre, je ferme puis j'éxécute la commande:

sudo mkinitcpio -p linux
[sudo] password for xxxx:
==> ERROR: Preset not found: `/etc/mkinitcpio.d/linux.preset'

Hibernation - Mise en veille prolongée

#15Messageil y a 10 ans

:bjr:

Au passage, tu as essayé la même commande, mais en remplaçant linux par ton noyau actuel, style linux38 ou linux39 ?

Si ça ne marche pas, passe le résutlat de la commande :

ls /etc/mkinitcpio.d

Hibernation - Mise en veille prolongée

#16Messageil y a 10 ans

@ paulo: oui mais non, tu n'ajoutes pas une ligne "hooks", tu ajoutes le "resume" dans la ligne d'origine, donc enlève cette deuxième ligne que tu as ajouté, et ta ligne:

HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

doit devenir:

HOOKS="base udev autodetect modconf block resume filesystems keyboard fsck"

et pour te donner la bonne commande à passer ensuite, j'attends que tu aies répondu à la question d'Esclapion

Hibernation - Mise en veille prolongée

#17Messageil y a 10 ans

Ok merci à tous les deux! J'ai modifié la ligne Hooks d'origine (merci Loubrix) puis j'ai fait(merci Esclapion):

sudo mkinitcpio -p linux38
==> Building image from preset: /etc/mkinitcpio.d/linux38.preset: 'default'
  -> -k /boot/vmlinuz-38-i686 -c /etc/mkinitcpio.conf -g /boot/initramfs-38-i686.img
==> Starting build: 3.8.13.1-2-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-38-i686.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux38.preset: 'fallback'
  -> -k /boot/vmlinuz-38-i686 -c /etc/mkinitcpio.conf -g /boot/initramfs-38-i686-fallback.img -S autodetect
==> Starting build: 3.8.13.1-2-MANJARO
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: bfa
  -> Running build hook: [resume]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-38-i686-fallback.img
==> Image generation successful

Et voilà! Cela a l'air d'avoir marché non :?:

Edit: Je confirme je viens de tester l'hibernation et ça a fonctionné! :fete: Merci beaucoup! :mrgreen:

Hibernation - Mise en veille prolongée

#18Messageil y a 10 ans

Salut

Ayant cherché ce soir comment activer l'hibernation je suis tombé sur un lien anglais qui m'a aidé et j'ai décidé d'en faire une page sur le wiki, la voilà: https://wiki.manjaro.org/index.php?title ... ibernation

Je suis tombé sur ce fil après le début de la rédaction de la page et je me suis inspiré grandement de la démarche parce que c'était très fouilli dans ma tête sur comment mettre ça sur le wiki sans que ça soit désordonné ^^

J'espère que tu m'en voudras pas texaveryfun :rendre: de m'être basé au 3/4 sur ton post après ma première version de page totalement moche et pourrie :rire

Si vous voulez modifier pour que ça soit mieux n'hésitez pas :)

@+

Hibernation - Mise en veille prolongée

#19Messageil y a 10 ans

Bonjour n1c0la5

Pourquoi t'en voudrais-je ?
Bien au contraire... merci d'avoir créé ce sujet Wiki. :clap:bien

Hibernation - Mise en veille prolongée

#20Messageil y a 10 ans

:bjr:
@n1c0la5 : je crois que le lien vers ta page du wiki n’apparaît pas sur la page principale, ou alors, il faut que je change mes lunettes !! :clindoeil:
Répondre