|
1 년 전 | |
---|---|---|
.. | ||
src | 1 년 전 | |
Cargo.toml | 1 년 전 | |
Changelog.md | 1 년 전 | |
README.md | 1 년 전 |
Library that assists parsing the Multiboot2 Information Structure (MBI) from
Multiboot2-compliant bootloaders, such as GRUB. It supports all tags from the
specification including full support for the sections of ELF files. This library
is no_std
and can be used in a Multiboot2-kernel.
It follows the Multiboot 2.0 specification at https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html and the ELF 64 specification at http://www.uclibc.org/docs/elf-64-gen.pdf.
no_std
CompatibilityThis library is always no_std
without alloc
. However, the default builder
-
feature requires the alloc
-crate and an #[global_allocator]
to be available.
You need the builder
only if you want to construct new boot information
structures at runtime. For parsing, this is not relevant, and you can
deactivate the default feature.
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 |
All tags and the mbi itself are 8-byte aligned. The last tag must be the end tag, which is a tag of type 0
and size 8
.
The MSRV is 1.68.0 stable.
See main README file.