multiboot2
Convenient and safe parsing of Multiboot2 Boot Information (MBI)
structures and the contained information tags. Usable in no_std environments,
such as a kernel. The default builder feature also allows the construction of
the corresponding structures.
It follows the Multiboot 2.0 specification.
Design
For every Multiboot2 structure, there is an ABI-compatible rusty type. This enables a zero-copying parsing design while also enabling the creation of these structures via convenient constructors on the corresponding types.
Features and no_std Compatibility
This library is always no_std. The default builder feature enables alloc;
using it requires an #[global_allocator]. Remove that feature if you do not
need to construct boot information structures.
Background: The Multiboot 2 Information Structure
The Multiboot information structure looks like this:
| Field | Type |
|---|---|
| total size | u32 |
| reserved | u32 |
| tags | variable |
| end tag = (0, 8) | (u32, u32) |
There are many different types of tags, but they all have the same beginning:
| Field | Type |
|---|---|
| type | u32 |
| size | u32 |
| other fields | variable |
MSRV
The MSRV is 1.85.1 stable.
License & Contribution
See main README file.