pub enum Distribution {
Arch,
Debian,
Fedora,
RedHat,
Alpine,
NixOS,
Windows,
Unknown,
}Expand description
Supported distribution families.
Ordering of detection matters: more specific matches (Alpine’s
boot/vmlinuz-lts, NixOS’s boot/bzImage, RHEL-family’s images/pxeboot)
must run before the broader ones (Arch’s generic boot/ heuristic).
Variants§
Arch
Arch Linux install media (arch/boot/x86_64/vmlinuz-linux).
Debian
Debian and Ubuntu live/install media (casper/, install.amd/, live/).
Fedora
Fedora install media (images/pxeboot/).
RedHat
RHEL / Rocky / AlmaLinux — same images/pxeboot layout as Fedora
but a distinct signing CA and stricter lockdown kexec policy.
Alpine
Alpine Linux (boot/vmlinuz-lts).
NixOS
NixOS install media (boot/bzImage).
Windows
Windows installer media. Recognized by bootmgr, sources/boot.wim,
or efi/microsoft/boot/. Not kexec-bootable: Windows uses a
fundamentally different boot protocol (NT loader, not Linux kernel).
Surfaced so the TUI can give a specific diagnostic rather than fail
silently.
Unknown
Layout not recognized.
Implementations§
Source§impl Distribution
impl Distribution
Sourcepub fn from_paths(kernel_path: &Path) -> Distribution
pub fn from_paths(kernel_path: &Path) -> Distribution
Detect distribution from a kernel path observed inside an ISO.
Trait Implementations§
Source§impl Clone for Distribution
impl Clone for Distribution
Source§fn clone(&self) -> Distribution
fn clone(&self) -> Distribution
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Distribution
impl Debug for Distribution
Source§impl<'de> Deserialize<'de> for Distribution
impl<'de> Deserialize<'de> for Distribution
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Distribution, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Distribution, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for Distribution
impl PartialEq for Distribution
Source§impl Serialize for Distribution
impl Serialize for Distribution
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for Distribution
impl Eq for Distribution
impl StructuralPartialEq for Distribution
Auto Trait Implementations§
impl Freeze for Distribution
impl RefUnwindSafe for Distribution
impl Send for Distribution
impl Sync for Distribution
impl Unpin for Distribution
impl UnsafeUnpin for Distribution
impl UnwindSafe for Distribution
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.