lanzaboote/rust/lanzatool/src/esp.rs

38 lines
1.1 KiB
Rust
Raw Normal View History

2022-11-23 09:26:26 -05:00
use std::path::{Path, PathBuf};
pub struct EspPaths {
pub esp: PathBuf,
pub nixos: PathBuf,
pub kernel: PathBuf,
pub initrd: PathBuf,
pub linux: PathBuf,
pub lanzaboote_image: PathBuf,
pub efi_fallback_dir: PathBuf,
pub efi_fallback: PathBuf,
pub systemd: PathBuf,
pub systemd_boot: PathBuf,
2022-11-23 09:26:26 -05:00
}
impl EspPaths {
pub fn new(esp: &str) -> Self {
let esp = Path::new(esp);
let esp_nixos = esp.join("EFI/nixos");
let esp_linux = esp.join("EFI/Linux");
let esp_systemd = esp.join("EFI/systemd");
let esp_efi_fallback_dir = esp.join("EFI/BOOT");
2022-11-23 09:26:26 -05:00
Self {
esp: esp.to_owned(),
nixos: esp_nixos.clone(),
2022-11-23 09:30:24 -05:00
kernel: esp_nixos.join("kernel"),
2022-11-23 09:26:26 -05:00
initrd: esp_nixos.join("initrd"),
linux: esp_linux.clone(),
lanzaboote_image: esp_linux.join("lanzaboote-image.efi"),
efi_fallback_dir: esp_efi_fallback_dir.clone(),
efi_fallback: esp_efi_fallback_dir.join("BOOTX64.EFI"),
systemd: esp_systemd.clone(),
systemd_boot: esp_systemd.join("systemd-bootx64.efi"),
2022-11-23 09:26:26 -05:00
}
}
}