Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds@gmail.com>2021-03-09 12:16:40 +0100
committerAnton Hvornum <anton.feeds@gmail.com>2021-03-09 12:16:40 +0100
commit8f42a9f4ff647f84818cc01b84ba79e8256caa5f (patch)
tree531762e93fb2dcbb88a0b2a1b8eb2a5f4df94e62 /archinstall/lib
parent585e0f4b869c270ec0482d628033463af74516a7 (diff)
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.
Diffstat (limited to 'archinstall/lib')
-rw-r--r--archinstall/lib/disk.py8
-rw-r--r--archinstall/lib/luks.py5
2 files changed, 6 insertions, 7 deletions
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: