Dracut errors in Tumbleweed snapshot 20250612

So after zypper dup got finished and dracut completed (no reboot yet - just in case) I got these errors

windeath:/home/dart/Downloads # dracut -f
dracut[E]: Current resume kernel argument points to an invalid disk
dracut[E]: Current resume kernel argument points to an invalid disk

After scratching my head for a second I realized it was because I eliminated my swap partition about a month ago and am using a btrfs swapfile instead … I never noticed this error before and don’t use hibernate (just sleep) which works fine … sooo I changed my grub resume line from

GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/disk/by-id/ata-WDC_WDS100T2B0A-00SM50_183183802584-part3 mitigations=auto"

which was my swap partition which doesn’t exist anymore to

GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/disk/by-id/ata-WDC_WDS100T2B0A-00SM50_183183802584-part2 resume_offset=28349784 mitigations=auto"

which points at /dev/sda2 where my swapfile lives … I determined the offset with

windeath:/home/dart/Downloads # btrfs inspect-internal map-swapfile -r /swap/swapfile
which returned
28349784

After doing a grub2-mkconfig -o /boot/grub2/grub.cfg I am still getting the dracut errors with dracut -f … because I don’t use hibernate I’m pretty sure this won’t affect my booting at all (like the part-3 line did not) but I don’t like dracut errors and maybe I got the grub line incorrect I also tried resume.offset=28349784 but the errors persist … anybody see a mistake here?

If you don’t use hibernation, you can change that parameter to “noresume”.

I note that you’ve used

I’m wondering if the ‘/dev/disk/by-id/’ device symlink is available/resolvable by initrd during the early boot. Best practice might be to use UUID instead, but as Neil pointed out if you’re not using hibernation why specify it at boot?

What is reported by the following?
blkid
cat /etc/fstab

Ahhh … @deano_ferrari youre probably correct about that … this is a TumbleWeed install from 2020 … nice catch

windeath:/home/dart/Downloads # blkid
/dev/sda2: UUID="90e7b277-8c2a-4a99-8faa-8ba8efe76b20" UUID_SUB="d53c09fd-5fa6-4444-8537-1071e288567c" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="b2de991e-8af6-4e05-92a5-831bcd6c634a"
/dev/sda1: PARTUUID="3f2453a8-c778-42cd-8f38-c695d7cdb833"
windeath:/home/dart/Downloads # cat /etc/fstab
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /                       btrfs  defaults                      0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /var                    btrfs  subvol=/@/var                 0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /usr/local              btrfs  subvol=/@/usr/local           0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /srv                    btrfs  subvol=/@/srv                 0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /root                   btrfs  subvol=/@/root                0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /opt                    btrfs  subvol=/@/opt                 0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /home                   btrfs  subvol=/@/home                0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /boot/grub2/x86_64-efi  btrfs  subvol=/@/boot/grub2/x86_64-efi  0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /boot/grub2/i386-pc     btrfs  subvol=/@/boot/grub2/i386-pc  0  0
UUID=90e7b277-8c2a-4a99-8faa-8ba8efe76b20  /.snapshots             btrfs  subvol=/@/.snapshots          0  0

#old swap parition /dev/sda3
#UUID=3488cfb4-2311-4f73-b73b-ace4017fabb6  swap                    swap   defaults                      0  0

#new btrfs swapfile
/swap/swapfile none swap defaults 0 0

Now I feel kinda dumb … :man_facepalming:

I might wanna use hibernation at some point … I guess the installer put that in there

FWIW, I don’t have a resume= parameter at all, but my swap partition is listed in /etc/fstab, and I can hibernate without issue, (although I don’t commonly do so).

I was wondering about that … I also don’t have the nvidia-* in systemd but I sleep and resume just fine … I’ll give it a try

I’m only using a swap partition, so specifying it in /etc/fstab is sufficient for systemd. Since you’re using a swapfile, the kernel may also need the offset of the swapfile for hibernation to work properly. I’m in uncharted territory for that though.

I’ll probably just end up commenting it out for now as @nrickert suggested but I tried

windeath:/home/dart/Downloads # swapon --show --output-all
NAME           TYPE SIZE   USED PRIO UUID                                 LABEL
/swap/swapfile file   8G 291.1M   -2 aedba829-9e55-470d-a924-6d599b5e6b7d 

and changed my resume line to

GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/disk/by-uuid/aedba829-9e55-470d-a924-6d599b5e6b7d resume_offset=28349784 mitigations=auto"

but dracut still is isn’t happy for some reason … oh well I’ll play with it some more and let you know if I get it fixed

For UUID, do
resume=UUID=aedba829-9e55-470d-a924-6d599b5e6b7d

Your method is a symlink, so could fail for the same reason as mentioned before.

Internally UUID=xxx is simply translated to the /dev/disk/by-uuid/xxx.

Ok, that is good to know that it is effectively equivalent.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.