Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-04-09 21:50:53 +0200
committerAnton Hvornum <anton@hvornum.se>2021-04-09 21:50:53 +0200
commit5099376dcdf59cbfcd146f3c2fa92872b2b1920c (patch)
tree6fd8d46c133caf30f5f222eb1852ede24e691726
parentbd134c5db0f9fb93b51e00b3a2df992715d28d81 (diff)
Attempting to fix auto-detection of encrypted drives. So that #124 can perform reverse detection on partitions and detect encryption.
-rw-r--r--archinstall/lib/disk.py4
-rw-r--r--archinstall/lib/installer.py5
-rw-r--r--examples/minimal.py4
3 files changed, 11 insertions, 2 deletions
diff --git a/archinstall/lib/disk.py b/archinstall/lib/disk.py
index f6dc16eb..fe06ac00 100644
--- a/archinstall/lib/disk.py
+++ b/archinstall/lib/disk.py
@@ -215,6 +215,10 @@ class Partition():
self._encrypted = value
@property
+ def parent(self):
+ return self.real_device
+
+ @property
def real_device(self):
if not self._encrypted:
return self.path
diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py
index 48ef7259..7fd775b1 100644
--- a/archinstall/lib/installer.py
+++ b/archinstall/lib/installer.py
@@ -283,8 +283,9 @@ class Installer():
if '/usr/bin/btrfs-progs' not in BINARIES:
BINARIES.append('/usr/bin/btrfs')
- elif partition.encrypted and 'encrypt' not in HOOKS:
- HOOKS.insert(HOOKS.find('filesystems'), 'encrypt')
+ elif (partition.encrypted or Partition(partition.parent, None).filesystem == 'crypto_LUKS'):
+ if 'encrypt' not in HOOKS:
+ HOOKS.insert(HOOKS.find('filesystems'), 'encrypt')
self.pacstrap(self.base_packages)
self.helper_flags['base-strapped'] = True
diff --git a/examples/minimal.py b/examples/minimal.py
index 90bd9227..de896d48 100644
--- a/examples/minimal.py
+++ b/examples/minimal.py
@@ -1,5 +1,9 @@
import archinstall
+# Unmount and close previous runs
+archinstall.sys_command(f'umount -R /mnt', suppress_errors=True)
+archinstall.sys_command(f'cryptsetup close /dev/mapper/luksloop', suppress_errors=True)
+
# Select a harddrive and a disk password
archinstall.log(f"Minimal only supports:")
archinstall.log(f" * Being installed to a single disk")