*now* to include a native systemd unit file instead of a legacy
System V script to retain compatibility with future systemd releases.
+ * Support for the SystemdOptions EFI variable is deprecated.
+ 'bootctl systemd-efi-options' will emit a warning when used. It seems
+ that this feature is little-used and it is better to use alternative
+ approaches like credentials and confexts. The plan is to drop support
+ altogether at a later point, but this might be revisited based on
+ user feedback.
+
* EnvironmentFile= now treats the line following a comment line
trailing with escape as a non comment line. For details, see:
https://github.com/systemd/systemd/issues/27975
<literal>SystemdOptions</literal> EFI variable. When called with an argument, sets the variable to
that value. See
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> for the
- meaning of that variable.</para></listitem>
+ meaning of that variable.</para>
+
+ <para>Note: use of <literal>SystemdOptions</literal> and this command is deprecated.</para>
+ </listitem>
</varlistentry>
</variablelist>
</refsect1>
the command line arguments passed to systemd itself, next to any of the command line options listed in
the Options section above. If run outside of Linux containers, these arguments are parsed from
<filename>/proc/cmdline</filename> and from the <literal>SystemdOptions</literal> EFI variable
- (on EFI systems) instead. Options from <filename>/proc/cmdline</filename> have higher priority. The
- following variables are understood:</para>
+ (on EFI systems) instead. Options from <filename>/proc/cmdline</filename> have higher priority.</para>
+
+ <para>Note: use of <literal>SystemdOptions</literal> is deprecated.</para>
+
+ <para>The following variables are understood:</para>
<variablelist class='kernel-commandline-options'>
<varlistentry>
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#include "alloc-util.h"
+#include "bootctl.h"
#include "bootctl-systemd-efi-options.h"
#include "efi-loader.h"
int verb_systemd_efi_options(int argc, char *argv[], void *userdata) {
int r;
+ if (!arg_quiet)
+ log_notice("Use of the SystemdOptions EFI variable is deprecated.");
+
if (argc == 1) {
_cleanup_free_ char *line = NULL, *new = NULL;