From 83e4cb9fb9934611e0508ac4e6ee97a1a0bd2ffc Mon Sep 17 00:00:00 2001 From: nl6720 Date: Thu, 3 Sep 2020 00:03:38 +0300 Subject: Use the same file paths in both ISO 9660 and FAT This allows to use only one systemd-boot configuration file per kernel. Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/44 . --- archiso/mkarchiso | 19 ++++++++++--------- .../efiboot/loader/entries/archiso-x86_64-cd.conf | 9 --------- .../efiboot/loader/entries/archiso-x86_64-linux.conf | 9 +++++++++ .../efiboot/loader/entries/archiso-x86_64-usb.conf | 9 --------- configs/releng/efiboot/loader/loader.conf | 2 +- 5 files changed, 20 insertions(+), 28 deletions(-) delete mode 100644 configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf create mode 100644 configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf delete mode 100644 configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 5c124bd..d83ab2f 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -500,8 +500,8 @@ _make_efi() { sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%INSTALL_DIR%|${install_dir}|g; s|%ARCH%|${arch}|g" \ - "${profile}/efiboot/loader/entries/archiso-x86_64-usb.conf" > \ - "${isofs_dir}/loader/entries/archiso-x86_64.conf" + "${profile}/efiboot/loader/entries/archiso-x86_64-linux.conf" > \ + "${isofs_dir}/loader/entries/archiso-x86_64-linux.conf" # edk2-shell based UEFI shell # shellx64.efi is picked up automatically when on / @@ -514,14 +514,15 @@ _make_efi() { # Prepare kernel/initramfs on efiboot.img _make_boot_on_fat() { _msg_info "Preparing kernel and intramfs for the FAT file system..." - mmd -i "${isofs_dir}/EFI/archiso/efiboot.img" ::/EFI/archiso - mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" \ - "${airootfs_dir}/boot/vmlinuz-linux" "${airootfs_dir}/boot/initramfs-linux.img" ::/EFI/archiso/ + mmd -i "${isofs_dir}/EFI/archiso/efiboot.img" \ + "::/${install_dir}" "::/${install_dir}/boot" "::/${install_dir}/boot/${arch}" + mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" "${airootfs_dir}/boot/vmlinuz-linux" \ + "${airootfs_dir}/boot/initramfs-linux.img" "::/${install_dir}/boot/${arch}/" if [[ -e "${airootfs_dir}/boot/intel-ucode.img" ]]; then - mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" "${airootfs_dir}/boot/intel-ucode.img" ::/EFI/archiso/ + mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" "${airootfs_dir}/boot/intel-ucode.img" "::/${install_dir}/boot/" fi if [[ -e "${airootfs_dir}/boot/amd-ucode.img" ]]; then - mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" "${airootfs_dir}/boot/amd-ucode.img" ::/EFI/archiso/ + mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" "${airootfs_dir}/boot/amd-ucode.img" "::/${install_dir}/boot/" fi _msg_info "Done!" } @@ -544,8 +545,8 @@ _make_boot_uefi-x64.systemd-boot.esp() { sed "s|%ARCHISO_LABEL%|${iso_label}|g; s|%INSTALL_DIR%|${install_dir}|g; s|%ARCH%|${arch}|g" \ - "${profile}/efiboot/loader/entries/archiso-x86_64-cd.conf" \ - | mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" - ::/loader/entries/archiso-x86_64.conf + "${profile}/efiboot/loader/entries/archiso-x86_64-linux.conf" \ + | mcopy -i "${isofs_dir}/EFI/archiso/efiboot.img" - ::/loader/entries/archiso-x86_64-linux.conf # shellx64.efi is picked up automatically when on / if [[ -e "${airootfs_dir}/usr/share/edk2-shell/x64/Shell_Full.efi" ]]; then diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf deleted file mode 100644 index a706064..0000000 --- a/configs/releng/efiboot/loader/entries/archiso-x86_64-cd.conf +++ /dev/null @@ -1,9 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -title Arch Linux install medium (x86_64, UEFI) -linux /EFI/archiso/vmlinuz-linux -initrd /EFI/archiso/intel-ucode.img -initrd /EFI/archiso/amd-ucode.img -initrd /EFI/archiso/initramfs-linux.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf new file mode 100644 index 0000000..1a14b11 --- /dev/null +++ b/configs/releng/efiboot/loader/entries/archiso-x86_64-linux.conf @@ -0,0 +1,9 @@ +# +# SPDX-License-Identifier: GPL-3.0-or-later + +title Arch Linux install medium (x86_64, UEFI) +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/intel-ucode.img +initrd /%INSTALL_DIR%/boot/amd-ucode.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf b/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf deleted file mode 100644 index 1a14b11..0000000 --- a/configs/releng/efiboot/loader/entries/archiso-x86_64-usb.conf +++ /dev/null @@ -1,9 +0,0 @@ -# -# SPDX-License-Identifier: GPL-3.0-or-later - -title Arch Linux install medium (x86_64, UEFI) -linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux -initrd /%INSTALL_DIR%/boot/intel-ucode.img -initrd /%INSTALL_DIR%/boot/amd-ucode.img -initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img -options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% diff --git a/configs/releng/efiboot/loader/loader.conf b/configs/releng/efiboot/loader/loader.conf index fd7db27..1ea5ce5 100644 --- a/configs/releng/efiboot/loader/loader.conf +++ b/configs/releng/efiboot/loader/loader.conf @@ -2,4 +2,4 @@ # SPDX-License-Identifier: GPL-3.0-or-later timeout 3 -default archiso-x86_64.conf +default archiso-x86_64-linux.conf -- cgit v1.2.3-54-g00ecf