1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum BootError {
8 #[error("UEFI Error")]
10 Uefi(#[from] uefi::Error),
11
12 #[error("String Conversion Error")]
14 StrError(#[from] crate::system::helper::StrError),
15
16 #[error("Filesystem Error")]
18 FsError(#[from] crate::system::fs::FsError),
19
20 #[error("Secure Boot Error")]
22 SecureBootError(#[from] crate::boot::secure_boot::SecureBootError),
23
24 #[error("DevicePath Error")]
26 DevicePathError(#[from] crate::system::helper::DevicePathError),
27
28 #[error("Load Image Error")]
30 LoadError(#[from] crate::boot::loader::LoadError),
31
32 #[error("Load Driver Error")]
34 DriverError(#[from] crate::system::drivers::DriverError),
35
36 #[error("Devicetree Error")]
38 DevicetreeError(#[from] crate::boot::devicetree::DevicetreeError),
39
40 #[cfg(feature = "uki")]
42 #[error("Uki Parse Error")]
43 UkiError(#[from] crate::config::parsers::uki::UkiError),
44
45 #[cfg(feature = "windows")]
47 #[error("Win Parse Error")]
48 WinError(#[from] crate::config::parsers::windows::WinError),
49}