#!/bin/sh # sluefi.sh - adds a syslinux efi bootloader to a live-build image [ "$(whoami)" != "root" ] && echo "You must be root to use this script." && exit image_name="$1" [ -z $image_name ] && echo "Specify a disk image." && exit ! [ -f "$image_name" ] && echo "$image_name is not a file." && exit echo "Adding EFI support to $image_name..." loop_device="$(losetup --show -f -P $image_name)" esp="$(mktemp -d)" mount -o loop "$loop_device"p1 "$esp" mkdir -p "$esp/EFI/BOOT" cp "/usr/lib/SYSLINUX.EFI/efi64/syslinux.efi" "$esp/EFI/BOOT/BOOTX64.efi" cp "$esp/syslinux/"*.cfg "$esp/EFI/BOOT" cp "$esp/syslinux/splash.png" "$esp/EFI/BOOT" cp "/usr/lib/syslinux/modules/efi64/"* "$esp/EFI/BOOT" echo "Done." umount "$esp" rmdir "$esp" losetup -d "$loop_device"