EFIstub Tutorial?

A couple of months ago, I came across a tutorial by dalto, explaining how to replace GRUB with systemd-boot on EndeavourOS: [Tutorial] Convert to systemd-boot
I was wondering if would be possible to do something similar, but instead of replacing GRUB with systemd-boot, you replace it with EFIstub instead. I would love for there to be a tutorial on this as well.

Sure, just remove grub and then replace it using the instructions here:
https://wiki.archlinux.org/title/EFISTUB#Using_UEFI_directly

Keep in mind, you will need to manage it manually from there on out. If you install a different kernel you will need to manually configure for that kernel too.

I am not sure how much more could be added in a tutorial. It is basically remove grub then run one efibootmgr command to add the entry and then another to set the boot order.

Keep in mind the actual commands will vary a bit according to your specific setup. It is a very manual way to boot the system.

3 Likes

Is it possible to somewhat automate the process (as in, when I have gotten it all set up, I don’t need to worry about it anymore every time there’s an update for the kernel)? If not, is there a way to make it very easy to reconfigure every time a new kernel arrives?

You won’t have to change it when you update the kernel. Only when you install a different kernel

So, updating the kernel (via yay, for example) is different from installing a new kernel (and I assume you mean stuff like a LTS kernel)?

Yes

I don’t understand the ‘–unicode’ part of the tutorial. Do they mean that I have to replace ‘–unicode’ with my kernel parameters of choice, or do I have to append my kernel parameters after ‘–unicode’?

The latter.

So, for example: efibootmgr --disk /dev/sdX --part Y --create --label "Arch Linux" --loader /vmlinuz-linux --unicode quiet splash vt.global_cursor_default=0 'root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX resume=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=\initramfs-linux.img' --verbose?

Assuming:

  • You replace the device name with your actual device name
  • You replace all the X’s with the appropriate values
  • Your kernel and initramfs are in those locations

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