https://github.com/x1tan/rust-uefi-runtime-driver
Template for UEFI runtime drivers written in Rust with serial logging and debugging support.
https://github.com/x1tan/rust-uefi-runtime-driver
driver efi rust uefi
Last synced: 3 months ago
JSON representation
Template for UEFI runtime drivers written in Rust with serial logging and debugging support.
- Host: GitHub
- URL: https://github.com/x1tan/rust-uefi-runtime-driver
- Owner: x1tan
- License: mit
- Created: 2020-10-08T17:03:52.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-09T21:30:43.000Z (over 4 years ago)
- Last Synced: 2024-10-24T00:22:04.577Z (8 months ago)
- Topics: driver, efi, rust, uefi
- Language: Rust
- Homepage:
- Size: 8.79 KB
- Stars: 57
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rust UEFI Runtime Driver


> Template for UEFI runtime drivers written in Rust with serial logging and debugging support.
## Overview
This projects serves as a foundation for UEFI runtime driver development in Rust. Its equipped with various features to help you get started:
* Up-to-date Cargo configuration to built a `x86_64-unknown-uefi` target on Rust nightly and link it as a runtime driver
* Logging to serial output
* Debugging support (wait loop until debugger is attached as well as a Python GDB script to locate the PE file in memory)
* Continuous integration with GitHub Actions, minimal dependencies, custom panic handler and moreFor more details regarding the implementation and debugging the driver have a look at my [blog post](https://xitan.me/posts/rust-uefi-runtime-driver/). If you are interested in creating a Rust UEFI application e.g. as your bootloader instead of a runtime driver, I recommend reading ["An EFI App a bit rusty"](https://gil0mendes.io/blog/an-efi-app-a-bit-rusty/) for more information about [uefi-rs](https://github.com/rust-osdev/uefi-rs).
## References
- [UEFI Specification](https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf): Unified Extensible Firmware Interface Specification (v2.8).
- [r-efi](https://github.com/r-efi/r-efis): UEFI Reference Specification Protocol Constants and Definitions.
- [uefi-rs](https://github.com/rust-osdev/uefi-rs): Rust wrapper for UEFI.## License
[MIT](https://github.com/x1tan/rust-uefi-runtime-driver/blob/master/LICENSE) [@x1tan](https://twitter.com/x1tan)