index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton@hvornum.se> | 2021-04-12 00:09:55 +0200 |
---|---|---|
committer | Anton Hvornum <anton@hvornum.se> | 2021-04-12 00:09:55 +0200 |
commit | 398f95ee563be90d84cc943baf88943c078abe03 (patch) | |
tree | 850c595fea440d8681310eecf117c25a94de82f2 /archinstall/lib/luks.py | |
parent | 94c31222fab7d5fa02f6f2393893e248d64a8dcb (diff) | |
parent | be45268d0bca2ee978d82d8361a12c5025a8baae (diff) |
-rw-r--r-- | archinstall/lib/luks.py | 9 |
diff --git a/archinstall/lib/luks.py b/archinstall/lib/luks.py index a1d42196..ca077b3d 100644 --- a/archinstall/lib/luks.py +++ b/archinstall/lib/luks.py @@ -1,5 +1,7 @@ import os import shlex +import time +import pathlib from .exceptions import * from .general import * from .disk import Partition @@ -114,7 +116,7 @@ class luks2(): def unlock(self, partition, mountpoint, key_file): """ - Mounts a lukts2 compatible partition to a certain mountpoint. + Mounts a luks2 compatible partition to a certain mountpoint. Keyfile must be specified as there's no way to interact with the pw-prompt atm. :param mountpoint: The name without absolute path, for instance "luksdev" will point to /dev/mapper/luksdev @@ -123,6 +125,11 @@ class luks2(): from .disk import get_filesystem_type if '/' in mountpoint: os.path.basename(mountpoint) # TODO: Raise exception instead? + + wait_timer = time.time() + while pathlib.Path(partition.path).exists() is False and time.time() - wait_timer < 10: + time.sleep(0.025) + 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}' |