Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archiso/mkarchiso
diff options
context:
space:
mode:
Diffstat (limited to 'archiso/mkarchiso')
-rwxr-xr-xarchiso/mkarchiso11
1 files changed, 10 insertions, 1 deletions
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index 3e33468..8adf232 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -540,12 +540,21 @@ _make_boot_on_fat() {
# Prepare efiboot.img::/EFI for EFI boot mode
_make_boot_uefi-x64.systemd-boot.esp() {
+ local efiboot_imgsize="0"
_msg_info "Setting up systemd-boot for UEFI booting..."
install -d -m 0755 -- "${isofs_dir}/EFI/archiso"
+ efiboot_imgsize="$(( (( (( $(du --apparent-size -bc \
+ "${airootfs_dir}/usr/lib/systemd/boot/efi/systemd-bootx64.efi" \
+ "${airootfs_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" \
+ "${profile}/efiboot/" \
+ "${airootfs_dir}/boot/vmlinuz-"* \
+ "${airootfs_dir}/boot/initramfs-"*".img" \
+ "${airootfs_dir}/boot/"{intel-uc.img,intel-ucode.img,amd-uc.img,amd-ucode.img,early_ucode.cpio,microcode.cpio} \
+ 2>/dev/null | awk 'END {print $1}') / 1048576 )) +1 )) * 1024 ))"
# The FAT image must be created with mkfs.fat not mformat, as some systems have issues with mformat made images:
# https://lists.gnu.org/archive/html/grub-devel/2019-04/msg00099.html
- mkfs.fat -C -n ARCHISO_EFI "${isofs_dir}/EFI/archiso/efiboot.img" 65536
+ mkfs.fat -C -n ARCHISO_EFI "${isofs_dir}/EFI/archiso/efiboot.img" "$efiboot_imgsize"
mmd -i "${isofs_dir}/EFI/archiso/efiboot.img" ::/EFI ::/EFI/BOOT
mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" \