2.9 KiB
Back to the top joborun wiki page
this document is a contribution by joborun communit member: Kerry Kappell (kerry@klouded.org)
Installing Limine on a new BIOS installation
Additonal steps to a fresh installation:
Limine works with either a DOS or an GPT partion table. GPT is recommended. A FAT partion is required. A modern trend is to make the FAT partion the /boot directory so make the size at least 256M or 512M.
mkfs.fat -F 32 /dev/sdXY (for example and where X = disk letter and Y = the partiton number)
mkdir /mnt/boot
mount /dev/sdXY /boot
pacman -Syu linux-lts limine
mv /boot/limine/limine.cfg /boot/limine/limine.cfg.jobopkg
nano /boot/limine/limine.cfg
and add:
TIMEOUT=5
:Joborun Linux-LTS
PROTOCOL=linux
KERNEL_PATH=boot:///vmlinuz-linux-lts
CMDLINE=root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro net.ifnames=0 ipv6.disable=1 init=/usr/bin/runit-init
MODULE_PATH=boot:///initramfs-linux-lts.img
(Your UUID can be found by ‘cat /etc/fstab’ or ‘genfstab -U /’ or ls -lh /dev/disk/by-uuid )
- limine bios-install /dev/sdX (limine-bios.sys has already been added to /boot/limine/)
Installing Limine on a new UEFI installation
Step 0: The following command should be run outside (if non-systemd) and inside the chroot: mount -t efivarfs efivarfs /sys/firmware/efi/efivars
Steps 1 through 8 apply to a new UEFI installation as well but steps 1-5 are very familiar to UEFI setups and don’t really need instructions here.
pkg -S efibootmgr
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
mkdir -p /boot/EFI/BOOT
cp /usr/share/limine/BOOTX64.EFI /boot/EFI/BOOT/
efibootmgr --create --disk /dev/sdX --part Y --loader ‘EFI\BOOT\BOOTX64.EFI’ --label ‘Limine Boot Manager’ --unicode
where X and Y need to be replaced with your disk letter and partition number. Note that backslashes are used here instead of forward slashes. Also note that ‘/boot’ or ‘\boot’ is omitted as it is cover by the disk and partition info.
Of interest, both BIOS and UEFI setups can be done on the UEFI installation and now one has a dual boot setup!
Installing limine on an existing system with GRUB can also be done but limine does not replace or reorder the efibootmgr entries but I’ll leave that for another day.
References:
- https://wiki.archlinux.org/title/Limine
- https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface
- https://wiki.archlinux.org/title/EFISTUB
- https://limine-bootloader.org/
- https://forum.garudalinux.org/t/yet-another-bonkers-bootloader-limine/34219
- https://gitee.com/input-output/limine
- https://linuxconfig.org/how-to-manage-efi-boot-manager-entries-on-linux
- https://github.com/limine-bootloader/limine/blob/trunk/test/limine.cfg
- https://www.linuxbabe.com/command-line/how-to-use-linux-efibootmgr-examples
- https://raw.githubusercontent.com/rhinstaller/efibootmgr/master/README