diff --git a/scripts/wk/kit/ufd.py b/scripts/wk/kit/ufd.py index eb739457..76ed2520 100644 --- a/scripts/wk/kit/ufd.py +++ b/scripts/wk/kit/ufd.py @@ -5,6 +5,7 @@ import logging import math import os import pathlib +import re import shutil from subprocess import CalledProcessError @@ -287,7 +288,7 @@ def confirm_selections(update=False) -> None: def copy_source(source, items, from_live=False, overwrite=False) -> None: """Copy source items to /mnt/UFD.""" - is_image = not from_live and source.is_file() + is_image = not from_live and (source.is_file() or source.is_block_device()) items_not_found = False # Mount source if necessary @@ -472,6 +473,7 @@ def is_valid_path(path_obj, path_type) -> bool: valid_path = path_obj.is_file() and path_obj.suffix.lower() == '.img' elif path_type == 'ISO': valid_path = path_obj.is_file() and path_obj.suffix.lower() == '.iso' + valid_path = valid_path or re.match(r'^/dev/sr\d+$', str(path_obj)) elif path_type == 'UFD': valid_path = path_obj.is_block_device()