Hello tech@,

Currently unhibernating doesn't work with this configuration:

# echo "boot" > /etc/boot.conf

The original kernel is booted instead of the hibernated one.
This was fixed a few years ago for sysupgrade's /bsd.upgrade kernel but
unhibernation was overlooked at the time.

Before:

        unhibernate detected: switching to /bsd.booted
        booting sr0a:/bsd:...

After:

        unhibernate detected: switching to /bsd.booted
        booting sr0a:/bsd.booted:...

Index: boot.c
===================================================================
RCS file: /cvs/src/sys/stand/boot/boot.c,v
retrieving revision 1.54
diff -u -p -r1.54 boot.c
--- boot.c      15 Jun 2020 14:43:57 -0000      1.54
+++ boot.c      8 Sep 2021 14:45:09 -0000
@@ -84,8 +84,6 @@ boot(dev_t bootdev)
                isupgrade = 1;
        }
 
-       st = read_conf();
-
 #ifdef HIBERNATE
        int bootdev_has_hibernate(void);
 
@@ -94,6 +92,8 @@ boot(dev_t bootdev)
                printf("unhibernate detected: switching to %s\n", cmd.image);
        }
 #endif
+
+       st = read_conf();
 
        if (!bootprompt)
                snprintf(cmd.path, sizeof cmd.path, "%s:%s",

Reply via email to