#!/bin/bash -ex # update-efi-booter script pushd / grub-mkconfig -o /boot/grub/grub.cfg efi_arch="x86_64" coreservices_dir="/boot/efi/System/Library/CoreServices/" boot_efi_dir="/boot/efi/" mactel_boot_dir="/usr/share/mactel-boot/" mactel_boot_logo_dir="/usr/share/mactel-boot-logo/" grep -q "32" /sys/firmware/efi/fw_platform_size && efi_arch="i386" echo 'Creating boot.efi for '$efi_arch case "$efi_arch" in x86_64) grub-mkstandalone -o /tmp/boot.efi -d usr/lib/grub/x86_64-efi -O x86_64-efi --compress=xz boot/grub/grub.cfg ;; i386) grub-mkstandalone -o /tmp/boot.efi -d usr/lib/grub/i386-efi -O i386-efi --compress=xz boot/grub/grub.cfg ;; esac echo 'Installing boot.efi for '$efi_arch mount -t hfsplus -o force,remount,rw $boot_efi_dir && sleep 1 test ! -d $coreservices_dir && install -d $coreservices_dir install -m 644 /tmp/boot.efi $coreservices_dir test ! -f $boot_efi_dir/.VolumeIcon.icns && -f $mactel_boot_logo_dir/ubuntu.icons && install -m 644 $mactel_boot_logo_dir/ubuntu.icns $boot_efi_dir/.VolumeIcon.icns test ! -f $boot_efi_dir/mach_kernel && echo "This file is required for booting" > $boot_efi_dir/mach_kernel test ! -f $coreservices_dir/SystemVersion.plist && -f $mactel_boot_dir/SysytemVersion.plist && install -m 644 $mactel_boot_dir/SystemVersion.plist $coreservices_dir hfs-bless $coreservices_dir/boot.efi && sleep 1 && mount -t hfsplus -o remount $boot_efi_dir