From de5f3d8d1e591b480199c326235d76c6a51c9437 Mon Sep 17 00:00:00 2001 From: James Bunton Date: Fri, 3 May 2019 20:37:38 +1000 Subject: [PATCH] multiboot-setup ignores missing files - also deduplicated some hardcoded paths --- multiboot-setup | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/multiboot-setup b/multiboot-setup index 8834db2..6e8c1b8 100755 --- a/multiboot-setup +++ b/multiboot-setup @@ -20,7 +20,7 @@ function cmd_format { } function cmd_grub { - DISK_DEVICE="$(mount|grep /mnt/multiboot|cut -d' ' -f1|sed 's/[0-9]*$//')" + DISK_DEVICE="$(findmnt -n -o source "$MULTIBOOT_MNT" | sed 's/[0-9]*$//')" if [ ! -b "$DISK_DEVICE" ]; then echo "ERROR! Could not find disk to install bootloader. Try using mount." exit 1 @@ -64,7 +64,7 @@ function install_grub_cfg { function cmd_mount { set -x - PARTITION_DEVICE="$(readlink -f /dev/disk/by-label/multiboot)" + PARTITION_DEVICE="$(readlink -f "/dev/disk/by-label/${PARTITION_LABEL}")" sudo mkdir -p "$MULTIBOOT_MNT" while sudo umount "$PARTITION_DEVICE" &> /dev/null; do true; done sudo mount "$PARTITION_DEVICE" "$MULTIBOOT_MNT" -o "uid=$(whoami)" @@ -107,7 +107,9 @@ function setup_arch { } } for iso in /archlinux-*.iso; do - setup_arch \$iso + if [ -f "\$iso" ]; then + setup_arch \$iso + fi done function setup_debian { @@ -118,7 +120,9 @@ function setup_debian { } } for iso in /debian-live-*.iso; do - setup_debian \$iso + if [ -f "\$iso" ]; then + setup_debian \$iso + fi done if [ -f /memdisk -a -f /FD12LITE.zip ]; then @@ -142,7 +146,9 @@ function setup_fedora { } } for iso in /Fedora-Workstation-Live-*.iso; do - setup_fedora \$iso + if [ -f "\$iso" ]; then + setup_fedora \$iso + fi done function setup_ubuntu { @@ -153,7 +159,9 @@ function setup_ubuntu { } } for iso in /ubuntu-*-desktop-*.iso; do - setup_ubuntu \$iso + if [ -f "\$iso" ]; then + setup_ubuntu \$iso + fi done EOT -- 2.39.2