#1121621 systemd-boot-installer: should add 'quiet' to kernel command line

#1121621#5
Date:
2025-11-29 16:26:21 UTC
From:
To:
Hi,

Following an expert install with systemd-boot the kernel command line is
missing 'quiet', so the console is flooded with kernel messages.

As far as I know grub adds 'quiet' by default, so systemd-boot should do
the same.


Kind regards,
Andrei

#1121621#10
Date:
2025-11-29 17:00:01 UTC
From:
To:
Hi,

(Just passing by.)

Andrei POPESCU <andreimpopescu@gmail.com> (2025-11-29):

That seems to be done via grub-installer, which checks `user-params` to
see if the installer was booted with `quiet`. If (and only if, by the
looks of it, but I didn't double check the runtime) that's the case, the
option gets propagated to the installed system.


Cheers,

#1121621#15
Date:
2025-11-29 18:32:42 UTC
From:
To:
I just tested, and when selecting grub the command line in the final system
will contain 'quiet' even when using expert mode (which boots without it,
double-checked in a console during install).

Also, systemd-boot-installer won't pick-up the 'quiet' even when added manually
to the command line when booting the installer (systemd-boot /does/
pick-up 'quiet'
from the current system when installed in an existing system).

It seems to me there are different mechanisms used during install and on manual
installation of systemd-boot, because the former ends up with
/etc/kernel/cmdline
(containing only 'root=UUID=<UUID>'), but the latter doesn't.

Kind regards,
Andrei

#1121621#20
Date:
2025-11-29 20:58:21 UTC
From:
To:
[Removing Andrei from the recipients because his mail provider blocks my
mails so he would probably not receive this reply anyway]

IIUC, the relevant code in grub-installer
- sets GRUB_CMDLINE_LINUX_DEFAULT="quiet"
- adds any other kernel parameters after "---" to GRUB_CMDLINE_LINUX
in a rather convoluted way IMO. Why not simply do that ?
<https://salsa.debian.org/installer-team/systemd-boot-installer>
https://salsa.debian.org/installer-team/systemd-boot-installer/-/commit/3edb8dfa31ea95b0523938f18cfd174a1e26e574>

systemd-boot-installer creates /etc/kernel/cmdline,
systemd-boot.postinst does not.
kernel-install uses /proc/cmdline if /etc/kernel/cmdline does not exist
when creating or updating BLS kernel menu entries. IMO it is not so wise
to not have /etc/kernel/cmdline e.g. when booting from a rescue system
or with temporary kernel parameters which should be volatile.