diff --git a/.bin/Scripts/build-ufd b/.bin/Scripts/build-ufd index 5dd15a7c..4d0072c4 100755 --- a/.bin/Scripts/build-ufd +++ b/.bin/Scripts/build-ufd @@ -92,6 +92,13 @@ if __name__ == '__main__': ufd_label=UFD_LABEL, ) + # Install syslinux (to partition) + try_and_print( + message='Syslinux (partition)...', + function=install_syslinux_to_partition, + partition=find_first_partition(ufd_dev), + ) + # Unmount UFD try_and_print( message='Unmounting UFD...', @@ -99,10 +106,10 @@ if __name__ == '__main__': mount_point='/mnt/UFD', ) - # Install syslinux + # Install syslinux (to device) try_and_print( - message='Installing Syslinux...', - function=install_syslinux, + message='Syslinux (device)...', + function=install_syslinux_to_dev, ufd_dev=ufd_dev, use_mbr=args['--use-mbr'], ) diff --git a/.bin/Scripts/functions/ufd.py b/.bin/Scripts/functions/ufd.py index c1296d44..897334f6 100644 --- a/.bin/Scripts/functions/ufd.py +++ b/.bin/Scripts/functions/ufd.py @@ -154,8 +154,8 @@ def hide_items(ufd_dev, items): run_program(cmd, check=False, shell=True) -def install_syslinux(ufd_dev, use_mbr): - """Install Syslinux to UFD.""" +def install_syslinux_to_dev(ufd_dev, use_mbr): + """Install Syslinux to UFD (dev).""" cmd = [ 'dd', 'bs=440', @@ -168,6 +168,18 @@ def install_syslinux(ufd_dev, use_mbr): run_program(cmd) +def install_syslinux_to_partition(partition): + """Install Syslinux to UFD (partition).""" + cmd = [ + 'syslinux', + '--install', + '--directory', + '/arch/boot/syslinux/', + partition, + ] + run_program(cmd) + + def is_valid_path(path_obj, path_type): """Verify path_obj is valid by type, returns bool.""" valid_path = False