Skip to content

Limine Bootloader

As always, update first:

Update System
sudo pacman -Syu

To install limine:

Terminal window
sudo pacman -S limine

EFI partition must be mounted to /boot (which is the default for a KaOS install).

Deploying Limine on UEFI systems involves copying the BOOTX64.EFI file to the /boot/limine directory:

Terminal window
sudo cp /usr/share/limine/BOOTX64.EFI /boot/limine/

Installing limine gives you an example configuration file at /boot/limine/limine.conf.example. For details as to how to configure see CONFIG.md. It will look something like this:

/boot/limini/limine.conf.example
timeout 5 # Specifies the timeout in seconds before the first entry is automatically booted
default_entry: 1 # Points to the first entry, set to 3 if you prefer linux-next
interface_branding_colour: 1 # See the color options in the above linked CONFIG.md, 1 is black
remember_last_entry: yes # If set to yes, remember last booted entry.
term_font_scale: 2x2 # Use this setting for high-DPI displays, otherwise comment out
term_background: CC000000 # Background color of the terminal window, set very transparent black
term_foreground: FFFFFF # Terminal text color, set to white
term_margin: 100 # Frame margin around the terminal
quiet: no # If set to yes, enable quiet mode, where all screen output except panics and important warnings is suppressed.
wallpaper: boot():/limine/wallpaper.jpg # Must be in the /boot directory. BMP, PNG, and JPEG formats are supported.
/KaOS Linux
comment: KaOS with the linux kernel
protocol: linux
kernel_path: boot():/vmlinuz-linux
kernel_cmdline: quiet root=UUID=xxxxx-xxxxx-xxxxx-xxxxx resume=UUID=xxxxx-xxxxx-xxxxx rw
module_path: boot():/initramfs-linux.img
/KaOS Linux Fallback
comment: KaOS with the linux kernel, fallback
protocol: linux
kernel_path: boot():/vmlinuz-linux
kernel_cmdline: quiet root=UUID=xxxxx-xxxxx-xxxxx-xxxxx resume=UUID=xxxxx-xxxxx-xxxxx rw
module_path: boot():/initramfs-linux-fallback.img
#/KaOS Linux Next
# comment: KaOS with the linux-next kernel
# protocol: linux
# kernel_path: boot():/vmlinuz-linux-next
# kernel_cmdline: quiet root=UUID=xxxxx-xxxxx-xxxxx-xxxxx resume=UUID=xxxxx-xxxxx-xxxxx rw
# module_path: boot():/initramfs-linux-next.img
#/Other Distribution
# comment: Other OS
# protocol: linux
# kernel_path: uuid(xxxxx-xxxx-xxxxx-xxxx):/vmlinuz-linux-next #uuid is PARTUUID of other EFI partition
# kernel_cmdline: quiet root=UUID=xxxxx-xxxxx-xxxxx-xxxxx resume=UUID=xxxxx-xxxxx-xxxxx rw
# module_path: uuid(xxxxx-xxxx-xxxxx-xxxx):/initramfs-linux-next.img #uuid is PARTUUID of other EFI partition

To edit that file you will need the UUID of the boot partition:

Terminal window
sudo blkid

Look for your /boot partition (if not clear which one it is, look for TYPE="vfat")

Now open the example file:

Terminal window
sudo micro /boot/limine/limine.conf.example

As you will see, the kernel and initramfs are already filled in, editing the kernel_cmdline with the correct UUID is needed. If you only have the linux kernel installed, then this has to be done twice. If you also use the linux-next kernel, then uncomment the pre-filled Linux Next section, and add the UUID there too. Resume UUID can also be added, that is the UUID of your swap partition.

Finally, to create an entry in the UEFI Firmware, use the following command:

Terminal window
sudo efibootmgr --create --disk /dev/sda --part 1 --label "KaOS with the Limine Bootloader" --loader '/limine/BOOTX64.EFI'

Replace /dev/sda and 1 of the --part argument to the disk and partition number on which the EFI System Partition is hosted.

Do NOT include /boot when pointing to Limine Bootloader file.
/boot/limine/BOOTX64.EFI
/limine/BOOTX64.EFI