diff --git a/archinstall/lib/installer.py b/archinstall/lib/installer.py index 7e66559f7f..bf296c2e6e 100644 --- a/archinstall/lib/installer.py +++ b/archinstall/lib/installer.py @@ -253,8 +253,8 @@ def mount_ordered_layout(self, layouts: Dict[str, Any]) -> None: # note that we DON'T auto_unmount (i.e. close the encrypted device so it can be used with (luks_handle := luks2(partition['device_instance'], loopdev, password, auto_unmount=False)) as unlocked_device: - if partition.get('generate-encryption-key-file',False) and not self._has_root(partition): - list_luks_handles.append([luks_handle,partition,password]) + if partition.get('generate-encryption-key-file', False) and not self._has_root(partition): + list_luks_handles.append([luks_handle, partition, password]) # this way all the requesrs will be to the dm_crypt device and not to the physical partition partition['device_instance'] = unlocked_device diff --git a/archinstall/lib/menu/global_menu.py b/archinstall/lib/menu/global_menu.py index a758d8c6e1..cb61168d1c 100644 --- a/archinstall/lib/menu/global_menu.py +++ b/archinstall/lib/menu/global_menu.py @@ -215,6 +215,11 @@ def exit_callback(self): partition['encrypted'] = True partition['!password'] = storage['arguments']['!encryption-password'] + # We make sure generate-encryption-key-file is set on additional partitions + # other than the root partition. Otherwise they won't unlock properly #1279 + if partition['mountpoint'] != '/': + partition['generate-encryption-key-file'] = True + def _install_text(self): missing = len(self._missing_configs()) if missing > 0: