Limine: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
'''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.
'''Limine''' is an advanced multiprotocol x86/x86_64 [[BIOS]] and [[UEFI]] bootloader, with support for the Linux, [[Multiboot|multiboot1 and 2]], and [[Stivale|stivale1 and 2]] boot protocols (and serving as the reference implementation for these last two).


== 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 originally only supported [[BIOS]] and the stivale1 protocol, but it was later expanded to also support [[UEFI]] and the Linux and [[multiboot]] protocols.


== Supported protocols and filesystems ==
== 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.
As mentioned above, Limine supports the [[stivale]] boot protocols, alongside Linux's own boot protocol (which means one can boot Linux fully using Limine), multiboot 1 and 2 (allowing it to boot a vast catalogue of hobby OSes and more), and chainloading to allow to undirectly boot unsupported operating systems such as Microsoft Windows.


It supports the [[FAT|FAT16/32]], [[ext2]], [[ext3]], [[ext4]], [[NTFS]] and [[ISO 9660]] filesystems alongside the lesser known [[echfs]] file system.
It supports the [[FAT|FAT12/16/32]], [[ext2]], [[ext3]], [[ext4]], [[NTFS]] (experimental, trunk only), and [[ISO 9660]] (used by optical media and hybrid ISO images) filesystems alongside the lesser known [[echfs]] file system.


== How to use Limine with your kernel ==
== 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.
The [[stivale Bare Bones]] article contains a basic tutorial on how to use Limine and the stivale2 protocol. Furthermore, a GitHub repository containing a simple example template for a 64-bit kernel loaded using Limine can be found in the external links section.


== See Also ==
== See Also ==
Line 25: Line 27:
*[https://github.com/stivale/stivale/blob/master/STIVALE.md stivale boot protocol specification.]
*[https://github.com/stivale/stivale/blob/master/STIVALE.md stivale boot protocol specification.]
*[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/stivale/stivale2-barebones Barebones stivale2 template using Limine.]
*[https://github.com/TomatOrg/TomatBoot TomatBoot] (exclusively UEFI implementation of stivale, now archived)


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

Revision as of 04:09, 18 December 2021

Limine is an advanced multiprotocol x86/x86_64 BIOS and UEFI bootloader, with support for the Linux, multiboot1 and 2, and stivale1 and 2 boot protocols (and serving as the reference implementation for these last two).

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.

It originally only supported BIOS and the stivale1 protocol, but it was later expanded to also support UEFI and the Linux and multiboot protocols.

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), multiboot 1 and 2 (allowing it to boot a vast catalogue of hobby OSes and more), and chainloading to allow to undirectly boot unsupported operating systems such as Microsoft Windows.

It supports the FAT12/16/32, ext2, ext3, ext4, NTFS (experimental, trunk only), and ISO 9660 (used by optical media and hybrid ISO images) 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 stivale2 protocol. Furthermore, a GitHub repository containing a simple example template for a 64-bit kernel loaded using Limine can be found in the external links section.

See Also

Articles

External Links