diff --git a/test/py/tests/test_ut.py b/test/py/tests/test_ut.py
index ea0c43c..3a3f12d 100644
--- a/test/py/tests/test_ut.py
+++ b/test/py/tests/test_ut.py
@@ -27,43 +27,13 @@
     if not os.path.exists(dirname):
         os.mkdir(dirname)
 
-def setup_image(ubman, devnum, part_type, img_size=20, second_part=False,
-                basename='mmc'):
-    """Create a disk image with a single partition
-
-    Args:
-        ubman (ConsoleBase): Console to use
-        devnum (int): Device number to use, e.g. 1
-        part_type (int): Partition type, e.g. 0xc for FAT32
-        img_size (int): Image size in MiB
-        second_part (bool): True to contain a small second partition
-        basename (str): Base name to use in the filename, e.g. 'mmc'
-
-    Returns:
-        tuple:
-            str: Filename of MMC image
-            str: Directory name of scratch directory
-    """
-    fname = os.path.join(ubman.config.source_dir, f'{basename}{devnum}.img')
-    mnt = os.path.join(ubman.config.persistent_data_dir, 'scratch')
-    mkdir_cond(mnt)
-
-    spec = f'type={part_type:x}, size={img_size - 2}M, start=1M, bootable'
-    if second_part:
-        spec += '\ntype=c'
-
-    utils.run_and_log(ubman, f'qemu-img create {fname} 20M')
-    utils.run_and_log(ubman, f'sfdisk {fname}',
-                             stdin=spec.encode('utf-8'))
-    return fname, mnt
-
 def setup_bootmenu_image(ubman):
     """Create a 20MB disk image with a single ext4 partition
 
     This is modelled on Armbian 22.08 Jammy
     """
     mmc_dev = 4
-    fname, mnt = setup_image(ubman, mmc_dev, 0x83)
+    fname, mnt = fs_helper.setup_image(ubman, mmc_dev, 0x83)
 
     script = '''# DO NOT EDIT THIS FILE
 #
@@ -179,7 +149,7 @@
 def setup_bootflow_image(ubman):
     """Create a 20MB disk image with a single FAT partition"""
     mmc_dev = 1
-    fname, mnt = setup_image(ubman, mmc_dev, 0xc, second_part=True)
+    fname, mnt = fs_helper.setup_image(ubman, mmc_dev, 0xc, second_part=True)
 
     vmlinux = 'vmlinuz-5.3.7-301.fc31.armv7hl'
     initrd = 'initramfs-5.3.7-301.fc31.armv7hl.img'
@@ -545,8 +515,8 @@
     """Create a 20MB disk image with an EFI app on it"""
     devnum = 1
     basename = 'flash'
-    fname, mnt = setup_image(ubman, devnum, 0xc, second_part=True,
-                             basename=basename)
+    fname, mnt = fs_helper.setup_image(ubman, devnum, 0xc, second_part=True,
+                                       basename=basename)
 
     efi_dir = os.path.join(mnt, 'EFI')
     mkdir_cond(efi_dir)
