pub enum Quirk {
UnsignedKernel,
BiosOnly,
RequiresWholeDeviceWrite,
CrossDistroKexecRefused,
NotKexecBootable,
}Expand description
Compatibility quirks the TUI should surface to the user before invoking kexec. Populated by the per-distro matrix (issue #6).
Variants§
UnsignedKernel
ISO’s kernel is not signed by a CA in the platform/MOK keyring.
kexec_file_load will reject without MOK enrollment.
BiosOnly
ISO assumes BIOS isolinux only — no usable EFI/kexec path.
RequiresWholeDeviceWrite
ISO is hybrid and expects to be dd’d to a whole block device,
not loop-mounted. Kexec may succeed but the booted kernel may not
find its expected layout.
CrossDistroKexecRefused
Distro signs only its own CA’s kernels and refuses kexec into
foreign-CA kernels even with KEXEC_SIG satisfied (RHEL family).
NotKexecBootable
ISO uses a boot protocol incompatible with kexec_file_load
(Windows’ NT loader, BSD bootloaders, etc.). The TUI should
disable kexec for these entries rather than fail silently.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Quirk
impl<'de> Deserialize<'de> for Quirk
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Copy for Quirk
impl Eq for Quirk
impl StructuralPartialEq for Quirk
Auto Trait Implementations§
impl Freeze for Quirk
impl RefUnwindSafe for Quirk
impl Send for Quirk
impl Sync for Quirk
impl Unpin for Quirk
impl UnsafeUnpin for Quirk
impl UnwindSafe for Quirk
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.