LinuxCommandLibrary

limine-entry-tool

Create Limine boot entries

TLDR

Scan for other active UEFI boot entries and add them to the Limine menu

$ limine-entry-tool --scan
copy

Add a new kernel boot entry with an initramfs and a kernel file
$ limine-entry-tool --add "[kernel_name]" "[path/to/initramfs]" "[path/to/vmlinuz]"
copy

Add a new Unified Kernel Image (UKI) boot entry
$ limine-entry-tool --add-uki "[kernel_name]" "[path/to/uki.efi]"
copy

Remove a kernel boot entry and its associated files from the ESP
$ limine-entry-tool --remove "[kernel_name]"
copy

Remove an entire OS entry by its name or machine ID
$ limine-entry-tool --remove-os "[OS_name|machine_id]"
copy

Add an EFI boot entry for an alternative bootloader (e.g., Windows)
$ limine-entry-tool --add-efi "[EFI_entry_name]" "[path/to/loader.efi]"
copy

SYNOPSIS

limine-entry-tool options EFI_FILE
limine-entry-tool --ls EFI_FILE
limine-entry-tool --add NAME PATH EFI_FILE
limine-entry-tool --rm NAME EFI_FILE

PARAMETERS

EFI_FILE
    The path to the Limine EFI binary (e.g., BOOTX64.EFI or BOOTIA32.EFI) to be modified or inspected.

--ls
    Lists all currently registered entry points, showing their internal names and target paths, within the specified EFI file.

--add NAME PATH
    Adds a new entry point. NAME is a unique identifier for the entry, and PATH is the file path (relative to the EFI System Partition root) that Limine will chainload or boot to.

--rm NAME
    Removes the entry point identified by NAME from the specified EFI file.

DESCRIPTION

The `limine-entry-tool` is a utility provided as part of the Limine bootloader project. Its primary function is to inspect, add, or remove entry points directly within a Limine EFI image, such as `BOOTX64.EFI` or `BOOTIA32.EFI`. This tool is indispensable for scenarios requiring custom boot configurations, such as chainloading other bootloaders, integrating custom payloads, or managing multiple operating systems directly from the Limine binary. It offers a command-line interface to interact with the internal structure of the Limine EFI file, providing a flexible and robust solution for various boot environments, especially where firmware-agnostic configuration is desired. Users can list existing entries, add new ones with specified names and paths, or remove previously configured entries, making it a powerful tool for advanced bootloader management.

CAVEATS

Modifying EFI files directly can be risky; always backup the original EFI file before making changes. The tool requires write permissions to the EFI_FILE for `--add` and `--rm` operations. Paths provided with `--add` are relative to the EFI System Partition (ESP) root, not the local filesystem root. Incorrectly configured entries can lead to boot failures. This tool is specific to Limine EFI binaries and will not work with other bootloaders' EFI files.

USE CASES

This tool is particularly valuable for:
Chainloading: Seamlessly adding entries to boot other bootloaders or operating systems.
Custom Boot Entries: Integrating custom payloads, utilities, or diagnostics tools directly into the Limine EFI image.
Firmware-Agnostic Configuration: Storing crucial boot options directly within the bootloader itself, thereby reducing reliance on potentially volatile or limited UEFI firmware variables.

OUTPUT OF --LS

When the `--ls` option is used, the `limine-entry-tool` outputs a clear list of all embedded entry points. This list typically includes the internal name of each entry and the path (relative to the ESP root) that Limine is configured to boot. This feature allows users to easily inspect and verify the current boot configuration stored within the Limine EFI file.

HISTORY

The `limine-entry-tool` is an integral part of the Limine bootloader project, which emerged as a modern, modular, and performant open-source bootloader. Its development is intertwined with the evolution of the Limine project itself, continuously adapting to support diverse boot scenarios across various architectures, including x86-64 and AArch64. The tool's design reflects Limine's core philosophy of offering robust and flexible configuration options that are embedded directly within the bootloader binary, enhancing its utility for complex multi-boot environments.

SEE ALSO

limine-install(8), efibootmgr(8)

Copied to clipboard