Skip to content

Duplicate "Omarchy" boot entry boots the image build's stale kernel (machine-id mismatch) #426

Open

Description

@YoumingXK

What's wrong?

A freshly installed guest shows two Limine menu entries both labelled "Omarchy", and the first one
boots a stale kernel/initramfs left over from image build:

/boot/b6fa37cb3a8447379bea01a831cad782/linux-omarchy/vmlinuz      (image-build machine-id)
/boot/b6fa37cb3a8447379bea01a831cad782/linux-omarchy/initramfs
/etc/machine-id = d7dd55376e674d79a784aa85e162bf36                (machine-id after first boot)

FIND_BOOTLOADERS=yes (from omarchy-defaults.conf) makes limine-entry-tool scan /boot/<machine-id>/,
so the build-time directory becomes a real boot entry. The generated menu then contains:

/+Omarchy
  //linux-omarchy
  protocol: linux
  module_path: boot():/b6fa37.../linux-omarchy/initramfs   <- stale image
  ...
/+Omarchy
  //linux-omarchy
  protocol: efi
  path: boot():/EFI/Linux/omarchy_linux-omarchy.efi        <- current UKI

Both share the same displayed name, and the stale one is listed first, so default_entry: 2 is
needed for a normal boot.

Why this matters for bug reports: any change to the current image (kernel modules, initramfs contents,
boot splash) silently does nothing when the stale entry is picked. While debugging the missing boot
splash I rebooted four times in a row and only later noticed that half of them had booted the old
image, which made the fix look ineffective.

Fix

  • Image build: remove /boot/<build-machine-id>/ (or generate the tree under the machine-id the guest
    will end up with) so the shipped image has a single entry.
  • Or have the entry generator ignore /boot/<machine-id>/ directories whose machine-id is not the
    running one.

System details

  • Try Omarchy 0.1.0-33, Omarchy 4.0.0.r7314.g58858ae-1
  • limine 12.9.4, limine-mkinitcpio-hook 1.40.0, FIND_BOOTLOADERS=yes, ENABLE_UKI=yes

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions