From f19f6173c8650ebc43dc166ee2a2f3f92a753afe Mon Sep 17 00:00:00 2001
From: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
Date: Thu, 20 Jun 2013 18:30:00 -0300
Subject: [PATCH] [archiso] Add support to isohybrid-gpt for EFI boot

Tested and works fine under qemu using seabios and ovmf

$ qemu-system-x86_64 -enable-kvm -drive file=~/archlinux-2013.06.20-dual.iso
$ qemu-system-x86_64 -enable-kvm -drive file=~/archlinux-2013.06.20-dual.iso,media=cdrom
$ qemu-system-x86_64 -enable-kvm -bios ~/arch/OVMF/bios.bin -drive file=~/archlinux-2013.06.20-dual.iso
$ qemu-system-x86_64 -enable-kvm -bios ~/arch/OVMF/bios.bin -drive file=~/archlinux-2013.06.20-dual.iso,media=cdrom

Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
---
 archiso/mkarchiso | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index fa32b62..8f9ed42 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -414,7 +414,10 @@ command_iso () {
 
     # If exists, add an EFI "El Torito" boot image (FAT filesystem) to ISO-9660 image.
     if [[ -f "${work_dir}/iso/EFI/archiso/efiboot.img" ]]; then
-        _iso_efi_boot_args="--efi-boot EFI/archiso/efiboot.img"
+        _iso_efi_boot_args="-eltorito-alt-boot
+                            -e EFI/archiso/efiboot.img
+                            -no-emul-boot
+                            -isohybrid-gpt-basdat"
     fi
 
     _show_config iso
@@ -436,8 +439,8 @@ command_iso () {
             -eltorito-boot isolinux/isolinux.bin \
             -eltorito-catalog isolinux/boot.cat \
             -no-emul-boot -boot-load-size 4 -boot-info-table \
-            ${_iso_efi_boot_args} \
             -isohybrid-mbr ${work_dir}/iso/isolinux/isohdpfx.bin \
+            ${_iso_efi_boot_args} \
             -output "${out_dir}/${img_name}" \
             "${work_dir}/iso/"
         _msg_info "Done! | $(ls -sh ${out_dir}/${img_name})"