--- /tmp/resume.patch 2022-01-12 16:53:18.251017192 +0300 +++ /usr/share/initramfs-tools/scripts/local-premount/resume 2022-01-12 19:02:46.182163338 +0300 @@ -32,6 +32,11 @@ exit 0 fi +case $resume in +UUID=*) + resume="/dev/disk/by-uuid/${resume#UUID=}" +esac + DEV=$(readlink -f "$resume") DEV=/sys/class/block/${DEV##*/}/dev if [ -r "$DEV" ]; then My issue very similar to https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1769297 But in my case `DEV=$(readlink -f "$resume")` does not return a reference to the device because `$resume` should already contain a link to device to operate correctly. But it contains: `UUID=my_swap_part_uuid` Please update `/usr/share/initramfs-tools/scripts/local-premount/resume` script with attached patch Maybe i'm wrong but my code works correctly and system can continue to work after hibernation without extra settings via cmdline at grub or extra variables from `/etc/initramfs-tools/conf.d/resume` I think this code should help system to resume only if operator wanted to use `RESUME` with UUID at `/etc/initramfs-tools/conf.d/resume`. But in general case, nothing works. ``` resume=*) RESUME="${x#resume=}" case $RESUME in UUID=*) RESUME="/dev/disk/by-uuid/${RESUME#UUID=}" esac ;; ``` But in my case `DEV=$(readlink -f "$resume")` does not return a reference to the device because `$resume` should already contain a link to device to operate correctly. But it contains: `UUID=my_swap_part_uuid` Please update `/usr/share/initramfs-tools/scripts/local-premount/resume` script with attached patch Maybe i'm wrong but my code works correctly and system can continue to work after hibernation without extra settings via cmdline at grub or extra variables from `/etc/initramfs-tools/conf.d/resume` I think this code should help system to resume only if operator wanted to use `RESUME` with UUID at `/etc/initramfs-tools/conf.d/resume`. But in general case, nothing works. ``` resume=*) RESUME="${x#resume=}" case $RESUME in UUID=*) RESUME="/dev/disk/by-uuid/${RESUME#UUID=}" esac ;; ``` My issue very similar to https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1769297 I am assuming that the code at about line 162 in `/usr/share/initramfs-tools/init` like that: ``` resume=*) RESUME="${x#resume=}" case $RESUME in UUID=*) RESUME="/dev/disk/by-uuid/${RESUME#UUID=}" esac ;; ``` Only works if user wants to set resume partition as `UUID=some` at file like `/etc/initramfs-tools/conf.d/resume`. But in the case when initramfs hook resume save `UUID=some` in initrd `conf/conf.d/zz-resume-auto` file it doesn't matter. Including for operate `DEV=$(readlink -f "$resume")` correctly in `/usr/share/initramfs-tools/scripts/local-premount/resume`