@@ -911,7 +911,7 @@ make_customize_airootfs() {
911911
912912 # /root permission
913913 # https://github.com/archlinux/archiso/commit/d39e2ba41bf556674501062742190c29ee11cd59
914- chmod -f 750 " ${work_dir} /x86_64 /airootfs/root"
914+ chmod -f 750 " ${work_dir} /${arch} /airootfs/root"
915915}
916916
917917# Copy mkinitcpio archiso hooks and build initramfs (airootfs)
@@ -1040,7 +1040,10 @@ make_isolinux() {
10401040# Prepare /EFI
10411041make_efi () {
10421042 mkdir -p " ${work_dir} /iso/EFI/boot"
1043- cp " ${work_dir} /${arch} /airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi" " ${work_dir} /iso/EFI/boot/bootx64.efi"
1043+ (
1044+ local __bootfile=" $( basename " $( ls " ${work_dir} /${arch} /airootfs/usr/lib/systemd/boot/efi/systemd-boot" * " .efi" ) " ) "
1045+ cp " ${work_dir} /${arch} /airootfs/usr/lib/systemd/boot/efi/${__bootfile} " " ${work_dir} /iso/EFI/boot/${__bootfile# systemd-} "
1046+ )
10441047
10451048 mkdir -p " ${work_dir} /iso/loader/entries"
10461049 cp " ${script_path} /efiboot/loader/loader.conf" " ${work_dir} /iso/loader/"
@@ -1052,13 +1055,15 @@ make_efi() {
10521055
10531056 # edk2-shell based UEFI shell
10541057 # shellx64.efi is picked up automatically when on /
1055- cp " ${work_dir} /x86_64/airootfs/usr/share/edk2-shell/x64/Shell_Full.efi" " ${work_dir} /iso/shellx64.efi"
1058+ if [[ -f " ${work_dir} /${arch} /airootfs/usr/share/edk2-shell/x64/Shell_Full.efi" ]]; then
1059+ cp " ${work_dir} /${arch} /airootfs/usr/share/edk2-shell/x64/Shell_Full.efi" " ${work_dir} /iso/shellx64.efi"
1060+ fi
10561061}
10571062
10581063# Prepare efiboot.img::/EFI for "El Torito" EFI boot mode
10591064make_efiboot () {
10601065 mkdir -p " ${work_dir} /iso/EFI/archiso"
1061- truncate -s 64M " ${work_dir} /iso/EFI/archiso/efiboot.img"
1066+ truncate -s 100M " ${work_dir} /iso/EFI/archiso/efiboot.img"
10621067 mkfs.fat -n ARCHISO_EFI " ${work_dir} /iso/EFI/archiso/efiboot.img"
10631068
10641069 mkdir -p " ${work_dir} /efiboot"
@@ -1078,7 +1083,10 @@ make_efiboot() {
10781083 cp " ${work_dir} /iso/${install_dir} /boot/amd_ucode.img" " ${work_dir} /efiboot/EFI/archiso/amd_ucode.img"
10791084
10801085 mkdir -p " ${work_dir} /efiboot/EFI/boot"
1081- cp " ${work_dir} /${arch} /airootfs/usr/lib/systemd/boot/efi/systemd-bootx64.efi" " ${work_dir} /efiboot/EFI/boot/bootx64.efi"
1086+ (
1087+ local __bootfile=" $( basename " $( ls " ${work_dir} /${arch} /airootfs/usr/lib/systemd/boot/efi/systemd-boot" * " .efi" ) " ) "
1088+ cp " ${work_dir} /${arch} /airootfs/usr/lib/systemd/boot/efi/${__bootfile} " " ${work_dir} /iso/EFI/boot/${__bootfile# systemd-} "
1089+ )
10821090
10831091 mkdir -p " ${work_dir} /efiboot/loader/entries"
10841092 cp " ${script_path} /efiboot/loader/loader.conf" " ${work_dir} /efiboot/loader/"
@@ -1090,7 +1098,9 @@ make_efiboot() {
10901098 " ${script_path} /efiboot/loader/entries/cd/archiso-x86_64-cd-${kernel} .conf" > " ${work_dir} /efiboot/loader/entries/archiso-x86_64.conf"
10911099
10921100 # shellx64.efi is picked up automatically when on /
1093- cp " ${work_dir} /iso/shellx64.efi" " ${work_dir} /efiboot/"
1101+ if [[ -f " ${work_dir} /iso/shellx64.efi" ]]; then
1102+ cp " ${work_dir} /iso/shellx64.efi" " ${work_dir} /efiboot/"
1103+ fi
10941104
10951105 umount -d " ${work_dir} /efiboot"
10961106}
0 commit comments