52 lines
2.2 KiB
Diff
52 lines
2.2 KiB
Diff
From 28440c9b5f83b82b4715554fa5c2d3f013b769e6 Mon Sep 17 00:00:00 2001
|
|
From: Michael Chang <mchang@suse.com>
|
|
Date: Tue, 26 Mar 2024 13:55:53 +0800
|
|
Subject: [PATCH] 10_linux: Ensure persistence of root file system mounting
|
|
|
|
This commit addresses the issue where the by-uuid or by-partuuid device
|
|
symlinks might be unavailable in an installation system. Despite the
|
|
absence of these symlinks, the resulting system remains fully functional
|
|
for mounting the root file system by using persistent names
|
|
(root=(UUID|PARTUUID)=).
|
|
|
|
The patch implemented in this commit aims to prevent fallback to the OS
|
|
name as the root= parameter, as persistent names are preferred for
|
|
stability and predictability.
|
|
|
|
To achieve this, the fallback to the OS name won't be triggered if the
|
|
corresponding by-uuid or by-partuuid symlinks are missing, ensuring the
|
|
use of persistent names. Instead, a warning will be logged for the
|
|
missing symlinks, providing visibility into the issue.
|
|
|
|
Signed-off-by: Michael Chang <mchang@suse.com>
|
|
---
|
|
util/grub.d/10_linux.in | 6 ++++--
|
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
|
index 5531239eb..4d8bdeac2 100644
|
|
--- a/util/grub.d/10_linux.in
|
|
+++ b/util/grub.d/10_linux.in
|
|
@@ -54,14 +54,16 @@ esac
|
|
if ( [ "x${GRUB_DEVICE_UUID}" = "x" ] && [ "x${GRUB_DEVICE_PARTUUID}" = "x" ] ) \
|
|
|| ( [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
|
|
&& [ "x${GRUB_DISABLE_LINUX_PARTUUID}" = "xtrue" ] ) \
|
|
- || ( ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
|
|
- && ! test -e "/dev/disk/by-partuuid/${GRUB_DEVICE_PARTUUID}" ) \
|
|
|| ( test -e "${GRUB_DEVICE}" && uses_abstraction "${GRUB_DEVICE}" lvm ); then
|
|
LINUX_ROOT_DEVICE=${GRUB_DEVICE}
|
|
elif [ "x${GRUB_DEVICE_UUID}" = "x" ] \
|
|
|| [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ]; then
|
|
+ test -e "/dev/disk/by-partuuid/${GRUB_DEVICE_PARTUUID}" ||
|
|
+ echo "WARN: Use PARTUUID=${GRUB_DEVICE_PARTUUID} despite missing by-partuuid symlink" >&2
|
|
LINUX_ROOT_DEVICE=PARTUUID=${GRUB_DEVICE_PARTUUID}
|
|
else
|
|
+ test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ||
|
|
+ echo "WARN: Use UUID=${GRUB_DEVICE_UUID} despite missing by-uuid symlink" >&2
|
|
LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
|
|
fi
|
|
|
|
--
|
|
2.44.0
|
|
|