LinuxCommandLibrary

limine-enroll-config

Enroll Limine bootloader configuration

TLDR

Embed a config file's BLAKE2B hash into the Limine EFI executable

$ limine-enroll-config [path/to/BOOTX64.EFI] [blake2b_hash]
copy

Remove the enrolled hash from the executable, disabling the config integrity check
$ limine-enroll-config --reset [path/to/BOOTX64.EFI]
copy

Display help
$ limine-enroll-config --help
copy

SYNOPSIS

limine-enroll-config [OPTIONS] <limine_config_file>

PARAMETERS

<limine_config_file>
    The path to the Limine configuration file to be enrolled and made bootable.

-d <ESP_DIR>, --esp-directory=<ESP_DIR>
    Specifies the mount point of the EFI System Partition (ESP). This is crucial for creating or updating EFI boot entries.

-o <NAME>, --entry-name=<NAME>
    Sets the display name for the Limine boot entry as it appears in the system's boot menu.

-t <SECONDS>, --timeout=<SECONDS>
    Defines the timeout in seconds for the boot menu before a default entry is automatically selected.

-v, --verbose
    Enables verbose output, providing more detailed information and debug messages about the enrollment process.

--append-cmdline=<ARGS>
    Appends additional kernel command-line arguments to the boot entry, which will be passed to the kernel upon boot.

--efi-only
    Instructs the command to only manage EFI boot entries, skipping any interaction with GRUB configuration.

--grub-only
    Instructs the command to only manage GRUB configuration, skipping any interaction with EFI boot entries.

--bootloader-id=<ID>
    Sets the Bootloader ID for EFI boot entries, useful for systems with multiple bootloaders or for specific systemd-boot setups.

DESCRIPTION

The limine-enroll-config command is a utility within the Limine bootloader project designed to simplify the process of making a Limine configuration file bootable on a system. Instead of manually editing bootloader configuration files (like /boot/grub/grub.cfg) or using low-level tools (like efibootmgr), this command automates the integration of a specified Limine configuration file into the system's boot environment.

It handles the creation or modification of boot entries to point to the Limine bootloader, which in turn reads the provided configuration file. This includes support for various boot mechanisms, such as updating GRUB entries, creating EFI System Partition (ESP) boot entries, or interacting with systemd-boot. Its primary goal is to ensure that a Limine installation can correctly find and use a desired configuration, streamlining setup and reducing the potential for manual errors.

CAVEATS

This command typically requires root privileges (or sudo) to modify system boot entries and files within the EFI System Partition or GRUB configuration. Incorrect usage or a malformed Limine configuration file can lead to an unbootable system. It is designed for systems where Limine is already installed or intended to be the primary bootloader, and its effects on other bootloaders should be understood before execution.

CONFIGURATION FILE FORMAT

The limine-enroll-config command expects the provided <limine_config_file> to adhere to Limine's specific configuration syntax. This file defines boot entries, kernel paths, initramfs, command-line arguments, and other boot-time parameters. Users should consult the Limine documentation for the correct syntax and available directives.

BOOTLOADER INTERACTION

While limine-enroll-config itself is a Limine utility, it interacts with existing boot managers on the system. For UEFI systems, it modifies EFI variables via tools like efibootmgr. For systems using GRUB, it generates or modifies GRUB configuration snippets to chainload Limine. Understanding the underlying boot mechanism of your system is beneficial when using this command.

HISTORY

Limine is a modern, lightweight, and open-source bootloader developed with a focus on simplicity and speed. The limine-enroll-config utility emerged as a crucial component to streamline the integration of Limine into diverse boot environments. Its development reflects a need to automate the often complex and error-prone process of manually configuring boot entries across different systems (UEFI, BIOS, GRUB, systemd-boot), making Limine more accessible and user-friendly for system administrators and users alike since its inception.

SEE ALSO

limine-install(8), limine-build(1), efibootmgr(8), grub-mkconfig(8), bootctl(1)

Copied to clipboard