Moved the output of the current fileformat structure in guided, as well as added an option to supress the log message from format() in order to hide (for users) the some what confusing formating of /dev/null.

This commit is contained in:
Anton Hvornum 2021-02-07 15:36:24 +01:00
parent acf39296ef
commit 530edb5ece
2 changed files with 10 additions and 7 deletions

View File

@ -143,11 +143,13 @@ class Partition():
else:
return f'Partition(path={self.path}, fs={self.filesystem}, mounted={self.mountpoint})'
def format(self, filesystem, path=None):
def format(self, filesystem, path=None, log_formating=True):
if not path:
path = self.path
log(f'Formatting {path} -> {filesystem}', level=LOG_LEVELS.Info)
if log_formating:
log(f'Formatting {path} -> {filesystem}', level=LOG_LEVELS.Info)
if filesystem == 'btrfs':
o = b''.join(sys_command(f'/usr/bin/mkfs.btrfs -f {path}'))
if b'UUID' not in o:
@ -211,7 +213,7 @@ class Partition():
# We perform a dummy format on /dev/null with the given filesystem-type
# in order to determain if we support it or not.
try:
self.format(self.filesystem, '/dev/null')
self.format(self.filesystem, '/dev/null', log_formating=False)
except SysCallError:
pass # We supported it, but /dev/null is not formatable as expected so the mkfs call exited with an error code
except UnknownFilesystemFormat as err:

View File

@ -95,6 +95,10 @@ archinstall.storage['_guided']['harddrive'] = harddrive
if harddrive.has_partitions():
archinstall.log(f" ! {harddrive} contains existing partitions", fg='red')
for partition in harddrive:
if partition.filesystem_supported():
archinstall.log(f" {partition}")
if (option := input('Do you wish to keep existing partition setup or format the entire disk? (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
@ -102,10 +106,7 @@ if harddrive.has_partitions():
if harddrive.has_mount_point(archinstall.storage['MOUNT_POINT']) is False:
raise archinstall.DiskError(f"The selected drive {harddrive} is not pre-mounted to {archinstall.storage['MOUNT_POINT']}. This is required when keeping a existing partitioning scheme.")
archinstall.log('Using existing partition table:')
for partition in harddrive:
if partition.filesystem_supported():
archinstall.log(f" {partition}")
archinstall.log('Using existing partition table reported above.')
else:
print('Formatting woop woop!')
exit(1)