I wrote a bootloader in Rust that boots Linux on IBM PowerVM — no C, no GRUB, no standard library. Just #![no_std] Rust talking directly to Open Firmware, parsing FAT and ISO9660, loading ELF kernels using UAPI BLS spec, and jumping to them with inline assembly. The hardest part? The firmware has a secret limit on memory allocations that nobody documents.

https://siliconislandblog.wordpress.com/2026/03/18/booting-with-rust-chapter-3/

@aruiz Interesting! That will likely be useful to standardize our efforts on Confidential Computing setups. As you note in the end, UKI support would be a great next step for that.
@siosm strictly speaking.... I could support actual UKI capsules if I imported an PE parser :)
@aruiz Btw have you checked out https://github.com/edera-dev/sprout ? ;)
GitHub - edera-dev/sprout: Sprout: UEFI Bootloader in Rust

Sprout: UEFI Bootloader in Rust. Contribute to edera-dev/sprout development by creating an account on GitHub.

GitHub

@tris Someone pointed it out to me on linked in yes.

Not sure I see the value beyond it being in Rust, systemd-boot is 10k big and we have smaller things like
https://gitlab.com/CentOS/automotive/src/ukiboot

CentOS / automotive / src / ukiboot · GitLab

GitLab.com

GitLab

@aruiz nice! Sounds like what I did a while ago (booting FreeBSD with Rust on x86_64 UEFI) was easy mode.

Honestly most of the annoyance in that project was down to FreeBSD, it won't boot without very specific pagetable layouts and a kernel placed in a location that is both undocumented and not what one would expect based off the section headers.

@artemist some boot protocols are a total mistery, indeed
@aruiz @artemist I first read as "some boot protocols are a total misery" 😅
@aruiz holy crap, I looked at your repo some time last year and found it interesting, while pretty barebones. Did not know you were still working on it and got this far! I'll be giving this a shot. Getting rid of GRUB has been on my todo list for a while, but so far there was no alternative