From c264fd466aca54bcc1a7210165ee143b5f0aa6f3 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Mon, 22 Nov 2021 09:33:00 +0000 Subject: Fix #746 - Can't create a filesystem on a new partition during the manual partitioning (#751) * Changed default value of info in largest_free_space() * Fixing bad assumption that a disk always contain a minimum of two partitions. --- archinstall/lib/disk/blockdevice.py | 18 +++++++++++++++++- archinstall/lib/user_interaction.py | 6 +++--- 2 files changed, 20 insertions(+), 4 deletions(-) (limited to 'archinstall/lib') diff --git a/archinstall/lib/disk/blockdevice.py b/archinstall/lib/disk/blockdevice.py index 307c5983..b3195784 100644 --- a/archinstall/lib/disk/blockdevice.py +++ b/archinstall/lib/disk/blockdevice.py @@ -192,7 +192,7 @@ class BlockDevice: @property def largest_free_space(self): - info = None + info = [] for space_info in self.free_space: if not info: info = space_info @@ -202,6 +202,22 @@ class BlockDevice: info = space_info return info + @property + def first_free_sector(self): + if info := self.largest_free_space: + start = info[0] + else: + start = '512MB' + return start + + @property + def first_end_sector(self): + if info := self.largest_free_space: + end = info[1] + else: + end = f"{self.size}GB" + return end + def partprobe(self): SysCommand(['partprobe', self.path]) diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py index c8b3fd91..05cba3ca 100644 --- a/archinstall/lib/user_interaction.py +++ b/archinstall/lib/user_interaction.py @@ -643,10 +643,10 @@ def manage_new_and_existing_partitions(block_device :BlockDevice) -> dict: fstype = input("Enter a desired filesystem type for the partition: ").strip() - start = input(f"Enter the start sector (percentage or block number, default: {block_device.largest_free_space[0]}): ").strip() + start = input(f"Enter the start sector (percentage or block number, default: {block_device.first_free_sector}): ").strip() if not start.strip(): - start = block_device.largest_free_space[0] - end_suggested = block_device.largest_free_space[1] + start = block_device.first_free_sector + end_suggested = block_device.first_end_sector else: end_suggested = '100%' end = input(f"Enter the end sector of the partition (percentage or block number, ex: {end_suggested}): ").strip() -- cgit v1.2.3-70-g09d2