install fails on omarchy 3.2 with limine-snapper script expecting /boot/limine/limine.conf
System details
Surface Book 2
What's wrong?
Surface Book 2, so after archinstall using the setup from https://learn.omacom.io/2/the-omarchy-manual/96/manual-installation, I follow the guide from surface-linux here https://github.com/linux-surface/linux-surface/wiki/Installation-and-Setup.
Since I was hit by #3335 during my last install attempt some weeks ago I moved /boot/EFI/limine/limine.conf to /boot/limine.conf this time, even though the issue was closed. Update limine.conf to add entry with surface-linux and reboot with secure boot works fine.
During omarchy 3.2 install, I see
Updated: /boot/limine.conf
which makes me happy. However, it is followed by:
v Signed /boot/EFI/limine/limine_x64.efi
(5/7) Reloading system bus configuration
(6/7) Updating icon theme caches...
(7/7) Updating the desktop file MIME type cache...
Error: Limine config not found at /boot/limine/limine.conf
This command halted with exit code 0:
Failed script: /home/zark/.local/share/omarchy/install/login/limine-snapper.sh
There was no /boot/limine/limine.conf after archinstall and I did not move it there, so I guess that is correct - but then why does it fail on this path?
I have no folder /boot/limine/
The install seems to have updated /boot/limine.conf properly and there is the expected /boot/limine.conf.old as well.
I see in limine-snapper.sh that it really does fall back to that path: https://github.com/basecamp/omarchy/blob/master/install/login/limine-snapper.sh#L10-L20
# Conf location is different between EFI and BIOS
if [[ -n "$EFI" ]]; then
# Check USB location first, then regular EFI location
if [[ -f /boot/EFI/BOOT/limine.conf ]]; then
limine_config="/boot/EFI/BOOT/limine.conf"
else
limine_config="/boot/EFI/limine/limine.conf"
fi
else
limine_config="/boot/limine/limine.conf"
fi
But why?
Changing the fallback to
else
limine_config="/boot/limine.conf"
fi
fixed the issue for me and the install script successfully ran afterwards.
This was probably a self-own since I tried to be smart and avoid the issues i had last time, so I removed the conf from the EFI folder so there was only one conf in /boot to update.
However, the omarchy install did correctly find and update my /boot/limine.conf so I do not see a good reason for why it should fail on finding this path later. Added a simple PR.
I see a couple of things that are interesting here.
- It fell back to the non-EFI location. This is odd since I have to imagine any Surface is running EFI and not old school BIOS
- You wound up with the file in a location that Archinstall doesn't write to. We write ours to
/boot/limine.conffor limine entry tool but Archinstall doesn't write to that path from what I've seen. (Ref: https://github.com/archlinux/archinstall/blob/60302060e3deef8f44d0ce0d0cb20e3fb6b947b6/archinstall/lib/installer.py#L1385-L1400)
Is there anything else unique about the path you took to install that may indicate how you got here and whether it's a scenario we need to account for?
This was a clean install of first arch linux (to get linux surface set up) and then omarchy.
As I said, might be a self-own - I got here manually, as I was hit by #3335 last time I tried (on a clean install, not upgrade), so I manually did the proposed workaround from that issue by moving the conf I had after archinstall from the EFI subfolder-path to /boot before I ran omarchy install this time.
I had the same issue in the past: https://github.com/basecamp/omarchy/issues/2431
I got hit by the exact same issue today on a new arch install on a macbook pro 2017 and changing the limine-snapper.sh as mentioned by @ZarK fixed it as well! Afterwards ran the install.sh again and now it fully works
Today I tried the installer on a macbook pro 2015 after Arch install, got the exact same issue..