1
1
# multiboot2
2
2
3
- ![ Build] ( https://github.com/rust-osdev/multiboot2/actions/workflows/rust.yml/badge.svg )
4
3
[ ![ crates.io] ( https://img.shields.io/crates/v/multiboot2.svg )] ( https://crates.io/crates/multiboot2 )
5
4
[ ![ docs] ( https://docs.rs/multiboot2/badge.svg )] ( https://docs.rs/multiboot2/ )
6
5
7
- Library that assists parsing the Multiboot2 Information Structure (MBI) from
8
- Multiboot2-compliant bootloaders, such as GRUB. It supports all tags from the
9
- specification including full support for the sections of ELF files. This library
10
- is ` no_std ` and can be used in a Multiboot2-kernel .
6
+ Convenient and safe parsing of Multiboot2 Information Structures (MBI) and its
7
+ corresponding tags. Usable in ` no_std ` environments, such as a kernel. An
8
+ optional builder feature also allows the construction of the corresponding
9
+ structures .
11
10
12
11
It follows the Multiboot 2.0 specification
13
12
at https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html and the
@@ -19,7 +18,7 @@ This library is always `no_std` without `alloc`. However, the default `builder`-
19
18
feature requires the ` alloc ` -crate and an ` #[global_allocator] ` to be available.
20
19
You need the ` builder ` only if you want to construct new boot information
21
20
structures at runtime. For parsing, this is not relevant, and you can
22
- deactivate the default feature .
21
+ deactivate the default features .
23
22
24
23
## Background: The Multiboot 2 Information Structure
25
24
@@ -40,9 +39,6 @@ There are many different types of tags, but they all have the same beginning:
40
39
size | u32
41
40
other fields | variable
42
41
43
- All tags and the mbi itself are 8-byte aligned. The last tag must be the _ end
44
- tag_ , which is a tag of type ` 0 ` and size ` 8 ` .
45
-
46
42
## MSRV
47
43
48
44
The MSRV is 1.70.0 stable.
0 commit comments