plex-boot 0.1.0

experimental boot manager with live-loading ISO support and more cool things
Documentation

plex

ever thought about putting put a config.toml file in your EFI partition? I hope not, but if you do, this boot manager is for you.

Plex is a pure Rust GUI UEFI bootloader designed for managing multi-boot systems built for fun and daily personal use. I spent too much time trying to configure Refind to my liking and thought I'd start working on something else for fun. I will consider this project "complete" once I have replaced my boot manager with plex and begin daily driving it.

Current state: It works on my machine, and, I can boot the linux kernel from an ISO, like Ventoy!! For ISO support, ported some iso9660 support to no-std in this fork: mattprodani/iso9660-no-std-rs

Configuration

Plex loads boot targets from a TOML configuration file located at \plex.toml on the EFI system partition.

Example configuration:


# Boot from an ISO file
[[boot_targets]]
type = "iso"
label = "Kali Linux"
iso_path = "my_distro.iso"
executable = "\\EFI\\arch\\vmlinuz-linux.efi"
options = "root=/dev/sda2 rw initrd=\\EFI\\arch\\initramfs-linux.img"

# Example boot target for Arch Linux
[[boot_targets]]
type = "generic"
label = "Arch Linux"
executable = "\\EFI\\arch\\vmlinuz-linux.efi"
options = "root=/dev/sda2 rw initrd=\\EFI\\arch\\initramfs-linux.img"

See plex.toml.example for more examples.

Building

Build for target {arch}-unknown-uefi. You'll figure out the rest.

  cargo build --target x86_64-unknown-uefi