Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornl6720 <nl6720@gmail.com>2023-01-28 13:22:42 +0200
committernl6720 <nl6720@gmail.com>2023-02-22 18:28:27 +0200
commitb94d7c4ce5afdec032835378a7f6c564aecb05ed (patch)
tree63e9b2d31145b96a8018cfb08b0e341950a4e022
parentf5ade898f9cb0de1f6fb01fcef088d8a6b56de7d (diff)
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
-rw-r--r--CHANGELOG.rst2
-rwxr-xr-xarchiso/mkarchiso10
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}"}"