chiark / gitweb /
man: document systemd-firstboot(1)
[elogind.git] / man / systemd-firstboot.xml
diff --git a/man/systemd-firstboot.xml b/man/systemd-firstboot.xml
new file mode 100644 (file)
index 0000000..42fd753
--- /dev/null
@@ -0,0 +1,286 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+  This file is part of systemd.
+
+  Copyright 2014 Lennart Poettering
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="systemd-firstboot"
+          xmlns:xi="http://www.w3.org/2001/XInclude">
+
+        <refentryinfo>
+                <title>systemd-firstboot</title>
+                <productname>systemd</productname>
+
+                <authorgroup>
+                        <author>
+                                <contrib>Developer</contrib>
+                                <firstname>Lennart</firstname>
+                                <surname>Poettering</surname>
+                                <email>lennart@poettering.net</email>
+                        </author>
+                </authorgroup>
+        </refentryinfo>
+
+        <refmeta>
+                <refentrytitle>systemd-firstboot</refentrytitle>
+                <manvolnum>1</manvolnum>
+        </refmeta>
+
+        <refnamediv>
+                <refname>systemd-firstboot</refname>
+                <refname>systemd-firstboot.service</refname>
+                <refpurpose>Initialize basic system settings on or before the first boot-up of a system</refpurpose>
+        </refnamediv>
+
+        <refsynopsisdiv>
+                <cmdsynopsis>
+                        <command>systemd-firstboot</command>
+                        <arg choice="opt" rep="repeat">OPTIONS</arg>
+                </cmdsynopsis>
+
+                <para><filename>systemd-firstboot.service</filename></para>
+        </refsynopsisdiv>
+
+        <refsect1>
+                <title>Description</title>
+
+                <para><command>systemd-firstboot</command> initializes
+                the most basic system settings interactively on the
+                first boot, or optionally non-interactively when a
+                system image is created. The following settings may be
+                set up:</para>
+
+                <itemizedlist>
+                        <listitem><para>The system locale, more
+                        specifically the two locale variables
+                        <varname>LANG=</varname> and
+                        <varname>LC_MESSAGES</varname></para></listitem>
+
+                        <listitem><para>The system time zone</para></listitem>
+
+                        <listitem><para>The system host name</para></listitem>
+
+                        <listitem><para>The machine ID of the system</para></listitem>
+
+                        <listitem><para>The root user's password</para></listitem>
+                </itemizedlist>
+
+                <para>Each of the fields may either be queried
+                interactively from the users, set non-interactively on
+                the tool's command line, or be copied from a host
+                system that is used to set up the system image.</para>
+
+                <para>If a setting is already initialized it will not
+                be overwritten and the user will not be prompted for
+                the setting.</para>
+
+                <para>Note that this tool operates directly on the
+                file system and does not involve any running system
+                services, unlike
+                <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                or
+                <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. This
+                allows <command>systemd-firstboot</command> to operate
+                on mounted but not booted disk images and in early
+                boot. It is not recommended to use
+                <command>systemd-firsboot</command> on the running
+                system while it is up.</para>
+        </refsect1>
+
+        <refsect1>
+                <title>Options</title>
+
+                <para>The following options are understood:</para>
+
+                <variablelist>
+                        <varlistentry>
+                                <term><option>--root=<replaceable>root</replaceable></option></term>
+                                <listitem><para>Takes a directory path
+                                as an argument. All paths will be
+                                prefixed with the given alternate
+                                <replaceable>root</replaceable> path,
+                                including config search paths. This is
+                                useful to operate on a system image
+                                mounted to the specified directory
+                                instead of the host system itself.
+                                </para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--locale=<replaceable>LOCALE</replaceable></option></term>
+                                <term><option>--locale-messages=<replaceable>LOCALE</replaceable></option></term>
+
+                                <listitem><para>Sets the system
+                                locale, more specifically the
+                                <varname>LANG=</varname> and
+                                <varname>LC_MESSAGES</varname>
+                                settings. The argument should be a
+                                valid locale identifier, such as
+                                <literal>de_DE.UTF-8</literal>. This
+                                controls the
+                                <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                configuration file.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--timezone=<replaceable>TIMEZONE</replaceable></option></term>
+
+                                <listitem><para>Sets the system time
+                                zone. The argument should be a valid
+                                time zone identifier, such as
+                                <literal>Europe/Berlin</literal>. This
+                                controls the
+                                <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                symlink.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--hostname=<replaceable>HOSTNAME</replaceable></option></term>
+
+                                <listitem><para>Sets the system
+                                hostname. The argument should be a
+                                host name, compatible with DNS. This
+                                controls the
+                                <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                configuration file.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--machine-id=<replaceable>ID</replaceable></option></term>
+
+                                <listitem><para>Sets the system's machine ID. This
+                                controls the
+                                <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                file.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--root-password=<replaceable>PASSWORD</replaceable></option></term>
+                                <term><option>--root-password-file=<replaceable>PATH</replaceable></option></term>
+
+                                <listitem><para>Sets the password of
+                                the system's root user. This creates a
+                                <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                file. This setting exists in two
+                                forms:
+                                <option>--root-password=</option>
+                                accepts the password to set directly
+                                on the command line,
+                                <option>--root-password-file=</option>
+                                reads it from a file. Note that
+                                it is not recommended specifying
+                                passwords on the command line as other
+                                users might be able to see them
+                                simply by invoking
+                                <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--prompt-locale</option></term>
+                                <term><option>--prompt-timezone</option></term>
+                                <term><option>--prompt-hostname</option></term>
+                                <term><option>--prompt-root-password</option></term>
+
+                                <para>Prompt the user interactively
+                                for a specific basic setting. Note
+                                that any explicit configuration
+                                settings specified on the command line
+                                take precedence, and the user is not
+                                prompted for it.</para>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--prompt</option></term>
+
+                                <para>Query the user for locale,
+                                timezone, hostname and root
+                                password. This is equivalent to
+                                specifiying
+                                <option>--prompt-locale</option>,
+                                <option>--prompt-timezone</option>,
+                                <option>--prompt-hostname</option>,
+                                <option>--prompt-root-password</option>
+                                in combination.</para>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--copy-locale</option></term>
+                                <term><option>--copy-timezone</option></term>
+                                <term><option>--copy-root-password</option></term>
+
+                                <para>Copy a specific basic setting
+                                from the host. This only works in
+                                combination with
+                                <option>--root=</option> (see
+                                above).</para>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--copy</option></term>
+
+                                <para>Copy locale, time zone and root
+                                password from the host. This is
+                                equivalent to specifiying
+                                <option>--copy-locale</option>,
+                                <option>--copy-timezone</option>,
+                                <option>--copy-root-password</option>
+                                in combination.</para>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--setup-machine-id</option></term>
+
+                                <para>Initialize the system's machine
+                                ID to a random ID. This only works
+                                combination with
+                                <option>--root=</option>.</para>
+                        </varlistentry>
+
+                        <xi:include href="standard-options.xml" xpointer="help" />
+                        <xi:include href="standard-options.xml" xpointer="version" />
+                </variablelist>
+
+        </refsect1>
+
+        <refsect1>
+                <title>Exit status</title>
+
+                <para>On success, 0 is returned, a non-zero failure
+                code otherwise.</para>
+        </refsect1>
+
+        <refsect1>
+                <title>See Also</title>
+                <para>
+                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                </para>
+        </refsect1>
+
+</refentry>