25 lines
764 B
Bash
Executable File
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"
|