From 599a2e1a99114516f54179346f6654c9868bd20b Mon Sep 17 00:00:00 2001 From: Robbie Harwood Date: May 31 2022 17:23:49 +0000 Subject: Additionally write to /etc/kernel/cmdline Signed-off-by: Robbie Harwood --- diff --git a/grubby-bls b/grubby-bls index af0d82d..f70aceb 100755 --- a/grubby-bls +++ b/grubby-bls @@ -513,6 +513,19 @@ update_bls_fragment() { opts="$(grub2-editenv "${env}" list | grep kernelopts | sed -e "s/kernelopts=//")" fi + # systemd decide that what we needed was *another* place to configure this + # stuff (after our two, plus BLS). Two, actually, but configuration + # doesn't live in /usr. If we don't do this, kernel-install + # (90-loaderentry.install) will read arguments from /proc/cmdline (instead + # of our actual configuration...), causing future kernel installs to use + # the current kernel's arguments - which depending on when the system + # reboots, may or may not be what the user wanted... + if [[ $param = "ALL" && -e /etc/default/grub ]]; then + opts="$(source /etc/default/grub; echo ${GRUB_CMDLINE_LINUX})" + root="$(tr -s "$IFS" '\n' /etc/kernel/cmdline + fi + for i in ${indexes[*]}; do if [[ -n $remove_args || -n $add_args ]]; then local old_args="$(get_bls_args "$i")" diff --git a/grubby.spec b/grubby.spec index 4938666..8b319c8 100644 --- a/grubby.spec +++ b/grubby.spec @@ -3,7 +3,7 @@ Name: grubby Version: 8.40 -Release: 59%{?dist} +Release: 60%{?dist} Summary: Command line tool for updating bootloader configs License: GPLv2+ Source1: grubby-bls @@ -83,6 +83,9 @@ fi %{_mandir}/man8/grubby.8* %changelog +* Tue May 31 2022 Robbie Harwood - 8.40-60 +- Additionally write to /etc/kernel/cmdline + * Wed Apr 27 2022 Robbie Harwood - 8.40-59 - Remove upstream and layers of indirection around -bls