URL: https://linuxfr.org/users/ps12r/journaux/astuce-reparer-l-hibernation-non-fonctionnelle-sur-fedora-32 Title: Astuce : réparer l’hibernation non fonctionnelle sur Fedora 32 Authors: PS12r Date: 2020年05月18日T11:00:51+02:00 License: CC By-SA Tags: hibernate, fedora, initrd, dracut, astuce et hibernation Score: 21 Cher journal, Aujourd’hui, je t’écris pour adresser ure petite astuce aux plus ou moins néophytes qui, comme moi, souffrent d’une hibernation non fonctionnelle sur Fedora 32. J’ai migré il y a peu sur Fedora 32. Tout se passait très bien à un poil près : l’hibernation se terminait en vulgaire _poweroff_. Quelle ingratitude, _so nineties_, dans un monde où la mode est désormais à l’hibernation plutôt qu’à l’extinction ! (ahem) Bref, l’UC se coupait bien après avoir « gratté » des données mais au relancement, le système démarrait comme s’il s’était juste éteint, occasionnant au passage la perte des programmes ouverts et des données non enregistées. L’hibernation a toujours (plus ou moins) été un problème avec Linux, en partie à cause de la tambouille que fait chaque constructeur au niveau ACPI. J’ai tenté de rechercher la cause du problème avec la [documentation idoine](https://www.kernel.org/doc/html/latest/power/basic-pm-debugging.html) mais sans succès : tout semblait bien fonctionner du point de vue du noyau (_a priori_ on écarte une incompatibilité matérielle). Finalement, après recherche, le problème vient plutôt de la configuration de Fedora : le module « resume » (nécessaire à l’hibernation) n’est pas intégré à l’[initrd](https://fr.wikipedia.org/wiki/Initrd) par défaut. En attendant une solution définitive, voici une solution de contournement proposée sur [le rapport de bogue Bugzilla du projet](https://bugzilla.redhat.com/show_bug.cgi?id=1795422), dont je propose ici une modeste traduction. Diagnostiquer si votre système est concerné par ce problème =========================================================== Tout d’abord, armé(e) du terminal, il faut vérifier si le module _resume_ est bien absent de l’initrd : `sudo lsinitrd -m | grep -E '^resume$'` Si la commande ne ressort rien, c’est que votre initrd est construit sans le module _resume_ et donc vous êtes concerné par le problème soulevé plus haut. Correction temporaire ===================== Ajouter le module manquant et reconstruire l’initrd avec dracut : `sudo dracut -fv -a resume` On relance la première commande pour voir si le module sera bien chargé : `sudo lsinitrd -m | grep -E '^resume$'` Celle‐ci devrait renvoyer le résultat suivant, Indiquant que le module est bien chargé : **resume** Vous pouvez maintenant placer votre système en hibernation pour voir si la correction est effective : `sudo systemctl hibernate` Normalement, vous devriez retrouver votre système dans le même état que vous l’avez quitté, comme une simple veille. Correction permanente ===================== Si l’astuce ci‐dessus a résolu votre problème, vous pouvez rendre la solution permanente en attendant que Fedora propose une solution propre. Pour cela, il faut préciser à dracut d’ajouter le module _resume_ à chaque reconstruction de l’initrd. Pour cela, il faut créer le fichier `99-fix-resume.conf` et y ajouter la ligne suivante : « `add_dracutmodules+="resume"` ». La commande suivante le fait : `sudo echo 'add_dracutmodules+="resume"'> /etc/dracut.conf.d/99-fix-resume.conf` Après quoi, il faut reconstruire l’initrd avec dracut : `sudo dracut -fv` Et voilà, l’hibernation devrait être de nouveau fonctionnelle. En tout cas, #Chezmoiçamarche. En espérant que cela soit clair utile à d’autres. Bonne journée ’nal.

AltStyle によって変換されたページ (->オリジナル) /