Skip to content

mattprodani/plex-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Development

For testing, we need to disable the uefi-rs panic_handler feature, as it conflicts with the std one set by the test harness. Use just test for simple testing. We also need to set the target to the one for your system.

  cargo test --target x86_64-unknown-linux-gnu --lib --no-default features

About

Plex is a pure Rust GUI UEFI bootloader designed for managing multi-boot systems built for fun and daily personal use. It can also live boot from ISO!!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors