Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/disk/partition.py
diff options
context:
space:
mode:
Diffstat (limited to 'archinstall/lib/disk/partition.py')
-rw-r--r--archinstall/lib/disk/partition.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/archinstall/lib/disk/partition.py b/archinstall/lib/disk/partition.py
index e9688965..3630a6f4 100644
--- a/archinstall/lib/disk/partition.py
+++ b/archinstall/lib/disk/partition.py
@@ -32,7 +32,10 @@ class Partition:
if mountpoint:
self.mount(mountpoint)
- mount_information = get_mount_info(self.path)
+ try:
+ mount_information = get_mount_info(self.path)
+ except DiskError:
+ mount_information = {}
if self.mountpoint != mount_information.get('target', None) and mountpoint:
raise DiskError(f"{self} was given a mountpoint but the actual mountpoint differs: {mount_information.get('target', None)}")
@@ -145,8 +148,11 @@ class Partition:
it doesn't seam to be able to detect md raid partitions.
"""
- lsblk = json.loads(SysCommand(f'lsblk -J -o+PARTUUID {self.path}').decode('UTF-8'))
- for partition in lsblk['blockdevices']:
+ partuuid_struct = SysCommand(f'lsblk -J -o+PARTUUID {self.path}')
+ if not partuuid_struct.exit_code == 0:
+ raise DiskError(f"Could not get PARTUUID for {self.path}: {partuuid_struct}")
+
+ for partition in json.loads(partuuid_struct.decode('UTF-8'))['blockdevices']:
return partition.get('partuuid', None)
return None