From 8f42a9f4ff647f84818cc01b84ba79e8256caa5f Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Tue, 9 Mar 2021 12:16:40 +0100 Subject: Added option to skip autodetection of filesystem. This is so for instance luks2() can override any auto-detection that revers back to the parent device of the mapped device, which would be crypto_LUKS instead of None for the inner partition. --- archinstall/lib/disk.py | 8 +++++--- archinstall/lib/luks.py | 5 +---- 2 files changed, 6 insertions(+), 7 deletions(-) (limited to 'archinstall') diff --git a/archinstall/lib/disk.py b/archinstall/lib/disk.py index d3f4b069..fe21dcf7 100644 --- a/archinstall/lib/disk.py +++ b/archinstall/lib/disk.py @@ -130,7 +130,7 @@ class BlockDevice(): return False class Partition(): - def __init__(self, path, part_id=None, size=-1, filesystem=None, mountpoint=None, encrypted=False): + def __init__(self, path, part_id=None, size=-1, filesystem=None, mountpoint=None, encrypted=False, autodetect_filesystem=True): if not part_id: part_id = os.path.basename(path) self.path = path @@ -152,8 +152,10 @@ class Partition(): if (target := mount_information.get('target', None)): self.mountpoint = target - if not self.filesystem and (fstype := mount_information.get('fstype', get_filesystem_type(self.real_device))): - self.filesystem = fstype + + if not self.filesystem and autodetect_filesystem: + if (fstype := mount_information.get('fstype', get_filesystem_type(self.real_device))): + self.filesystem = fstype if self.filesystem == 'crypto_LUKS': self.encrypted = True diff --git a/archinstall/lib/luks.py b/archinstall/lib/luks.py index 706a8bd9..e03e26ca 100644 --- a/archinstall/lib/luks.py +++ b/archinstall/lib/luks.py @@ -83,10 +83,7 @@ class luks2(): os.path.basename(mountpoint) # TODO: Raise exception instead? sys_command(f'/usr/bin/cryptsetup open {partition.path} {mountpoint} --key-file {os.path.abspath(key_file)} --type luks2') if os.path.islink(f'/dev/mapper/{mountpoint}'): - self.mapdev = f'/dev/mapper/{mountpoint}' - inner_fs = get_filesystem_type(self.mapdev) - print('Inner FS:', inner_fs) - return Partition(self.mapdev, encrypted=True, filesystem=inner_fs) + return Partition(self.mapdev, encrypted=True, filesystem=get_filesystem_type(self.mapdev), autodetect_filesystem=False) def close(self, mountpoint=None): if not mountpoint: -- cgit v1.2.3-54-g00ecf