uefi-rs
bootloader
uefi-rs | bootloader | |
---|---|---|
15 | 7 | |
1,194 | 1,266 | |
1.6% | 1.4% | |
9.5 | 7.4 | |
4 days ago | 2 days ago | |
Rust | Rust | |
Mozilla Public License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
uefi-rs
-
I wrote a tiny decrypting UEFI bootloader
Hi, did you know that you can write UEFI-code with Rust? You can, using uefi-rs!
-
This Month in Rust OSDev: February 2023
Thanks for pointing that out. I've filed https://github.com/rust-osdev/uefi-rs/issues/685
- [uefi-rs] - How can you load an arbitrary Rust UEFI protocol without so many crazy ass steps?
- Strange mutable/non-mutable borrow errors with "uefi" crate
-
This Month in Rust OSDev: April 2022
I'm extremely confused as to what's going on here. I think it might be related to Line 129: https://github.com/rust-osdev/uefi-rs/blob/main/src/table/system.rs
-
Writing a Simple Operating System – From Scratch [pdf]
First off I don't recommend implementing the specification from scratch. It is big, and there are implementations already in various languages: for C you can use GNU-UEFI, for example, and for Rust you can use uefi-rs. Zig even has it in its standard library! These take care of the fiddly details of interacting with the UEFI firmware's services.
There's tutorial type articles for these around: for C there's https://wiki.osdev.org/UEFI_App_Bare_Bones, for Rust there's this template https://github.com/rust-osdev/uefi-rs/tree/main/template and the crate's documentation.
-
UEFI vs BIOS. How much does it actually matter now of days?
A few people have made some progress into working with UEFI in Rust, and the results are here: https://github.com/rust-osdev/uefi-rs
-
Would someone mind helping explain where this code actually is?
use uefi::prelude::Handle; points to uefi-rs/src/prelude.rs found here: https://github.com/rust-osdev/uefi-rs/blob/master/src/prelude.rs
-
Unable to boot UEFI/Rust in QEMU
Here is an UEFI app/example that should show you how to write a UEFI bootloader.
- Rustで自作OS 3日目
bootloader
-
Can Rust do Computer Graphics and ML?
That's just an unbased claims. People have written bootloader in rust and the linux kernel is also considering adopting Rust. None of this would happen if Rust cannot interface the hardware or is turing complete.
-
[uefi-rs] - How can you load an arbitrary Rust UEFI protocol without so many crazy ass steps?
The "official" (with outdated code) bootloader: https://github.com/rust-osdev/bootloader/blob/main/src/bin/uefi.rs
-
Changing bootloader crate options for graphical vga mode
A quick wander through the docs, and then the repo turned up an open feature request for VESA video modes which mentions a merged PR for 320x200 VGA support.
-
Cargo workspaces, sub crates and build options
But here I come across an interesting structure https://github.com/rust-osdev/bootloader/tree/main/examples/test_framework
-
UEFI vs BIOS. How much does it actually matter now of days?
Long story short, it appears there is no way to get started with UEFI (cue more downvotes). I've even spent a week carefully copying code beginning here: https://github.com/rust-osdev/bootloader/blob/main/src/bin/uefi.rs only to discover that nothing displays to the screen. There is an error somewhere in the 500 lines required to print a character to the screen, and it's impossible to tell where it is.
-
Rustで自作OS 3日目
rust-osdev/bootloader
-
Need help locating learning material. Interested in trying to develop a bootloader using Rust.
You can also take a look at the upcoming version of the bootloader crate, which has UEFI support: https://github.com/rust-osdev/bootloader/pull/130 . It is not documented very well yet, but maybe it helps already. The UEFI entry point function is here .The #[entry] macro of the uefi crate just makes the function a pub extern "efiapi" fn. The function is named efi_main because that's the default entry point name for Rust's built-in UEFI targets (e.g. x86_64-unknown-uefi). Theimageandst` function arguments are passed directly by the UEFI firmware.
What are some alternatives?
minimal_uefi - A minimal Rust project to get started with UEFI
oreboot - oreboot is a fork of coreboot, with C removed, written in Rust.
uefi_rust
elf2efi - Convert ELF-format images to PE+ suitable for use as EFI applications
blog_os - Writing an OS in Rust
burn - Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals. [Moved to: https://github.com/Tracel-AI/burn]
littleosbook - Source for the little book about OS development
arewegameyet - The repository for https://arewegameyet.rs
Rust-CUDA - Ecosystem of libraries and tools for writing and executing fast GPU code fully in Rust.