Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/examples/guided.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/guided.py')
-rw-r--r--examples/guided.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/examples/guided.py b/examples/guided.py
index c5e1474e..5e8a64c1 100644
--- a/examples/guided.py
+++ b/examples/guided.py
@@ -105,18 +105,22 @@ else:
if archinstall.arguments['harddrive'].has_partitions():
archinstall.log(f" ! {archinstall.arguments['harddrive']} contains existing partitions", fg='red')
try:
+ partition_mountpoints = {}
for partition in archinstall.arguments['harddrive']:
if partition.filesystem_supported():
archinstall.log(f" {partition}")
+ partition_mountpoints[partition] = None
- if (option := input('Do you wish to keep existing disk setup or format entire drive? (k/f): ')).lower() in ('k', 'keep'):
- # If we want to keep the existing partitioning table
- # Make sure that it's the selected drive mounted under /mnt
- # That way, we can rely on genfstab and some manual post-installation steps.
- if archinstall.arguments['harddrive'].has_mount_point(archinstall.storage['MOUNT_POINT']) is False:
- raise archinstall.DiskError(f"The selected drive {archinstall.arguments['harddrive']} is not pre-mounted to {archinstall.storage['MOUNT_POINT']}. This is required when keeping a existing partitioning scheme.")
+ if (option := input('Do you wish to keep one/more existing partitions or format entire drive? (k/f): ')).lower() in ('k', 'keep'):
+ archinstall.arguments['harddrive'].keep_partitions = True
+ while True:
+ partition = archinstall.generic_select(partition_mountpoints.values(), "Select a partition to assign mount-point to")
+
+ archinstall.arguments['harddrive'].allocate_partitions(selections)
archinstall.log('Using existing partition table reported above.')
+ else:
+ archinstall.arguments['harddrive'].keep_partitions = False
except archinstall.UnknownFilesystemFormat as err:
archinstall.log(f"Current filesystem is not supported: {err}", fg='red')
input(f"Do you wish to erase all data? (y/n):")