I recently found out about Limine. It’s a new and interesting bootloader, that is sleek and simple (it’s simplicity requires some slight changes to the mount layout, more on that below). It’s fast and can coexist next to other bootloaders (while it doesn’t have a snapshot booting tool (yet), you can still boot grub through it, meaning you still have perfect access to all your snapshots!).
Image from their github:
Note: Installing Limine comes at the unfortunate cost of pretty much losing the ability of booting into snapper snapshots. While you can still restore them, you’ll need to regenerate the kernel image and initramfs probably everytime, as we have established below.
What it took to set it up (requires root perms, aka sudo
- all of this is at your own risk. Best you look up the details at the links below.):
- Open
/etc/fstab
, and replace/boot/efi
with/boot/
(boot/efi is fat32, and also a separate boot partition. Limine requires both of those to function. This change doesn’t (to my knowledge) affect the system is any meaningful way) mv /boot/efi/** /boot
(we want to finish the move away from a purely-efi boot partition - You will lose snapshot capabilities for most things related to booting!)sudo pacman -S limine
cp /usr/share/limine/BOOTX64.EFI /boot/EFI
(the EFI directory should still be present, already used by grub)cp /usr/share/limine/limine-bios.sys /boot/
(the EFI directory should still be present, already used by grub)grub-install --efi-directory /boot --boot-directory /boot /dev/sdXY
Reinstall grub to use/boot
as the EFI directory. ReplacesdXY
with your root partition identifier.micro /boot/limine.cfg
:
:Garuda Linux
PROTOCOl=linux
KERNEL_PATH=boot:///vmlinuz-linux-zen
CMDLINE=root=UUID=<check "blkid" for the UUID of the root partition> rw rootflags=subvol=@
MODULE_PATH=boot:///initramfs-linux-zen.img
:Grub
PROTOCOL=efi_chainload
IMAGE_PATH=boot:///EFI/garuda/grubx64.efi
If you’re using other kernels you can of course edit KERNEL_PATH?
and MODULE_PATH
to reflect the differences…
- run
efibootmgr --create --disk /dev/sdX --part Y --loader '\EFI\BOOTX64.EFI' --label "Garuda Linux" --unicode
(replace X with your system device which has the bootloader partition, for me it’ssda
. Replace Y with the partition number of your boot partition. My boot partition is/dev/sda1
, so I set it to1
)
Benefits:
- You still have access to Grub, so no further work for our overworked Garuda Forum voluntary supporters
- You can, at least temporarily, edit Limine’s config on the fly in the boot menu
- The config is - very human. very easy to use.
- It’s fast
For any further config, check: