Anyone here made it work? If UEFI can do it, what is the bootloader for?
Anyone here made it work? If UEFI can do it, what is the bootloader for?
You can use `efibootmgr` to insert the `vmlinuz` binary as a boot entry. But honestly, you are better off using a proper bootloader as it makes things a lot simpler for you to manage.
The UEFI bootloader menu is mediocre if you are lucky, terrible in most cases.
But on a typical boot it works just fine either way.
Bootloaders and boot managers take away a lot of the management, which is welcome with many UEFI screens. You have some, like HP's, that will let you browse to an EFI file and/or manually manage custom entries, basically removing the need for a bootloader in most cases, and then there are the ones like my MSI board that will corrupt their own configuration if you call efibootmgr too many times and that hide any custom boot defintions from the management UI so you have to use the Linux command line to set the preference right.
Whether you need one is up to you to decide. Most distros default to using a bootloader because that's what users expect, but there's no strict requirement for using bootloaders if you don't want Grub or rEFInd or systemd-boot on your system. However, if you want to do things like "edit the kernel parameters once every now and then", a bootloader is probably the way to go for most people.
When you're building an embedded Linux application that will only boot kernels signed by your company, I don't see the need for a bootloader, though.