You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.0 KiB
48 lines
2.0 KiB
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Javier Martinez Canillas <javierm@redhat.com>
|
|
Date: Tue, 11 Aug 2020 13:16:45 +0200
|
|
Subject: [PATCH] blscfg: Don't hardcode an env var as fallback for the BLS
|
|
options field
|
|
|
|
If the BLS fragments don't have an options field or if this was set to an
|
|
environment variable that was not defined in the grubenv file, the blscfg
|
|
module searches for a default_kernelopts variable that is defined in the
|
|
grub.cfg file.
|
|
|
|
But the blscfg module shouldn't hardcode fallbacks variables and instead
|
|
this logic should be handled in the GRUB config file itself.
|
|
|
|
Also, add a comment explaining where the kernelopts variable is supposed
|
|
to be defined and what is the process for the user to change its value.
|
|
|
|
Resolves: rhbz#1850193
|
|
|
|
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
|
|
---
|
|
util/grub.d/10_linux.in | 12 +++++++++++-
|
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
|
|
index 58d185047..48857bb81 100644
|
|
--- a/util/grub.d/10_linux.in
|
|
+++ b/util/grub.d/10_linux.in
|
|
@@ -158,7 +158,17 @@ linux_entry ()
|
|
populate_header_warn
|
|
|
|
cat << EOF
|
|
-set default_kernelopts="root=${linux_root_device_thisversion} ro ${args}"
|
|
+# The kernelopts variable should be defined in the grubenv file. But to ensure that menu
|
|
+# entries populated from BootLoaderSpec files that use this variable work correctly even
|
|
+# without a grubenv file, define a fallback kernelopts variable if this has not been set.
|
|
+#
|
|
+# The kernelopts variable in the grubenv file can be modified using the grubby tool or by
|
|
+# executing the grub2-mkconfig tool. For the latter, the values of the GRUB_CMDLINE_LINUX
|
|
+# and GRUB_CMDLINE_LINUX_DEFAULT options from /etc/default/grub file are used to set both
|
|
+# the kernelopts variable in the grubenv file and the fallback kernelopts variable.
|
|
+if [ -z "\${kernelopts}" ]; then
|
|
+ set kernelopts="root=${linux_root_device_thisversion} ro ${args}"
|
|
+fi
|
|
|
|
insmod blscfg
|
|
blscfg
|