lb-config/sluefi.sh

25 lines
764 B
Bash
Executable File

#!/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"