GNU bug report logs -
#49475
[PATCH] linux-boot: Resume from hibernation after pre-boot.
Previous Next
Reported by: Jack Hill <jackhill <at> jackhill.us>
Date: Fri, 9 Jul 2021 02:50:02 UTC
Severity: normal
Tags: patch
Done: Tobias Geerinckx-Rice <me <at> tobias.gr>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Mon, 05 Sep 2022 15:05:16 +0200
with message-id <87wnaiezj2.fsf <at> nckx>
and subject line Re: bug#57583: Guix cannot resume after hibernation
has caused the debbugs.gnu.org bug report #49475,
regarding [PATCH] linux-boot: Resume from hibernation after pre-boot.
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
49475: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49475
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
* gnu/build/linux-boot.scm (boot-system): Call resume-if-hibernated
after pre-mount.
---
This change allows resuming from a swap device that needs device-mapper
to be set up first. In my case I tested swap on lvm on dm-crypt. I
believe this change to be safe since pre-mount shouldn't mount or
otherwise touch the filesystems. It it did, there would be data
corruption, so special care should be taken when reviewing.
gnu/build/linux-boot.scm | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 461df9ff46..778ee99690 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -563,15 +563,6 @@ upon error."
(load-linux-modules-from-directory linux-modules
linux-module-directory)
- (unless (or (member "hibernate=noresume" args)
- ;; Also handle the equivalent old-style argument.
- ;; See Documentation/admin-guide/kernel-parameters.txt.
- (member "noresume" args))
- ;; Try to resume immediately after loading (storage) modules
- ;; but before any on-disk file systems have been mounted.
- (false-if-exception ; failure is not fatal
- (resume-if-hibernated (find-long-option "resume" args))))
-
(when keymap-file
(let ((status (system* "loadkeys" keymap-file)))
(unless (zero? status)
@@ -606,6 +597,15 @@ upon error."
(unless (pre-mount)
(error "pre-mount actions failed")))
+ (unless (or (member "hibernate=noresume" args)
+ ;; Also handle the equivalent old-style argument.
+ ;; See Documentation/admin-guide/kernel-parameters.txt.
+ (member "noresume" args))
+ ;; Try to resume immediately after loading (storage) modules
+ ;; but before any on-disk file systems have been mounted.
+ (false-if-exception ; failure is not fatal
+ (resume-if-hibernated (find-long-option "resume" args))))
+
(setenv "EXT2FS_NO_MTAB_OK" "1")
(if root-device
--
2.32.0
[Message part 3 (message/rfc822, inline)]
[Message part 4 (text/plain, inline)]
Jack, Yusuf, Ludo',
Yusuf: you could try pulling, reconfiguring, hibernating, and
resuming, if you're brave-ish.
Ludovic Courtès 写道:
> I believe this is fixed by this: […] The patch in question fell
> through the cracks
It should and it had, sorry.
I *dislike* the fact that this makes the resume path no longer
trivially obviously correct — because we now actually do something
potentially useful (and hence, dangerous) during it — but that's
unavoidable I suppose. It's certainly not the fault of this
patch.
Pushed as ec16f88522041dc285a35705ff9ee95672b78143, thanks Jack!
Kind regards,
T G-R
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 2 years and 322 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.