Support LUKS with 'lvm' autoinstall storage layout

Resolves: https://bugs.launchpad.net/subiquity/+bug/1913986
This commit is contained in:
Ryan Mounce 2023-03-01 15:19:44 +10:30
parent 65aabe527f
commit a968b48523
2 changed files with 10 additions and 1 deletions

View File

@ -302,6 +302,13 @@ By default these will install to the largest disk in a system, but you can suppl
(you can just say "`match: {}`" to match an arbitrary disk) (you can just say "`match: {}`" to match an arbitrary disk)
When using the "lvm" layout, LUKS encryption can be enabled by supplying a password.
storage:
layout:
name: lvm
password: LUKS_PASSPHRASE
The default is to use the lvm layout. The default is to use the lvm layout.
#### action-based config #### action-based config

View File

@ -912,7 +912,9 @@ class FilesystemController(SubiquityController, FilesystemManipulator):
log.info(f'autoinstall: running guided {name} install in mode {mode} ' log.info(f'autoinstall: running guided {name} install in mode {mode} '
f'using {target}') f'using {target}')
use_lvm = name == 'lvm' use_lvm = name == 'lvm'
self.guided(GuidedChoiceV2(target=target, use_lvm=use_lvm)) password = layout.get('password', None)
self.guided(GuidedChoiceV2(target=target, use_lvm=use_lvm,
password=password))
def validate_layout_mode(self, mode): def validate_layout_mode(self, mode):
if mode not in ('reformat_disk', 'use_gap'): if mode not in ('reformat_disk', 'use_gap'):