Hide extra partitions when building UFDs

Addresses issue #226
This commit is contained in:
2Shirt 2024-09-28 23:21:20 -07:00
parent 75119c15ad
commit edd944a325
Signed by: 2Shirt
GPG key ID: 152FAC923B0E132C

View file

@ -80,7 +80,7 @@ def argparse_helper() -> dict[str, None|bool|str]:
'--update': args.update,
'--use-mbr': args.use_mbr,
'--winpe': args.winpe,
'EXTRA_IMAGES': args.extra_images,
'EXTRA_IMAGES': args.EXTRA_IMAGES,
}
return legacy_args
@ -175,6 +175,13 @@ def build_ufd() -> None:
dev_path=ufd_dev,
label=UFD_LABEL,
)
try_print.run(
message='Hiding extra partition(s)...',
function=hide_extra_partitions,
dev_path=ufd_dev,
num_parts=len(extra_images),
use_mbr=args['--use-mbr'],
)
ufd_dev_first_partition = find_first_partition(ufd_dev)
# Mount UFD
@ -464,6 +471,17 @@ def hide_items(ufd_dev_first_partition, items) -> None:
run_program(cmd, shell=True, check=False)
def hide_extra_partitions(dev_path, num_parts, use_mbr) -> None:
if use_mbr:
# Bail early
return
for part_id in range(num_parts):
part_id += 2 # Extra partitions start at 2
cmd = ['sfdisk', '--part-attrs', dev_path, str(part_id), 'RequiredPartition,62,63']
run_program(cmd, check=False)
def install_syslinux_to_dev(ufd_dev, use_mbr) -> None:
"""Install Syslinux to UFD (dev)."""
cmd = [