From b94d7c4ce5afdec032835378a7f6c564aecb05ed Mon Sep 17 00:00:00 2001 From: nl6720 Date: Sat, 28 Jan 2023 13:22:42 +0200 Subject: Move grub files from /EFI/BOOT/ to /boot/grub/ on ISO 9660 Move the location of GRUB files so that there is boot-platform (BIOS vs EFI) neutral place for GRUB-specific files (e.g. configuration files, background images, etc.). The EFI binaries are obviosly staying in the default/fallback boot path `/EFI/BOOT/BOOT*.EFI`, otherwise there will be no UEFI booting. The /boot/grub/ directory will be used to store BIOS (i386-pc) GRUB bootsector images, if we get to that. It is also a requirement for implementing `loopback.cfg` support, since the file's path must be `/boot/grub/loopback.cfg`. Implements #206 --- CHANGELOG.rst | 2 ++ archiso/mkarchiso | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index e00ebcb..da1c9ea 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -22,6 +22,8 @@ Changed - Honor ``SOURCE_DATE_EPOCH`` in the ``date`` command used by ``profiledef.sh`` of the shipped profiles. - Do not duplicate ``grub.cfg`` in both ISO 9660 and the EFI system partition / El Torito image. GRUB will search for the ISO volume and load the ``grub.cfg`` from there. +- Moved GRUB files on ISO 9660 from ``/EFI/BOOT/`` to a boot-platform neutral place ``/boot/grub/``. This does not apply + to the EFI binaries that remain in the default/fallback boot path. Removed ------- diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 00c974e..9acba1a 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -552,8 +552,8 @@ _make_common_bootmode_grub_copy_to_isofs() { if compgen -G "${profile}/grub/!(*.cfg)" &> /dev/null; then files_to_copy+=("${profile}/grub/"!(*.cfg)) fi - install -d -m 0755 -- "${isofs_dir}/EFI/BOOT" - install -m 0644 -- "${files_to_copy[@]}" "${isofs_dir}/EFI/BOOT/" + install -d -m 0755 -- "${isofs_dir}/boot/grub" + install -m 0644 -- "${files_to_copy[@]}" "${isofs_dir}/boot/grub/" } # Prepare GRUB configuration files @@ -608,12 +608,12 @@ fi # Load grub.cfg if [ "${ARCHISO_HINT}" == 'memdisk' -o -z "${ARCHISO_HINT}" ]; then echo 'Could not find the ISO volume!' -elif [ -e "(${ARCHISO_HINT})/EFI/BOOT/grub.cfg" ]; then +elif [ -e "(${ARCHISO_HINT})/boot/grub/grub.cfg" ]; then export ARCHISO_HINT set root="${ARCHISO_HINT}" - configfile "(${ARCHISO_HINT})/EFI/BOOT/grub.cfg" + configfile "(${ARCHISO_HINT})/boot/grub/grub.cfg" else - echo "File '(${ARCHISO_HINT})/EFI/BOOT/grub.cfg' not found!" + echo "File '(${ARCHISO_HINT})/boot/grub/grub.cfg' not found!" fi EOF grubembedcfg="${grubembedcfg//'%UUID_SEARCH_FILENAME%'/"${uuid_search_filename}"}" -- cgit v1.2.3-54-g00ecf