Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/luks.py
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-02-11 14:11:21 +0100
committerAnton Hvornum <anton@hvornum.se>2021-02-11 14:11:21 +0100
commite2cd617d05d87bbe3fe8f1809faecd8c1ebd230e (patch)
treeb1ec5d90d9869bc4ee1e877e5b8be97333b40ec3 /archinstall/lib/luks.py
parent03c46cce2b62b41c5b73f86dffb90eff6a1b8eb2 (diff)
Reworked the way partition formatting works. As well as added some flags to the partition if it's locked/unlocked for partitioning. By defaults partitions will now be in a locked state - prohibiting formatting unless set or overridden in the formatting call. This allows us to selectively format partitions individually later on. There's also a target_mountpoint that is the desired relative mount point inside a installation. This can be pre-pended with the installation base directory during mount. These changes also function as indicators for the installation (and guided installation) for which partitions to use and/or wipe. If an entire drive is selected for wiping, these changes will have no affect in the decision making as all partitions will be new and have formatable set to true.
Diffstat (limited to 'archinstall/lib/luks.py')
-rw-r--r--archinstall/lib/luks.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/archinstall/lib/luks.py b/archinstall/lib/luks.py
index e1f14bab..d62c2d4b 100644
--- a/archinstall/lib/luks.py
+++ b/archinstall/lib/luks.py
@@ -12,6 +12,7 @@ class luks2():
self.mountpoint = mountpoint
self.args = args
self.kwargs = kwargs
+ self.filesystem = 'crypto_LUKS'
def __enter__(self):
key_file = self.encrypt(self.partition, self.password, *self.args, **self.kwargs)
@@ -57,4 +58,8 @@ class luks2():
def close(self, mountpoint):
sys_command(f'cryptsetup close /dev/mapper/{mountpoint}')
- return os.path.islink(f'/dev/mapper/{mountpoint}') is False \ No newline at end of file
+ return os.path.islink(f'/dev/mapper/{mountpoint}') is False
+
+ def format(self, path):
+ if (handle := sys_command(f"/usr/bin/cryptsetup -q -v luksErase {path}")).exit_code != 0:
+ raise DiskError(f'Could not format {path} with {self.filesystem} because: {b"".join(handle)}') \ No newline at end of file