Subject: bug#37290: Guix System: Hibernation

From: Nolan Wright <[email-masked]>
Date: Tue, 3 Sep 2019 08:36:46 -0400

Hello Mark,

Thank you for that patch. I will test it out when I get a chance. I fully
support your efforts in this area and would like to see this added to the
operating-system configuration as you have described.

Best,
Nolan

On Mon, Sep 2, 2019 at 11:25 PM Mark H Weaver <[email-masked]> wrote:

> Hi Nolan,
>
> Nolan Wright <[email-masked]> writes:
>
> > I have a desktop computer that sits in the same room where I
> > sleep. The fans produce a noise that I would prefer not to hear when
> > going to bed. For that reason, I wish to make use of the hibernation
> > feature, in which the system state is suspended to disk as described
> > here:
> >
> >
> https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate
> >
> > The IRC user nxck, who was very helpful, after some brief
> > experimentation concluded that Guix System probably does not support
> > the hibernation feature. Indeed the following comment in the source
> > code suggests as much:
> >
> >
> http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/desktop.scm#n598
> >
> > Additionally I found the following message in this mailing list from
> > three years ago which stated that the feature is not supported:
> >
> > https://lists.gnu.org/archive/html/bug-guix/2016-11/msg00067.html
>
> The message above links to an earlier message with my preliminary patch
> to support hibernation:
>
>   https://lists.gnu.org/archive/html/guix-devel/2016-08/msg00962.html
>
> I've been carrying that patch in my local branch of Guix for 3 years.
> It needs a bit more work before it's ready to include in Guix, and I'm
> sorry to say that I lost motivation to work on it because it seems that
> almost no one cares about hibernation today.
>
> Anyway, I've attached below a slightly updated version of the patch that
> applies cleanly to current Guix.  Quoting from the message above:
>
> you'll also need to add a line like this to your 'operating-system'
> definition.
>
>   (kernel-arguments '("resume=/dev/sda2"))
>
> Where the device named is a swap partition.
>
> WARNING: Since this is preliminary work, I recommend that the first time
> you test this, be prepared for the possibility that resume will fail.
> So far I've only tested it with simple partitions, without encryption or
> RAID.
>
> It may be that we should add a dedicated 'resume-device' field to the
> 'operating-system'.  Thoughts?
>
>       Mark
>
>
>