Systemd-boot

systemd-boot, formerly called gummiboot, is Article description::a simple UEFI boot manager capable of booting Linux and Windows in EFI mode.

Installation
The installation of systemd-boot consists of the following steps:


 * 1) Emerging the package (not necessary if  has been emerged).
 * 2) Preparing the EFI System Partition.
 * 3) Installing the systemd-boot UEFI boot manager.

Emerge
For the moment, systemd-boot is marked as unstable (~) so it must to be added to :

Next, install the package:

If systemd itself is being used, USE=gnuefi will need to be set.

EFI system partition
Make sure that an EFI System Partition (ESP) is available on the system. This is a GPT partition on the disk that is marked as EF00 (EFI System partition).

For instance, to create an ESP using :

The filesystem on this partition must be formatted as a FAT variant. FAT32 is recommended:

Mount this location on the system ( works just fine) and create the location.

UEFI boot manager
The systemd-boot application makes the installation, which only needs to be performed once (unless a new version of systemd-boot needs to be installed), fairly simple. Verify the following:


 * The system is booted with EFI to start with (either from a EFI compatible media, or through any other UEFI boot manager) as it will otherwise fail to install.
 * The EFI variable file system (efivars) is mounted read/write:

Then perform the install itself:

The installation will install the proper EFI files so that the EFI-capable system will boot the systemd-boot bootloader.

Configuration
A boot loader entry needs to be created for each operating system.

Next to the boot loader entries, a small default configuration file can be created as well.

Default configuration entries
In a file called  can be created which contains at most the following two entries:


 * A  entry: specifying which operating system entry to boot by default.
 * A  entry: specifying the number of seconds to wait before the default boot entry is loaded.

For instance, this would look like so:

The name of the default entry is the name of the configuration entry file, as created in the next section, without the suffix.

Operating system configuration entries
These entry files need to be located in the ESP, in the location. So if the EFI system partition is mounted at then this is at. The following is an example configuration entry named "gentoo":

The linux entry points to an EFI stub file, installed in the ESP.

Although the EFI stub kernel configuration works fine, it has the downside that


 * New Linux kernels are somewhat risky to test out because only a single kernel is booted.
 * Adding boot options requires rebuilding the Linux kernel.

With systemd-boot, additional entries can be configured for new Linux kernel tests, and additional boot options are easy to add to the configuration entry file, or even at boot time.

One-time boot loader options
In order to boot the system with a particular boot option, in the systemd-boot screen, press to edit the options.

The changes made in the systemd-boot screen are not preserved!

External resources

 * https://www.phoronix.com/scan.php?page=news_item&px=systemd-Gummiboot-Boot-Loader - Gummiboot UEFI Boot Loader To Be Added To Systemd.
 * https://phoronix.com/scan.php?page=news_item&px=Gummiboot-Is-Dead - Gummiboot Is Dead.