LinuxCommandLibrary

limine

Load operating system kernel

TLDR

Install Limine to an MBR-partitioned disk

$ limine bios-install [/dev/sdX]
copy

Install Limine to a GPT-partitioned disk with a specific BIOS boot partition
$ limine bios-install [/dev/sdX] [partition_number]
copy

Install Limine to a disk image file
$ limine bios-install [path/to/image.iso]
copy

Install Limine for modern UEFI systems (requires the limine-entry-tool package)
$ limine-install
copy

Update boot entries after a kernel upgrade (requires the limine-entry-tool package)
$ limine-update
copy

Scan for other operating systems to add to the boot menu (requires the limine-entry-tool package)
$ limine-scan
copy

SYNOPSIS

limine-install [options] device
The limine-install utility is used to install the Limine bootloader onto a target storage device (disk or partition).

PARAMETERS

-h, --help
    Display help message and exit.

-p, --partition
    Install Limine to a specific partition instead of the entire disk.

-v, --verbose
    Print more detailed information during the installation process.

-s, --skip-esp-check
    Skip checking for an EFI System Partition (ESP) on UEFI systems.

-a, --allow-uuid-scan
    Enable scanning for UUIDs to locate the Limine configuration file.

-E , --efi-file
    Specify the EFI executable file path for UEFI installations.

-u, --update
    Update an existing Limine bootloader installation.

-C , --config
    Specify an alternative path to the Limine configuration file (limine.cfg).

-r, --raw
    Install raw bootloader code without an ELF executable (for advanced use).

-F, --force
    Force the installation, overriding potential warnings or issues.

device
    The target disk or partition device (e.g., /dev/sda, /dev/nvme0n1p1) where Limine will be installed.

DESCRIPTION

Limine is a modern, high-performance, and flexible open-source bootloader designed primarily for 64-bit systems. It supports both BIOS and UEFI environments and provides a robust boot protocol for operating systems to interact with. Limine aims to be a next-generation bootloader, offering features like a graphical boot menu, various boot protocols (Limine protocol, Multiboot1/2, Stivale, Stivale2), and a streamlined development experience for OS developers. It emphasizes speed, security, and ease of use, making it a powerful alternative to traditional bootloaders like GRUB.

CAVEATS

Installation of Limine requires root privileges. Incorrect usage of limine-install can lead to data loss or an unbootable system. Limine's runtime behavior is configured via a limine.cfg file, not command-line options at boot. Users should be familiar with bootloader concepts and partition schemes (MBR/GPT, BIOS/UEFI, ESP).

LIMINE BOOT PROTOCOL

Limine introduces its own clean and well-defined boot protocol. This protocol streamlines the communication between the bootloader and the operating system kernel, enabling efficient data transfer and system initialization without the burden of legacy standards, facilitating easier kernel development.

CONFIGURATION FILE (<I>LIMINE.CFG</I>)

The behavior of the Limine bootloader, including boot entries, kernel paths, modules, boot arguments, timeouts, and graphical settings, is defined in a text-based configuration file named limine.cfg. This file is typically located at the root of the boot partition and uses a straightforward syntax.

SUPPORTED BOOT PROTOCOLS

Beyond its native Limine protocol, the bootloader offers extensive compatibility by supporting other widely used protocols such as Multiboot1/2 and Stivale/Stivale2. This broad support allows Limine to boot a wide variety of existing operating systems and custom kernels.

HISTORY

Limine was created by 'minio' as a modern, high-performance alternative to existing bootloaders like GRUB. Its development focused on providing a clean, modular codebase and a robust boot protocol, particularly beneficial for hobby OS developers. Over time, it has evolved into a feature-rich bootloader supporting a wide range of hardware and boot standards, distinguishing itself with a fresh design and emphasis on speed and flexibility.

SEE ALSO

grub(8) - GRand Unified Bootloader, syslinux(8) - A collection of lightweight bootloaders, refind(8) - An EFI boot manager

Copied to clipboard