From 5a527c34f2a5114908587fba94427cf18cafda8c Mon Sep 17 00:00:00 2001 From: hayao Date: Sun, 18 Oct 2020 21:25:20 +0900 Subject: [PATCH] [update] : Use directories for each arch in efiboot.img --- allarch.sh | 18 ++++++------------ build.sh | 6 +++--- efiboot/loader/entries/archiso-cd.conf | 4 ++-- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/allarch.sh b/allarch.sh index a6fabcfa..bd8f15b5 100755 --- a/allarch.sh +++ b/allarch.sh @@ -1053,9 +1053,8 @@ make_efi() { for arch in ${all_arch[@]}; do sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%OS_NAME%|${os_name}|g; - s|%KERNEL_FILENAME%|${kernel_filename}-${arch}|g; + s|%KERNEL_FILENAME%|${kernel_filename}|g; s|%ARCH%|${arch}|g; - s|archiso.img|archiso-${arch}.img|g; s|%INSTALL_DIR%|${install_dir}|g" \ "${script_path}/efiboot/loader/entries/archiso-usb.conf" > "${isofs_dir}/loader/entries/archiso-${arch}.conf" done @@ -1087,8 +1086,9 @@ make_efiboot() { mkdir -p "${work_dir}/efiboot/EFI/alteriso" for arch in ${all_arch[@]}; do - cp "${isofs_dir}/${install_dir}/boot/${arch}/${kernel_filename}" "${work_dir}/efiboot/EFI/alteriso/${kernel_filename}-${arch}.efi" - cp "${isofs_dir}/${install_dir}/boot/${arch}/archiso.img" "${work_dir}/efiboot/EFI/alteriso/archiso-${arch}.img" + mkdir -p "${work_dir}/efiboot/EFI/alteriso/${arch}" + cp "${isofs_dir}/${install_dir}/boot/${arch}/${kernel_filename}" "${work_dir}/efiboot/EFI/alteriso/${arch}/${kernel_filename}.efi" + cp "${isofs_dir}/${install_dir}/boot/${arch}/archiso.img" "${work_dir}/efiboot/EFI/alteriso/${arch}/archiso.img" done local _ucode_image @@ -1108,24 +1108,18 @@ make_efiboot() { done mkdir -p "${work_dir}/efiboot/loader/entries" - cp "${script_path}/efiboot/loader/loader.conf" "${work_dir}/efiboot/loader/" + sed "s|%ARCH%|${arch}|g;" "${script_path}/efiboot/loader/loader.conf" > "${work_dir}/efiboot/loader/loader.conf" cp "${isofs_dir}/loader/entries/uefi-shell"* "${work_dir}/efiboot/loader/entries/" for arch in ${all_arch[@]}; do sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%OS_NAME%|${os_name}|g; - s|%KERNEL_FILENAME%|${kernel_filename}-${arch}|g; + s|%KERNEL_FILENAME%|${kernel_filename}|g; s|%ARCH%|${arch}|g; - s|archiso.img|archiso-${arch}.img|g; s|%INSTALL_DIR%|${install_dir}|g" \ "${script_path}/efiboot/loader/entries/archiso-cd.conf" > "${work_dir}/efiboot/loader/entries/archiso-${arch}.conf" done - # shellx64.efi is picked up automatically when on / - #if [[ -f "${isofs_dir}/shellx64.efi" ]]; then - # cp "${isofs_dir}/shellx64.efi" "${work_dir}/efiboot/" - #fi - cp "${isofs_dir}/EFI/shell"*".efi" "${work_dir}/efiboot/EFI/" umount -d "${work_dir}/efiboot" diff --git a/build.sh b/build.sh index 150b3a5c..cdb381a3 100755 --- a/build.sh +++ b/build.sh @@ -1137,8 +1137,8 @@ make_efiboot() { mkdir -p "${work_dir}/efiboot/EFI/alteriso" - cp "${isofs_dir}/${install_dir}/boot/${arch}/${kernel_filename}" "${work_dir}/efiboot/EFI/alteriso/${kernel_filename}.efi" - cp "${isofs_dir}/${install_dir}/boot/${arch}/archiso.img" "${work_dir}/efiboot/EFI/alteriso/archiso.img" + cp "${isofs_dir}/${install_dir}/boot/${arch}/${kernel_filename}" "${work_dir}/efiboot/EFI/alteriso/${arch}/${kernel_filename}.efi" + cp "${isofs_dir}/${install_dir}/boot/${arch}/archiso.img" "${work_dir}/efiboot/EFI/alteriso/${arch}/archiso.img" local _ucode_image for _ucode_image in "${airootfs_dir}/boot/"{intel-uc.img,intel-ucode.img,amd-uc.img,amd-ucode.img,early_ucode.cpio,microcode.cpio}; do @@ -1152,7 +1152,7 @@ make_efiboot() { ) mkdir -p "${work_dir}/efiboot/loader/entries" - cp "${script_path}/efiboot/loader/loader.conf" "${work_dir}/efiboot/loader/" + sed "s|%ARCH%|${arch}|g;" "${script_path}/efiboot/loader/loader.conf" > "${work_dir}/efiboot/loader/loader.conf" cp "${isofs_dir}/loader/entries/uefi-shell"* "${work_dir}/efiboot/loader/entries/" diff --git a/efiboot/loader/entries/archiso-cd.conf b/efiboot/loader/entries/archiso-cd.conf index c980766e..9bbb1b5e 100644 --- a/efiboot/loader/entries/archiso-cd.conf +++ b/efiboot/loader/entries/archiso-cd.conf @@ -6,8 +6,8 @@ # title %OS_NAME% archiso %ARCH% UEFI CD -linux /EFI/alteriso/%KERNEL_FILENAME%.efi +linux /EFI/alteriso/%ARCH%/%KERNEL_FILENAME%.efi initrd /EFI/alteriso/intel-ucode.img initrd /EFI/alteriso/amd-ucode.img -initrd /EFI/alteriso/archiso.img +initrd /EFI/alteriso/%ARCH%/archiso.img options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% -- 2.11.0