resume from hibernation broken when resume image is autodetected
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
initramfs-tools (Ubuntu) |
Confirmed
|
Undecided
|
Dimitri John Ledkov |
Bug Description
I found a reason of non-functioning resume from hibernation when resume partition/file is autodetected by intiramfs hook /usr/share/
Here is the scenario:
1) hook /usr/share/
2) during boot init script sets 'resume' variable to 'RESUME' value from conf/conf.
3) resuming script local-premount/
DEV=$(readlink ${resume})
DEV=/sys/
if [ -r "$DEV" ]; then
read MAJMIN < "$DEV"
fi
4) next check fails and resume process silently aborts:
if [ -z "$MAJMIN" ]; then
exit 1
fi
Resuming script fails to get device major-minor because resume=
Commonly mentioned workaround is to explicitly specify kernel parameter resume=
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: initramfs-tools 0.130ubuntu3
Uname: Linux 4.16.6-
ApportVersion: 2.20.9-0ubuntu7
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sat May 5 11:32:31 2018
InstallationDate: Installed on 2018-03-27 (38 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180327)
PackageArchitec
SourcePackage: initramfs-tools
UpgradeStatus: No upgrade log present (probably fresh install)
description: | updated |
tags: | added: patch |
tags: | added: regression-release |
tags: | added: rls-ee-incoming |
Changed in initramfs-tools (Ubuntu): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
How to check you have this issue:
1) get provided resume script, replace /usr/share/ initramfs- tools/scripts/ local-premount/ resume with it initramfs. debug, if you see following lines, you have this issue: local-premount/ resume 707d-4422- 866d-a7534da507 02' () block// dev major/minor
2) sudo update-initramfs -k $(uname -r) -u
3) sudo systemctl hibernate
4) edit grub menu entry, add 'debug' parameter to kernel command line, boot
5) look into /run/initramfs/
+ /scripts/
Success: Resume device: 'UUID=106238b0-
Failure: Failed to get /sys/class/