index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton.feeds@gmail.com> | 2021-05-11 13:37:08 +0200 |
---|---|---|
committer | Anton Hvornum <anton.feeds@gmail.com> | 2021-05-11 13:37:08 +0200 |
commit | 129ceaea8be14362e2b22cbbf8b83ae0e392d1e8 (patch) | |
tree | 8b2f2249e77a38bb58aa9e602e717f54d998f495 /archinstall | |
parent | e6c28a94ee42dad37cc69f8ebd3e6edebc33b938 (diff) |
-rw-r--r-- | archinstall/lib/disk.py | 12 | ||||
-rw-r--r-- | archinstall/lib/user_interaction.py | 16 |
diff --git a/archinstall/lib/disk.py b/archinstall/lib/disk.py index 30b66835..3241c455 100644 --- a/archinstall/lib/disk.py +++ b/archinstall/lib/disk.py @@ -730,4 +730,14 @@ def disk_layouts(): return json.loads(b''.join(handle).decode('UTF-8')) except SysCallError as err: log(f"Could not return disk layouts: {err}") - return None
\ No newline at end of file + return None + +def encrypted_partitions(blockdevices :dict) -> bool: + for partition in blockdevices.values(): + if partition.get('encrypted', False): + yield partition + +def find_partition_by_mountpoint(partitions, relative_mountpoint :str): + for partition in partitions: + if partition.get('mountpoint', None) == relative_mountpoint: + return partition
\ No newline at end of file diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py index ab95909f..91720065 100644 --- a/archinstall/lib/user_interaction.py +++ b/archinstall/lib/user_interaction.py @@ -150,6 +150,20 @@ def generic_multi_select(options, text="Select one or more of the options above sys.stdout.flush() return selected_options +def select_encrypted_partitions(blockdevices :dict) -> dict: + print(blockdevices[0]) + + if len(blockdevices) == 1: + if len(blockdevices[0]['partitions']) == 2: + root = find_partition_by_mountpoint(blockdevices[0]['partitions'], '/') + blockdevices[0]['partitions'][root]['encrypted'] = True + return True + + options = [] + for partition in blockdevices.values(): + options.append({key: val for key, val in partition.items() if val}) + + print(generic_multi_select(options, f"Choose which partitions to encrypt (leave blank when done): ")) class MiniCurses(): def __init__(self, width, height): @@ -594,7 +608,7 @@ def wipe_and_create_partitions(block_device): else: partition_type = 'msdos' - partitions_result = [part.__dump__() for part in block_device.partitions.values()] + partitions_result = [] # Test code: [part.__dump__() for part in block_device.partitions.values()] suggested_layout = [ { # Boot "type" : "primary", |