Commit c66e7bc7 authored by Lennart Poettering's avatar Lennart Poettering
Browse files

man: document all kernel command line options we understand

parent 8b38f3cc
......@@ -460,6 +460,7 @@ MANPAGES = \
man/systemd.exec.5 \
man/systemd.special.7 \
man/systemd.journal-fields.7 \
man/kernel-command-line.7 \
man/daemon.7 \
man/runlevel.8 \
man/telinit.8 \
......
......@@ -25,6 +25,9 @@ Bugfixes:
Features:
* turn $NOTIFY_SOCKET back into an abstract namespace socket for
compatibility with services which chroot()
* exclude processes marked with argv[0][0]=@ from the normal service killing too
* support rd.luks= kernel cmdline params in cryptsetup generator
......@@ -33,8 +36,6 @@ Features:
* support rd.driver= kernel cmdline params in modules load
* supprto rd.xxx wherever else makes sense
* systemctl: when stopping a service which has triggres and warning about it actually check the TriggeredBy= deps fields
* journal: hook up with EFI firmware log, new kmsg logic
......@@ -141,8 +142,6 @@ Features:
* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
* add man page documenting all kernel cmdline options, including stuff like fsck.mode=
* support container_ttys=
* journald: make configurable "store-on-var", "store-on-run", "dont-store", "auto"
......
......@@ -212,10 +212,10 @@
to syslog is enabled. These settings
may be overridden at boot time with the
kernel command line options
<literal>systemd_journald.forward_to_syslog=</literal>,
<literal>systemd_journald.forward_to_kmsg=</literal>
<literal>systemd.journald.forward_to_syslog=</literal>,
<literal>systemd.journald.forward_to_kmsg=</literal>
and
<literal>systemd_journald.forward_to_console=</literal>. If
<literal>systemd.journald.forward_to_console=</literal>. If
forwarding to the kernel log buffer and
<varname>ImportKernel=</varname> is
enabled at the same time care is taken
......
<?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 2012 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="kernel-command-line">
<refentryinfo>
<title>kernel-command-line</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>kernel-command-line</refentrytitle>
<manvolnum>7</manvolnum>
</refmeta>
<refnamediv>
<refname>kernel-command-line</refname>
<refpurpose>Kernel Command Line Paramaters</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>/proc/cmdline</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>The kernel, the initial RAM disk (initrd) and
basic userspace functionality may be configured at boot via
kernel command line arguments.</para>
<para>For command line parameters understood by the
kernel please see <ulink
url="https://www.kernel.org/doc/Documentation/kernel-parameters.txt"><filename>kernel-parameters.txt</filename></ulink>.</para>
<para>For command line paramaters understood by the
initial RAM disk, please see
<citerefentry><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
</refsect1>
<refsect1>
<title>Core OS Command Line Arguments</title>
<variablelist>
<varlistentry>
<term><varname>systemd.unit=</varname></term>
<term><varname>rd.systemd.unit=</varname></term>
<term><varname>systemd.dump_core=</varname></term>
<term><varname>systemd.crash_shell=</varname></term>
<term><varname>systemd.crash_chvt=</varname></term>
<term><varname>systemd.confirm_spawn=</varname></term>
<term><varname>systemd.show_status=</varname></term>
<term><varname>systemd.sysv_console=</varname></term>
<term><varname>systemd.log_target=</varname></term>
<term><varname>systemd.log_level=</varname></term>
<term><varname>systemd.log_color=</varname></term>
<term><varname>systemd.log_location=</varname></term>
<term><varname>systemd.default_standard_output=</varname></term>
<term><varname>systemd.default_standard_error=</varname></term>
<term><varname>systemd.setenv=</varname></term>
<listitem>
<para>Parameters understood by
the system and service manager
to control system behaviour. For details see
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>quiet</varname></term>
<listitem>
<para>Parameters understood by
both the kernel and the system
and service manager to control
console log verbosity. For
details see
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>emergency</varname></term>
<term><varname>single</varname></term>
<term><varname>s</varname></term>
<term><varname>S</varname></term>
<term><varname>1</varname></term>
<term><varname>2</varname></term>
<term><varname>3</varname></term>
<term><varname>4</varname></term>
<term><varname>5</varname></term>
<listitem>
<para>Parameters understood by
the system and service
manager, as compatibility
options. For details see
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>locale.LANG=</varname></term>
<term><varname>locale.LANGUAGE=</varname></term>
<term><varname>locale.LC_CTYPE=</varname></term>
<term><varname>locale.LC_NUMERIC=</varname></term>
<term><varname>locale.LC_TIME=</varname></term>
<term><varname>locale.LC_COLLATE=</varname></term>
<term><varname>locale.LC_MONETARY=</varname></term>
<term><varname>locale.LC_MESSAGES=</varname></term>
<term><varname>locale.LC_PAPER=</varname></term>
<term><varname>locale.LC_NAME=</varname></term>
<term><varname>locale.LC_ADDRESS=</varname></term>
<term><varname>locale.LC_TELEPHONE=</varname></term>
<term><varname>locale.LC_MEASUREMENT=</varname></term>
<term><varname>locale.LC_IDENTIFICATION=</varname></term>
<listitem>
<para>Parameters understood by
the system and service manager
to control locale and language
settings. For details see
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>fsck.mode=</varname></term>
<listitem>
<para>Parameters understood by
the file system checker
services. For details see
<citerefentry><refentrytitle>fsck-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>quotacheck.mode=</varname></term>
<listitem>
<para>Parameters understood by
the file quota checker
service. For details see
<citerefentry><refentrytitle>quotacheck.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>systemd.journald.forward_to_syslog=</varname></term>
<term><varname>systemd.journald.forward_to_kmsg=</varname></term>
<term><varname>systemd.journald.forward_to_console=</varname></term>
<listitem>
<para>Parameters understood by
the journal service. For
details see
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>vconsole.keymap=</varname></term>
<term><varname>vconsole.keymap.toggle=</varname></term>
<term><varname>vconsole.font=</varname></term>
<term><varname>vconsole.font.map=</varname></term>
<term><varname>vconsole.font.unimap=</varname></term>
<listitem>
<para>Parameters understood by
the virtual console setup logic. For
details see
<citerefentry><refentrytitle>systemd-vconsole-setup.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>udev.log-priority=</varname></term>
<term><varname>udev.children-max=</varname></term>
<term><varname>udev.udev.exec-delay=</varname></term>
<term><varname>rd.udev.log-priority=</varname></term>
<term><varname>rd.udev.children-max=</varname></term>
<term><varname>rd.udev.udev.exec-delay=</varname></term>
<listitem>
<para>Parameters understood by
the device event managing daemon. For
details see
<citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>fsck-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>quotacheck.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-vconsole-setup.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>
......@@ -128,6 +128,34 @@
</variablelist>
</refsect1>
<refsect1>
<title>Kernel Command Line</title>
<para>A few configuration parameters from
<filename>journald.conf</filename> may be overriden on
the kernel command line:</para>
<variablelist>
<varlistentry>
<term><varname>systemd.journald.forward_to_syslog=</varname></term>
<term><varname>systemd.journald.forward_to_kmsg=</varname></term>
<term><varname>systemd.journald.forward_to_console=</varname></term>
<listitem><para>Enables/disables
forwarding of collected log messages
to syslog, the kernel log buffer or
the system console.
</para>
<para>See
<citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for information about these settings.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
......
......@@ -971,6 +971,7 @@
<variablelist>
<varlistentry>
<term><varname>systemd.unit=</varname></term>
<term><varname>rd.systemd.unit=</varname></term>
<listitem><para>Overrides the unit to
activate on boot. Defaults to
......@@ -980,8 +981,12 @@
<filename>rescue.target</filename> or
<filename>emergency.service</filename>. See
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for details about these
units.</para></listitem>
for details about these units. The
option prefixed with
<literal>rd.</literal> is honoured
only in the initial RAM disk (initrd),
while the one that isn't prefixed only
in the main system.</para></listitem>
</varlistentry>
<varlistentry>
......@@ -1036,7 +1041,11 @@
argument. If <option>true</option>
shows terse service status updates on
the console during bootup. Defaults to
<option>true</option>.</para></listitem>
<option>true</option>, unless
<option>quiet</option> is passed as
kernel command line option in which
case it defaults to
<option>false</option>.</para></listitem>
</varlistentry>
<varlistentry>
......@@ -1093,7 +1102,98 @@
disk.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>quiet</varname></term>
<listitem><para>If passed turns off
status output at boot, and disconnects
SysV scripts from the console, much
like
<varname>systemd.show_status=false</varname>
and
<varname>systemd.sysv_console=false</varname>
would. Note that this option is also
read by the kernel itself and disables
kernel log output to the
kernel. Passing this option hence
turns off the usual output from both
the system manager and the
kernel.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>emergency</varname></term>
<listitem><para>Boot into emergency
mode. This is equivalent to
<varname>systemd.unit=emergency.target</varname>
and provided for compatibility
reasons and to be easier to type.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>single</varname></term>
<term><varname>s</varname></term>
<term><varname>S</varname></term>
<term><varname>1</varname></term>
<listitem><para>Boot into rescue
mode. This is equivalent to
<varname>systemd.unit=rescue.target</varname>
and provided for compatibility reasons
and to be easier to
type.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>2</varname></term>
<term><varname>3</varname></term>
<term><varname>4</varname></term>
<term><varname>5</varname></term>
<listitem><para>Boot into the
specified legacy SysV runlevel. This
is equivalent to
<varname>systemd.unit=runlevel2.target</varname>,
<varname>systemd.unit=runlevel3.target</varname>,
<varname>systemd.unit=runlevel4.target</varname>,
resp. <varname>systemd.unit=runlevel5.target</varname>
and provided for compatibility reasons
and to be easier to
type.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>locale.LANG=</varname></term>
<term><varname>locale.LANGUAGE=</varname></term>
<term><varname>locale.LC_CTYPE=</varname></term>
<term><varname>locale.LC_NUMERIC=</varname></term>
<term><varname>locale.LC_TIME=</varname></term>
<term><varname>locale.LC_COLLATE=</varname></term>
<term><varname>locale.LC_MONETARY=</varname></term>
<term><varname>locale.LC_MESSAGES=</varname></term>
<term><varname>locale.LC_PAPER=</varname></term>
<term><varname>locale.LC_NAME=</varname></term>
<term><varname>locale.LC_ADDRESS=</varname></term>
<term><varname>locale.LC_TELEPHONE=</varname></term>
<term><varname>locale.LC_MEASUREMENT=</varname></term>
<term><varname>locale.LC_IDENTIFICATION=</varname></term>
<listitem><para>Set the system locale
to use. This overrides the settings in
<filename>/etc/locale.conf</filename>. For
more information see
<citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
and
<citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
</para></listitem>
</varlistentry>
</variablelist>
<para>For other kernel command line parameters
understood by components of the core OS, please refer
to
<citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
</refsect1>
<refsect1>
......@@ -1160,7 +1260,8 @@
<citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
<citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>
</para>
</refsect1>
......
......@@ -397,14 +397,15 @@ static int parse_proc_cmdline_word(const char *word) {
"systemd.default_standard_output=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
" Set default log output for services\n"
"systemd.default_standard_error=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
" Set default log error output for services\n");
" Set default log error output for services\n"
"systemd.setenv=ASSIGNMENT Set an environment variable for all spawned processes\n");
} else if (streq(word, "quiet")) {
arg_show_status = false;
#ifdef HAVE_SYSV_COMPAT
arg_sysv_console = false;
#endif
} else {
} else if (!in_initrd()) {
unsigned i;
/* SysV compatibility */
......
......@@ -2630,19 +2630,19 @@ static int server_parse_proc_cmdline(Server *s) {
goto finish;
}
if (startswith(word, "systemd_journald.forward_to_syslog=")) {
if (startswith(word, "systemd.journald.forward_to_syslog=")) {
r = parse_boolean(word + 35);
if (r < 0)
log_warning("Failed to parse forward to syslog switch %s. Ignoring.", word + 35);
else
s->forward_to_syslog = r;
} else if (startswith(word, "systemd_journald.forward_to_kmsg=")) {
} else if (startswith(word, "systemd.journald.forward_to_kmsg=")) {
r = parse_boolean(word + 33);
if (r < 0)
log_warning("Failed to parse forward to kmsg switch %s. Ignoring.", word + 33);
else
s->forward_to_kmsg = r;
} else if (startswith(word, "systemd_journald.forward_to_console=")) {
} else if (startswith(word, "systemd.journald.forward_to_console=")) {
r = parse_boolean(word + 36);
if (r < 0)
log_warning("Failed to parse forward to console switch %s. Ignoring.", word + 36);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment