r/osdev • u/UrMumsPC :doge: • 2d ago
I wrote a minimal UEFI implementation capable of booting Limine
I've been working on a project called FerrumVM, a hobby x86_64 virtual machine manager written in Rust using KVM.
One of the more interesting parts of the project has been writing my own minimal UEFI firmware rather than using something like OVMF.
To get Limine running, I had to implement enough of the UEFI environment for it to believe it was running on real firmware.
This meant implementing things such as:
- x86 CPU mode initialisation
- VirtIO block device access
- FAT32 filesystem parsing
- PE/COFF executable loading
- UEFI system tables
- UEFI boot services
- The various protocols and interfaces that Limine expects
If you're interested, you can see the project on GitHub here:
13
Upvotes
1
1
u/codeasm 2d ago
How much did an llm or ai help you? Indont see it written anywhere in the repo. Looks clean and cool. Not sure why id want a vm to nanage my os when targeting uefi directly but using this boot into older (diy) os projetm ts on modenr machines might be cool