#uefi #firmware #reboot #shutdown #reset

no-std app uefi-reset

UEFI modules that reset the system when loaded

1 stable release

1.0.0 Sep 23, 2025

#516 in Embedded development

Download history 199/week @ 2025-09-19 43/week @ 2025-09-26 16/week @ 2025-10-03 40/week @ 2025-10-10 63/week @ 2025-10-17 1/week @ 2025-10-31 13/week @ 2025-11-14 44/week @ 2025-11-21

57 downloads per month

MIT license

5KB

UEFI Reset Modules

CI Crates.io License: MIT Rust UEFI

A set of simple UEFI modules that reset the system when loaded. Written in Rust with minimal dependencies and no unsafe code. Building this project produces a set of binaries:

  • shutdown.efi - Powers off the system.
  • cold.efi - Performs a cold reset.
  • warm.efi - Performs a warm reset.

Purpose

This application is designed to be loaded by UEFI firmware and will immediately trigger a system reset. This provides a quick and convenient way to power off or reboot a system from:

  • A bootable USB drive
  • A UEFI shell
  • UEFI HTTP boot
  • Any EFI-capable firmware interface

Building

Prerequisites

  • Rust 1.81+ toolchain

The project includes a rust-toolchain.toml file that automatically installs the required x86_64-unknown-uefi target. However, depending on your environment you might need to manually install the target.

Steps

To build the project:

cargo build --release --target=x86_64-unknown-uefi

The above command will produce three files of note:

  • target/x86_64-unknown-uefi/release/cold.efi
  • target/x86_64-unknown-uefi/release/warm.efi
  • target/x86_64-unknown-uefi/release/shutdown.efi

The --target option is likely optional for any tools that respect .cargo/config.toml.

License

This project is licensed under the MIT License.

Dependencies

~2MB
~44K SLoC