Build a text based menu or interface that boots directly from firmware, before any OS loads.
Create an EFI application like a custom boot menu using a familiar TUI style.
Test a UEFI TUI app inside QEMU before trying it on real hardware.
| sermuns/ratatuefi | polymarket-devrel/polymarket-devrel | suiyuebaobao/c-ssh | |
|---|---|---|---|
| Stars | 155 | 151 | 143 |
| Language | Rust | Rust | Rust |
| Setup difficulty | hard | — | moderate |
| Complexity | 5/5 | — | 2/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires QEMU and EDK2 firmware to test in a virtual machine, or a USB drive and disabled secure boot to test on real hardware.
ratatuefi is a Rust library that lets you build text based user interfaces that run directly on a computer's firmware, called UEFI, without needing an operating system like Windows or Linux to be running. It works as a backend for a popular terminal interface library called Ratatui, so developers who already know how to build text interfaces with Ratatui can reuse that knowledge here. Under the hood, the project relies on another library called uefi, which handles the low level details of talking to the firmware. Combining the two lets someone write an EFI application, the kind of program a computer's firmware can load and run before any operating system starts, that has an actual interactive text interface instead of a plain boot screen. The README points to a real example project called efimux, a tool for choosing and booting other EFI applications, which is built on top of ratatuefi. There are also example programs included directly in the repository. For testing, the README explains how to run a ratatuefi based application inside QEMU, a virtual machine tool, by installing QEMU and the EDK2 firmware package, building a virtual EFI disk layout with a command runner called just, and starting the virtual machine. It also gives instructions for running an application on real hardware: partitioning a USB drive as an EFI system partition, formatting it, copying the built files onto it, and booting from it after disabling secure boot on the target machine. This project sits at a very low level of the computing stack, closer to firmware and operating system development than typical application programming, so it is aimed at people already comfortable with Rust and with concepts like EFI, disk partitioning, and virtual machines. The README does not mention a license.
A Rust library for building text based interfaces that run directly on a computer's UEFI firmware, without an operating system.
Mainly Rust. The stack also includes Rust, UEFI, Ratatui.
The README does not state a license.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.