grub2/0211-blscfg-Lookup-default_kernelopts-variable-as-fallbac.patch

41 lines
1.5 KiB
Diff
Raw Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <javierm@redhat.com>
Date: Wed, 29 Apr 2020 20:08:27 +0200
Subject: [PATCH] blscfg: Lookup default_kernelopts variable as fallback for
options
The 10_linux script sets a variable that contains the kernel command line
parameters. This is done so the entries will still have a kernel cmdline
defined even if the grubenv can't be read.
But older versions of the script used to set a default_kernelopts variable
while newer versions just sets the kernelopts, which is what's defined in
the BLS snippets.
The blscfg module needs to keep looking for the default_kernelops since it
may be that a user doesn't have a grubenv file and has an older grub.cfg
that sets this variable instead of kernelopts.
Related: rhbz#1765297
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
grub-core/commands/blscfg.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/grub-core/commands/blscfg.c b/grub-core/commands/blscfg.c
index 9263a5c1a02..4ec6504d9a4 100644
--- a/grub-core/commands/blscfg.c
+++ b/grub-core/commands/blscfg.c
@@ -759,6 +759,10 @@ static void create_entry (struct bls_entry *entry)
title = bls_get_val (entry, "title", NULL);
options = expand_val (bls_get_val (entry, "options", NULL));
+
+ if (!options)
+ options = expand_val (grub_env_get("default_kernelopts"));
+
initrds = bls_make_list (entry, "initrd", NULL);
devicetree = expand_val (bls_get_val (entry, "devicetree", NULL));