summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Whitaker <mageia@martin-whitaker.me.uk>2017-12-22 18:28:58 +0000
committerMartin Whitaker <mageia@martin-whitaker.me.uk>2017-12-22 20:39:10 +0000
commit2e7c611d1b25c6ccf99585089c9372bdd3701f88 (patch)
tree03b292c5b6469ae89bd17ac1ec2cc65cac491f9b
parent8604d137143ed3dfd2abecb718a32c31bb0dac48 (diff)
downloaddrakiso-2e7c611d1b25c6ccf99585089c9372bdd3701f88.tar
drakiso-2e7c611d1b25c6ccf99585089c9372bdd3701f88.tar.gz
drakiso-2e7c611d1b25c6ccf99585089c9372bdd3701f88.tar.bz2
drakiso-2e7c611d1b25c6ccf99585089c9372bdd3701f88.tar.xz
drakiso-2e7c611d1b25c6ccf99585089c9372bdd3701f88.zip
Fix UEFI boot from DVD.
-rwxr-xr-xlib/MGA/DrakISO/BuildBoot.pm5
-rwxr-xr-xlib/MGA/DrakISO/BuildISO.pm4
2 files changed, 6 insertions, 3 deletions
diff --git a/lib/MGA/DrakISO/BuildBoot.pm b/lib/MGA/DrakISO/BuildBoot.pm
index bcf07ea..bd62711 100755
--- a/lib/MGA/DrakISO/BuildBoot.pm
+++ b/lib/MGA/DrakISO/BuildBoot.pm
@@ -236,6 +236,11 @@ sub prepare_iso_bootloader {
eval { rm_rf($esp_image) };
run_("/sbin/mkdosfs", "-F12", "-C", $esp_image, "4096");
run_("mcopy", "-s", "-i", $esp_image, $efi_root_dir, "::");
+
+ # Now we've built the ESP image, we can delete the grub2 image. We need
+ # to leave the grub2.cfg file, as DVD boot sets the initial grub2 root
+ # location to the iso9960 partition, not the ESP.
+ rm_rf($efi_boot_dir . '/bootx64.efi');
}
sub build_grub2_eltorito_img {
diff --git a/lib/MGA/DrakISO/BuildISO.pm b/lib/MGA/DrakISO/BuildISO.pm
index 3bded42..ba7ca95 100755
--- a/lib/MGA/DrakISO/BuildISO.pm
+++ b/lib/MGA/DrakISO/BuildISO.pm
@@ -145,9 +145,7 @@ sub build_iso_image {
'--grub2-boot-info',
if_($build->{settings}{arch} eq 'x86_64',
# for DVD UEFI boot
- '-eltorito-alt-boot',
- '-e', '/EFI/BOOT/bootx64.efi',
- '-no-emul-boot',
+ '--efi-boot', '--interval:appended_partition_2:all::',
# for USB UEFI boot
'-part_like_isohybrid',
'-iso_mbr_part_type', '0x00',