index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton@hvornum.se> | 2022-04-26 13:17:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-26 13:17:40 +0200 |
commit | 12b5e2e4e9537fbae0ec21ced9d21482b29610d3 (patch) | |
tree | beca57117b44080c161ca0142f07a90bdfee5ae1 /archinstall/lib/user_interaction/partitioning_conf.py | |
parent | 1bce561a0ca22d6735f9a46ee39e5e22e0c17cb8 (diff) |
-rw-r--r-- | archinstall/lib/user_interaction/partitioning_conf.py | 17 |
diff --git a/archinstall/lib/user_interaction/partitioning_conf.py b/archinstall/lib/user_interaction/partitioning_conf.py index 734bbe87..af1d224f 100644 --- a/archinstall/lib/user_interaction/partitioning_conf.py +++ b/archinstall/lib/user_interaction/partitioning_conf.py @@ -113,7 +113,7 @@ def select_individual_blockdevice_usage(block_devices: list) -> Dict[str, Any]: return result -def manage_new_and_existing_partitions(block_device: 'BlockDevice') -> Dict[str, Any]: +def manage_new_and_existing_partitions(block_device: 'BlockDevice') -> Dict[str, Any]: # noqa: max-complexity: 50 block_device_struct = {"partitions": [partition.__dump__() for partition in block_device.partitions.values()]} # Test code: [part.__dump__() for part in block_device.partitions.values()] # TODO: Squeeze in BTRFS subvolumes here @@ -125,6 +125,7 @@ def manage_new_and_existing_partitions(block_device: 'BlockDevice') -> Dict[str, assign_mount_point = str(_('Assign mount-point for a partition')) mark_formatted = str(_('Mark/Unmark a partition to be formatted (wipes data)')) mark_encrypted = str(_('Mark/Unmark a partition as encrypted')) + mark_compressed = str(_('Mark/Unmark a partition as compressed (btrfs only)')) mark_bootable = str(_('Mark/Unmark a partition as bootable (automatic for /boot)')) set_filesystem_partition = str(_('Set desired filesystem for a partition')) set_btrfs_subvolumes = str(_('Set desired subvolumes on a btrfs partition')) @@ -140,6 +141,7 @@ def manage_new_and_existing_partitions(block_device: 'BlockDevice') -> Dict[str, mark_formatted, mark_encrypted, mark_bootable, + mark_compressed, set_filesystem_partition, set_btrfs_subvolumes, ] @@ -213,6 +215,7 @@ def manage_new_and_existing_partitions(block_device: 'BlockDevice') -> Dict[str, continue block_device_struct.update(suggest_single_disk_layout(block_device)[block_device.path]) + elif task is None: return block_device_struct else: @@ -226,6 +229,18 @@ def manage_new_and_existing_partitions(block_device: 'BlockDevice') -> Dict[str, block_device_struct['partitions'] = [ p for idx, p in enumerate(block_device_struct['partitions']) if idx not in to_delete ] + elif task == mark_compressed: + title = _('{}\n\nSelect which partition to mark as bootable').format(current_layout) + partition = select_partition(title, block_device_struct["partitions"]) + + if partition is not None: + if "filesystem" not in block_device_struct["partitions"][partition]: + block_device_struct["partitions"][partition]["filesystem"] = {} + if "mount_options" not in block_device_struct["partitions"][partition]["filesystem"]: + block_device_struct["partitions"][partition]["filesystem"]["mount_options"] = [] + + if "compress=zstd" not in block_device_struct["partitions"][partition]["filesystem"]["mount_options"]: + block_device_struct["partitions"][partition]["filesystem"]["mount_options"].append("compress=zstd") elif task == delete_all_partitions: block_device_struct["partitions"] = [] elif task == assign_mount_point: |