diff --git a/archinstall/lib/bootloader/utils.py b/archinstall/lib/bootloader/utils.py index 2d0b5a81..e40b0b0f 100644 --- a/archinstall/lib/bootloader/utils.py +++ b/archinstall/lib/bootloader/utils.py @@ -19,9 +19,6 @@ class BootloaderValidationFailure: description: str -_UEFI_ONLY_BOOTLOADERS = (Bootloader.Systemd, Bootloader.Efistub, Bootloader.Refind) - - def validate_bootloader_layout( bootloader_config: BootloaderConfiguration | None, disk_config: DiskLayoutConfiguration | None, @@ -40,7 +37,7 @@ def validate_bootloader_layout( if bootloader == Bootloader.NO_BOOTLOADER: return None - if bootloader in _UEFI_ONLY_BOOTLOADERS and not is_uefi: + if bootloader.is_uefi_only() and not is_uefi: return BootloaderValidationFailure( kind=BootloaderValidationFailureKind.BootloaderRequiresUefi, description=f'{bootloader.value} requires a UEFI system.', diff --git a/archinstall/lib/models/bootloader.py b/archinstall/lib/models/bootloader.py index 68c0bf98..5d8d0d80 100644 --- a/archinstall/lib/models/bootloader.py +++ b/archinstall/lib/models/bootloader.py @@ -25,6 +25,13 @@ class Bootloader(Enum): case _: return False + def is_uefi_only(self) -> bool: + match self: + case Bootloader.Systemd | Bootloader.Efistub | Bootloader.Refind: + return True + case _: + return False + def json(self) -> str: return self.value