firstboot: add kernel cmdline option to disable firstboot wizard

If booting with systemd.firstboot=0 the wizard will be skipped.
This commit is contained in:
Lennart Poettering 2016-12-09 01:11:42 +01:00
parent 710028b473
commit f582cbca00
3 changed files with 38 additions and 1 deletions

View file

@ -353,6 +353,15 @@
<citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>systemd.firstboot=</varname></term>
<listitem><para>Takes a boolean argument, defaults to on. If off,
<citerefentry><refentrytitle>systemd-firstboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
will not query the user for basic system settings, even if the system boots up for the first time and the
relevant settings are not initialized yet.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
@ -376,7 +385,8 @@
<citerefentry><refentrytitle>systemd-modules-load.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-backlight@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-rfkill.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
<citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-firstboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>

View file

@ -240,6 +240,20 @@
otherwise.</para>
</refsect1>
<refsect1>
<title>Kernel Command Line</title>
<variablelist class='kernel-commandline-options'>
<varlistentry>
<term><varname>systemd.firstboot=</varname></term>
<listitem><para>Takes a boolean argument, defaults to on. If off <filename>systemd-firstboot.service</filename>
won't interactively query the user for basic settings at first boot, even if if the settings are not
initialized yet.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>

View file

@ -33,6 +33,7 @@
#include "mkdir.h"
#include "parse-util.h"
#include "path-util.h"
#include "proc-cmdline.h"
#include "random-util.h"
#include "string-util.h"
#include "strv.h"
@ -825,6 +826,7 @@ static int parse_argv(int argc, char *argv[]) {
}
int main(int argc, char *argv[]) {
_cleanup_free_ char *enabled = NULL;
int r;
r = parse_argv(argc, argv);
@ -837,6 +839,17 @@ int main(int argc, char *argv[]) {
umask(0022);
r = get_proc_cmdline_key("systemd.firstboot=", &enabled);
if (r < 0)
return r;
if (r > 0) {
r = parse_boolean(enabled);
if (r == 0)
goto finish;
if (r < 0)
log_warning_errno(r, "Failed to parse systemd.firstboot= kernel command line argument, ignoring: %s", enabled);
}
r = process_locale();
if (r < 0)
goto finish;