38 releases (25 breaking)

new 0.27.0 Mar 17, 2024
0.26.0 Nov 12, 2023
0.25.0 Oct 10, 2023
0.24.0 Jun 21, 2023
0.1.2 Feb 15, 2016

#16 in Embedded development

Download history 4519/week @ 2023-12-02 4082/week @ 2023-12-09 3502/week @ 2023-12-16 3349/week @ 2023-12-23 3731/week @ 2023-12-30 5698/week @ 2024-01-06 5955/week @ 2024-01-13 7122/week @ 2024-01-20 5679/week @ 2024-01-27 8497/week @ 2024-02-03 8101/week @ 2024-02-10 8818/week @ 2024-02-17 8105/week @ 2024-02-24 8957/week @ 2024-03-02 9892/week @ 2024-03-09 7706/week @ 2024-03-16

36,210 downloads per month
Used in 7 crates

MPL-2.0 license

1MB
18K SLoC

uefi-rs

Crates.io Docs.rs Stars License Build status

UEFI is the successor to the BIOS. It provides an early boot environment for OS loaders, hypervisors and other low-level applications.

The uefi crate makes it easy to:

  • Write UEFI applications in Rust (for i686, x86_64, or aarch64)
  • Call UEFI functions from an OS (usually built with a custom target)

The objective is to provide safe and performant wrappers for UEFI interfaces, and allow developers to write idiomatic Rust code.

Check out the UEFI application template for a quick start.

Optional features

This crate's features are described in src/lib.rs.

See also the uefi-services crate, which provides a panic handler and initializes the global_allocator and logger features.

Documentation

The uefi-rs book contains a tutorial, how-tos, and overviews of some important UEFI concepts.

Reference documentation can be found on docs.rs:

For additional information, refer to the UEFI specification.

MSRV

The minimum supported Rust version is currently 1.70.

Our policy is to support at least the past two stable releases.

License

The code in this repository is licensed under the Mozilla Public License 2. This license allows you to use the crate in proprietary programs, but any modifications to the files must be open-sourced.

The full text of the license is available in the license file.

Dependencies

~0.5–1MB
~24K SLoC