Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build as a UEFI binary #19

Open
obbardc opened this issue Sep 29, 2022 · 3 comments
Open

Build as a UEFI binary #19

obbardc opened this issue Sep 29, 2022 · 3 comments
Labels

Comments

@obbardc
Copy link
Contributor

obbardc commented Sep 29, 2022

This would allow us to reflash images without having to boot into a Linux system.
Using https://github.com/rust-osdev/uefi-rs we could build for all architectures, i686, x86_64, or aarch64

In the first case, just launching the bmap binary from a UEFI shell in qemu would be great progress.
We could add a follow-up task to show how to build a "custom" UEFI program that does something specific e.g. downloads an image from HTTP in UEFI.

@obbardc
Copy link
Contributor Author

obbardc commented Sep 30, 2022

This will need some careful thinking about, since the EFI environment is entirely different from running under Linux. The API functions for writing to files and block devices may be completely different. Networking may also need to be investigated.

@sjoerdsimons
Copy link
Contributor

fwiw the first step to do for that is to make/keep the library crate build in a no_std environment; Which opens up the possibility to write a uefi app using it as there is no std lib support for uefi (yet); I have not validate if all current crates allow a no_std build fwiw

@obbardc
Copy link
Contributor Author

obbardc commented Oct 27, 2022

relevant example: https://gitlab.com/aruiz/rust-uefi-example

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants