Zero-bloat Ratatui in UEFI, no OS
https://github.com/user-attachments/assets/338462fb-39e2-458e-b789-f591abd682b3
https://github.com/user-attachments/assets/9c12cd86-6aef-4f9b-9006-e8e9d527dcc2
Running in QEMU
-
Install packages:
(optionally, install some graphics backend, but you can also VNC into the VM)
-
Create virtual EFI layout
then build and symlink the
.efiin:
(<EFI>is something like./target/x86_64-unknown-uefi/debug/<PACKAGE-NAME>.efi) -
Start QEMU
Running on a physical machine
from https://rust-osdev.github.io/uefi-rs/tutorial/hardware.html
Connect a USB drive. Follow steps below.
# Create the GPT, create a 9MB partition starting at 1MB, and set the
# partition type to EFI System.
# Format the partition as FAT.
# Mount the partition.
# Create the boot directory.
# Copy in the boot executable.
# Eject the USB drive
[!IMPORTANT] disable secure boot on machine before trying to boot
try booting it!
Ideas for improving
it is slow as hell to draw. could possibly be improved by
- adding a buffer, and rendering full lines? currently we are rawdoggin character-for-character.
- switching to manual VGA graphics (use mousefood?)
was fixed by using -display sdl,gl=on!
somehow running without OpenGL makes it really slow!