Skip to content

hibernation remove leaves resume kernel parameters in the UKI (Limine drop-in not removed) #12096

Closed as duplicate

Description

@maandrij

Summary

omarchy hibernation setup writes the resume kernel parameters to /etc/limine-entry-tool.d/resume.conf (and, on s2idle systems, /etc/limine-entry-tool.d/rtc-alarm.conf), but omarchy hibernation remove never deletes those drop-ins. It only removes the mkinitcpio hook (/etc/mkinitcpio.conf.d/omarchy_resume.conf) and then runs limine-mkinitcpio.

As a result, after removal the rebuilt UKI still embeds resume=/dev/mapper/root resume_offset=…, pointing at a swapfile that no longer exists. The kernel can't find a resume image and falls through to a normal boot, but the boot configuration is left stale — remove is not symmetric with setup.

Steps to reproduce

  1. omarchy hibernation setup

  2. Confirm both drop-ins exist:

    • /etc/mkinitcpio.conf.d/omarchy_resume.conf
    • /etc/limine-entry-tool.d/resume.conf (contains resume= / resume_offset=)
  3. omarchy hibernation remove

  4. /etc/limine-entry-tool.d/resume.conf is still present, and the rebuilt UKI still contains the resume parameters:

    objcopy -O binary --only-section=.cmdline /boot/EFI/Linux/omarchy_linux.efi /dev/stdout | tr -d '\0'
    # ... still shows resume=/dev/mapper/root resume_offset=...
    

Expected

omarchy hibernation remove should remove the Limine drop-ins that setup created, before rebuilding the boot image — mirroring what setup does. Something like:

sudo rm -f /etc/limine-entry-tool.d/resume.conf
sudo rm -f /etc/limine-entry-tool.d/rtc-alarm.conf

next to the existing removal of /etc/mkinitcpio.conf.d/omarchy_resume.conf, followed by the usual limine-mkinitcpio.

Relevant code

  • omarchy-hibernation-setup defines RESUME_DROP_IN="/etc/limine-entry-tool.d/resume.conf" and writes it; it also writes /etc/limine-entry-tool.d/rtc-alarm.conf when /sys/power/mem_sleep contains [s2idle].
  • omarchy-hibernation-remove only references MKINITCPIO_CONF (/etc/mkinitcpio.conf.d/omarchy_resume.conf) and never touches /etc/limine-entry-tool.d/.

Environment

  • Omarchy 4.0.3-1
  • limine 12.8.0-1, limine-mkinitcpio-hook 1.38.0-1.1
  • Kernel 7.2.3-arch1-3
  • Root on btrfs over LUKS, UKI built via limine-entry-tool

Activity

  1. omarchybot commented on Oct 12, 2026

    @omarchybot
    Collaborator

    This is the same bug as #10037, which was opened two weeks earlier and is still open, so I'm closing this one as a duplicate.

    I checked it against quattro (9480d1b). The mechanism is as you describe. bin/omarchy-hibernation-setup writes /etc/limine-entry-tool.d/resume.conf, and on s2idle machines /etc/limine-entry-tool.d/rtc-alarm.conf as well. bin/omarchy-hibernation-remove deletes the swapfile, the /swap subvolume, the fstab entry and /etc/mkinitcpio.conf.d/omarchy_resume.conf, but it never touches /etc/limine-entry-tool.d/. So the limine-mkinitcpio it runs at the end bakes resume=/resume_offset= back into the UKI. #10037 reports the same missing removal with the same reproduction and the same proposed fix, and it also covers rtc-alarm.conf.

    Two open pull requests already delete resume.conf in omarchy-hibernation-remove before the rebuild: #13584 and #13768. Choosing between them is up to the maintainer. Neither removes rtc-alarm.conf. That file only holds the fixed rtc_cmos.use_acpi_alarm=1, with no offset that could go stale, so leaving it behind is untidy but not harmful.

    I checked this by reading the source; nothing needed running. Codex Medium gave a second opinion on whether this is a duplicate. If they turn out to be different bugs, this can be reopened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingduplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions