Limine: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
m (Update links)
(Limine now supports UEFI and TomatBoot is archived)
Line 1: Line 1:
'''Limine''' is a modern, advanced bootloader with support for cutting edge features such as 5-level paging, 64-bit [[Long Mode]], and direct higher half loading thanks to the [[stivale]] boot protocol.
'''Limine''' is a modern, advanced x86 bootloader for [[BIOS]] and [[UEFI]], with support for cutting edge features such as 5-level paging, 64-bit [[Long Mode]], and direct higher half loading thanks to the [[stivale]] boot protocol.


== History ==
== History ==


Limine was created as the reference implementation for the [[stivale]] boot protocols. The protocols were conceived as a response to the shortcomings of [[Multiboot]].
Limine was created as the reference implementation for the [[stivale]] boot protocols. The protocols were conceived as a response to the shortcomings of [[Multiboot]].

It does not support UEFI by design, but stivale is a firmware agnostic protocol and there exist UEFI implementations such as [https://github.com/TomatOrg/TomatBoot TomatBoot].


== Supported protocols and filesystems ==
== Supported protocols and filesystems ==


As mentioned above, Limine supports the [[stivale]] boot protocol, alongside Linux's own boot protocol (which means one can boot Linux fully using Limine), and chainloading to allow booting unsupported third party operating systems such as Microsoft Windows.
As mentioned above, Limine supports the [[stivale]] boot protocols, alongside Linux's own boot protocol (which means one can boot Linux fully using Limine), and chainloading to allow booting unsupported third party operating systems such as Microsoft Windows.


It supports the [[FAT|FAT32]], [[ext2]], [[ext3]], and [[ext4]] filesystems alongside the lesser known [[echfs]] file system.
It supports the [[FAT|FAT16/32]], [[ext2]], [[ext3]], [[ext4]], and [[ISO 9660]] filesystems alongside the lesser known [[echfs]] file system.


== How to use Limine with your kernel ==
== How to use Limine with your kernel ==
Line 28: Line 26:
*[https://github.com/stivale/stivale/blob/master/STIVALE2.md stivale2 boot protocol specification.]
*[https://github.com/stivale/stivale/blob/master/STIVALE2.md stivale2 boot protocol specification.]
*[https://github.com/limine-bootloader/limine-barebones Barebones example with Limine.]
*[https://github.com/limine-bootloader/limine-barebones Barebones example with Limine.]
*[https://github.com/TomatOrg/TomatBoot TomatBoot] (UEFI implementation of stivale)
*[https://github.com/TomatOrg/TomatBoot TomatBoot] (exclusively UEFI implementation of stivale, now archived)


[[Category:Bootloaders]]
[[Category:Bootloaders]]

Revision as of 07:35, 21 March 2021

Limine is a modern, advanced x86 bootloader for BIOS and UEFI, with support for cutting edge features such as 5-level paging, 64-bit Long Mode, and direct higher half loading thanks to the stivale boot protocol.

History

Limine was created as the reference implementation for the stivale boot protocols. The protocols were conceived as a response to the shortcomings of Multiboot.

Supported protocols and filesystems

As mentioned above, Limine supports the stivale boot protocols, alongside Linux's own boot protocol (which means one can boot Linux fully using Limine), and chainloading to allow booting unsupported third party operating systems such as Microsoft Windows.

It supports the FAT16/32, ext2, ext3, ext4, and ISO 9660 filesystems alongside the lesser known echfs file system.

How to use Limine with your kernel

The stivale Bare Bones article contains a basic tutorial on how to use Limine and the stivale protocol. Furthermore, a GitHub repository containing a simple example of a 64-bit kernel loaded with Limine can be found in the external links section.

See Also

Articles

External Links