| <?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-firstboot</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 |
| specifying |
| <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 specifying |
| <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 in |
| 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> |