From f7502001b0e538bd443cb7ab82539f5aaa7afddb Mon Sep 17 00:00:00 2001 From: nl6720 Date: Sat, 28 Jan 2023 14:04:15 +0200 Subject: configs/*/grub/grub.cfg: reuse ARCHISO_HINT and ARCHISO_UUID passed from the embedded grub.cfg The `grub.cfg` embedded in the GRUB binaries already sets `ARCHISO_HINT` and `ARCHISO_UUID` in most cases. To avoid performing the same searches multiple times, use the existing variables. --- configs/baseline/grub/grub.cfg | 10 +++++++--- configs/releng/grub/grub.cfg | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/configs/baseline/grub/grub.cfg b/configs/baseline/grub/grub.cfg index d606b10..e855ea9 100644 --- a/configs/baseline/grub/grub.cfg +++ b/configs/baseline/grub/grub.cfg @@ -25,9 +25,13 @@ if serial --unit=0 --speed=115200; then fi # Search for the ISO volume -regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}" -search --no-floppy --set=root --file '/.disk/%UUID_SEARCH_FILENAME%.uuid' --hint "${ARCHISO_HINT}" -probe --set ARCHISO_UUID --fs-uuid "${root}" +if [ -z "${ARCHISO_UUID}" ]; then + if [ -z "${ARCHISO_HINT}" ]; then + regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}" + fi + search --no-floppy --set=root --file '/.disk/%UUID_SEARCH_FILENAME%.uuid' --hint "${ARCHISO_HINT}" + probe --set ARCHISO_UUID --fs-uuid "${root}" +fi # Set default menu entry default=archlinux diff --git a/configs/releng/grub/grub.cfg b/configs/releng/grub/grub.cfg index eb45a00..88a5d60 100644 --- a/configs/releng/grub/grub.cfg +++ b/configs/releng/grub/grub.cfg @@ -25,9 +25,13 @@ if serial --unit=0 --speed=115200; then fi # Search for the ISO volume -regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}" -search --no-floppy --set=root --file '/.disk/%UUID_SEARCH_FILENAME%.uuid' --hint "${ARCHISO_HINT}" -probe --set ARCHISO_UUID --fs-uuid "${root}" +if [ -z "${ARCHISO_UUID}" ]; then + if [ -z "${ARCHISO_HINT}" ]; then + regexp --set=1:ARCHISO_HINT '^\(([^)]+)\)' "${cmdpath}" + fi + search --no-floppy --set=root --file '/.disk/%UUID_SEARCH_FILENAME%.uuid' --hint "${ARCHISO_HINT}" + probe --set ARCHISO_UUID --fs-uuid "${root}" +fi # Set default menu entry default=archlinux -- cgit v1.2.3-54-g00ecf