From a0da9a6272188bdf46cb87942b88de2195d01725 Mon Sep 17 00:00:00 2001 From: Glen Barber Date: Thu, 15 Oct 2020 17:12:58 +0000 Subject: [PATCH] Increase the amd64 ISO ESP file size from 800KB to 1024KB. At some poing over the last week, the bootx64.efi file has grown past the 800KB threshold, resulting in being unable to copy it to the EFI/BOOT directory. # stat -f %z efiboot.znWo7m 819200 # stat -f %z stand-test.PIEugN/EFI/BOOT/bootx64.efi 842752 The comment in the script that creates the ISOs suggests that 800KB is the maximum allowed for the boot code, however I was able to boot an ISO with a 1024KB boot partition. Additionally, I verified against an ISO from OtherOS, where the boot EFI partition is 2.4MB. Sponsored by: Rubicon Communications, LLC (netgate.com) --- release/amd64/mkisoimages.sh | 6 +++--- release/arm64/mkisoimages.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/release/amd64/mkisoimages.sh b/release/amd64/mkisoimages.sh index 1f0db53b683d..e06435c4a026 100644 --- a/release/amd64/mkisoimages.sh +++ b/release/amd64/mkisoimages.sh @@ -46,10 +46,10 @@ if [ "$1" = "-b" ]; then bootable="-o bootimage=i386;$BASEBITSDIR/boot/cdboot -o no-emul-boot" # Make EFI system partition. - # The ISO file is a special case, in that it only has a maximum of - # 800 KB available for the boot code. So make an 800 KB ESP espfilename=$(mktemp /tmp/efiboot.XXXXXX) - make_esp_file ${espfilename} 800 ${BASEBITSDIR}/boot/loader.efi + # ESP file size in KB. + espsize="1024" + make_esp_file ${espfilename} ${espsize} ${BASEBITSDIR}/boot/loader.efi bootable="$bootable -o bootimage=i386;${espfilename} -o no-emul-boot -o platformid=efi" shift diff --git a/release/arm64/mkisoimages.sh b/release/arm64/mkisoimages.sh index 67edfb53f357..f8a67992d455 100644 --- a/release/arm64/mkisoimages.sh +++ b/release/arm64/mkisoimages.sh @@ -40,10 +40,10 @@ if [ "$1" = "-b" ]; then BASEBITSDIR="$4" # Make an EFI system partition. - # The ISO file is a special case, in that it only has a maximum of - # 800 KB available for the boot code. So make an 800 KB ESP espfilename=$(mktemp /tmp/efiboot.XXXXXX) - make_esp_file ${espfilename} 800 ${BASEBITSDIR}/boot/loader.efi + # ESP file size in KB. + espsize="1024" + make_esp_file ${espfilename} ${espsize} ${BASEBITSDIR}/boot/loader.efi bootable="-o bootimage=efi;${espfilename} -o no-emul-boot -o platformid=efi"