]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-boot: allow setting the log level through loader.conf 38701/head
authorFelix Pehla <29adc1fd92@gmail.com>
Tue, 26 Aug 2025 18:13:00 +0000 (20:13 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 17 Sep 2025 23:54:52 +0000 (08:54 +0900)
Allow configuring the log level used by sd-boot by setting
`log-level=<level>` in loader.conf. `info` is used by default.

man/loader.conf.xml
src/boot/boot.c

index 1a90e15ffac0ce550379793de9480799381674d9..0d12b1e874332a9db8de2af0dc2d4ba4f29b125f 100644 (file)
@@ -480,6 +480,28 @@ sbvarsign --attr "${attr}" --key KEK.key --cert KEK.pem --output db.auth db db.e
 
         <xi:include href="version-info.xml" xpointer="v258"/></listitem>
       </varlistentry>
+
+      <varlistentry>
+        <term>log-level</term>
+
+        <listitem><para>Controls the log level used by
+        <citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+        </para>
+
+        <para>Valid values are <literal>emerg</literal>, <literal>alert</literal>, <literal>crit</literal>,
+        <literal>err</literal>, <literal>warning</literal>, <literal>notice</literal>,
+        <literal>info</literal>, and <literal>debug</literal>.</para>
+
+        <para>If unspecified, <literal>info</literal> will be used, unless one has already been configured
+        via an SMBIOS Type 11 string, see
+        <citerefentry><refentrytitle>smbios-type-11</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
+        </para>
+
+        <para>Note that the configured level will only be used after <filename>loader.conf</filename> has
+        been parsed, so log messages generated before that point may be unaffected by this setting.</para>
+
+        <xi:include href="version-info.xml" xpointer="v259"/></listitem>
+      </varlistentry>
     </variablelist>
   </refsect1>
 
index 3ac59866aa1cd7ade4e4e7e0d9de2091ced0441d..abf7693a360136b37cd3c3e70545a4e8c9163648 100644 (file)
@@ -1113,6 +1113,9 @@ static void config_defaults_load_from_file(Config *config, char *content) {
                                 }
                                 config->console_mode = u;
                         }
+                } else if (streq8(key, "log-level")) {
+                        if (log_set_max_level_from_string(value) < 0)
+                                log_error("Error parsing 'log-level' config option, ignoring: %s", value);
                 }
 }