Rusty wrappers for Multiboot2.

Philipp Schuster 97697dc6fc Changelog adjusted 3 жил өмнө
.github 70d3a605a8 Sensible style checks as optional CI tasks. 3 жил өмнө
src 70d3a605a8 Sensible style checks as optional CI tasks. 3 жил өмнө
.gitignore 020277ce00 Added ModuleIter, .gitignore change 8 жил өмнө
Cargo.toml 5374975697 v0.12.1 3 жил өмнө
Changelog.md 97697dc6fc Changelog adjusted 3 жил өмнө
LICENSE-APACHE 3fc6167535 Add MIT/Apache2 license (#4) 9 жил өмнө
LICENSE-MIT 3fc6167535 Add MIT/Apache2 license (#4) 9 жил өмнө
README.md 77aa95c116 renamed old Github urls in README 3 жил өмнө

README.md

multiboot2

Build crates.io docs

Rust library that helps you to parse the multiboot information structure (mbi) from Multiboot2-compliant bootloaders, like GRUB. It supports all tags from the specification including full support for the sections of ELF-64 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.

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

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.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.