From d76f4a029604dffe740ef1d44fa5f34ec0b23480 Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Tue, 25 Jul 2023 05:16:02 -0400 Subject: Fix boot partition regression (#1942) * Fix boot partition regression * Fix spelling --- archinstall/lib/disk/device_model.py | 14 ++++++++------ archinstall/lib/installer.py | 9 +++++---- 2 files changed, 13 insertions(+), 10 deletions(-) (limited to 'archinstall/lib') diff --git a/archinstall/lib/disk/device_model.py b/archinstall/lib/disk/device_model.py index ad3426b6..b1d07d98 100644 --- a/archinstall/lib/disk/device_model.py +++ b/archinstall/lib/disk/device_model.py @@ -789,8 +789,8 @@ class DeviceModification: """ Similar to get_boot_partition() but excludes XBOOTLDR partitions from it's candidates. """ - fliltered = filter(lambda x: x.is_boot() and x.fs_type == FilesystemType.Fat32 and PartitionFlag.XBOOTLDR not in x.flags, self.partitions) - return next(fliltered, None) + filtered = filter(lambda x: x.is_boot() and x.fs_type == FilesystemType.Fat32 and PartitionFlag.XBOOTLDR not in x.flags, self.partitions) + return next(filtered, None) def get_boot_partition(self) -> Optional[PartitionModification]: """ @@ -798,11 +798,13 @@ class DeviceModification: Only returns XBOOTLDR if separate EFI is detected using self.get_efi_partition() """ if efi_partition := self.get_efi_partition(): - fliltered = filter(lambda x: x.is_boot() and x != efi_partition and x.mountpoint, self.partitions) + filtered = filter(lambda x: x.is_boot() and x != efi_partition and x.mountpoint, self.partitions) + if boot_partition := next(filtered, None): + return boot_partition + return efi_partition else: - fliltered = filter(lambda x: x.is_boot() and x.mountpoint, self.partitions) - - return next(fliltered, None) + filtered = filter(lambda x: x.is_boot() and x.mountpoint, self.partitions) + return next(filtered, None) def get_root_partition(self, relative_path: Optional[Path]) -> Optional[PartitionModification]: filtered = filter(lambda x: x.is_root(relative_path), self.partitions) diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 836b6b79..f5999002 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -726,10 +726,11 @@ class Installer: # TODO: Ideally we would want to check if another config # points towards the same disk and/or partition. # And in which case we should do some clean up. - bootctl_options = [ - f'--esp-path={efi_partition.mountpoint}' if efi_partition else '', - f'--boot-path={boot_partition.mountpoint}' if boot_partition else '' - ] + bootctl_options = [] + + if efi_partition and boot_partition != efi_partition: + bootctl_options.append(f'--esp-path={efi_partition.mountpoint}') + bootctl_options.append(f'--boot-path={boot_partition.mountpoint}') # Install the boot loader try: -- cgit v1.2.3-54-g00ecf