@@ -901,15 +901,39 @@ make_efi() {
901901 cp " ${airootfs_dir} /usr/lib/systemd/boot/efi/${__bootfile} " " ${isofs_dir} /EFI/boot/${__bootfile# systemd-} "
902902 )
903903
904+ local _use_config_name
905+ if [[ " ${boot_splash} " = true ]]; then
906+ _use_config_name=" splash"
907+ else
908+ _use_config_name=" nosplash"
909+ fi
910+
904911 mkdir -p " ${isofs_dir} /loader/entries"
905- sed " s|%ARCH%|${arch} |g;" " ${script_path} /efiboot/loader/loader.conf" > " ${isofs_dir} /loader/loader.conf"
912+ sed " s|%ARCH%|${arch} |g;" " ${script_path} /efiboot/${_use_config_name} /loader.conf" > " ${isofs_dir} /loader/loader.conf"
913+
914+ local _efi_config_list=() _efi_config
915+ _efi_config_list+=(
916+ $(
917+ ls " ${script_path} /efiboot/${_use_config_name} /archiso-usb" * " .conf" | grep -v " rescue"
918+ )
919+ )
920+
921+ if [[ " ${norescue_entry} " = false ]]; then
922+ _efi_config_list+=(
923+ $(
924+ ls " ${script_path} /efiboot/${_use_config_name} /archiso-usb" * " .conf" | grep -v " rescue"
925+ )
926+ )
927+ fi
906928
907- sed " s|%ARCHISO_LABEL%|${iso_label} |g;
908- s|%OS_NAME%|${os_name} |g;
909- s|%KERNEL_FILENAME%|${kernel_filename} |g;
910- s|%ARCH%|${arch} |g;
911- s|%INSTALL_DIR%|${install_dir} |g" \
912- " ${script_path} /efiboot/loader/entries/archiso-usb.conf" > " ${isofs_dir} /loader/entries/archiso-${arch} .conf"
929+ for _efi_config in ${_efi_config_list[@]} ; do
930+ sed " s|%ARCHISO_LABEL%|${iso_label} |g;
931+ s|%OS_NAME%|${os_name} |g;
932+ s|%KERNEL_FILENAME%|${kernel_filename} |g;
933+ s|%ARCH%|${arch} |g;
934+ s|%INSTALL_DIR%|${install_dir} |g" \
935+ " ${_efi_config} " > " ${isofs_dir} /loader/entries/$( basename " ${_efi_config} " | sed " s|usb|${arch} |g" ) "
936+ done
913937
914938 # edk2-shell based UEFI shell
915939 local _efi_shell _efi_shell_arch
@@ -948,17 +972,41 @@ make_efiboot() {
948972 cp " ${airootfs_dir} /usr/lib/systemd/boot/efi/${__bootfile} " " ${work_dir} /efiboot/EFI/boot/${__bootfile# systemd-} "
949973 )
950974
975+ local _use_config_name
976+ if [[ " ${boot_splash} " = true ]]; then
977+ _use_config_name=" splash"
978+ else
979+ _use_config_name=" nosplash"
980+ fi
981+
951982 mkdir -p " ${work_dir} /efiboot/loader/entries"
952- sed " s|%ARCH%|${arch} |g;" " ${script_path} /efiboot/loader /loader.conf" > " ${work_dir} /efiboot/loader/loader.conf"
983+ sed " s|%ARCH%|${arch} |g;" " ${script_path} /efiboot/${_use_config_name} /loader.conf" > " ${work_dir} /efiboot/loader/loader.conf"
953984 cp " ${isofs_dir} /loader/entries/uefi-shell" * " ${work_dir} /efiboot/loader/entries/"
954985
955986
956- sed " s|%ARCHISO_LABEL%|${iso_label} |g;
957- s|%OS_NAME%|${os_name} |g;
958- s|%KERNEL_FILENAME%|${kernel_filename} |g;
959- s|%ARCH%|${arch} |g;
960- s|%INSTALL_DIR%|${install_dir} |g" \
961- " ${script_path} /efiboot/loader/entries/archiso-cd.conf" > " ${work_dir} /efiboot/loader/entries/archiso-${arch} .conf"
987+ local _efi_config_list=() _efi_config
988+ _efi_config_list+=(
989+ $(
990+ ls " ${script_path} /efiboot/${_use_config_name} /archiso-cd" * " .conf" | grep -v " rescue"
991+ )
992+ )
993+
994+ if [[ " ${norescue_entry} " = false ]]; then
995+ _efi_config_list+=(
996+ $(
997+ ls " ${script_path} /efiboot/${_use_config_name} /archiso-cd" * " .conf" | grep -v " rescue"
998+ )
999+ )
1000+ fi
1001+
1002+ for _efi_config in ${_efi_config_list[@]} ; do
1003+ sed " s|%ARCHISO_LABEL%|${iso_label} |g;
1004+ s|%OS_NAME%|${os_name} |g;
1005+ s|%KERNEL_FILENAME%|${kernel_filename} |g;
1006+ s|%ARCH%|${arch} |g;
1007+ s|%INSTALL_DIR%|${install_dir} |g" \
1008+ " ${_efi_config} " > " ${work_dir} /efiboot/loader/entries/$( basename " ${_efi_config} " | sed " s|cd|${arch} |g" ) "
1009+ done
9621010
9631011 cp " ${isofs_dir} /EFI/shell" * " .efi" " ${work_dir} /efiboot/EFI/"
9641012
0 commit comments