![Lennart Poettering](/assets/img/avatar_default.png)
This adds support for a new kernel command line option "systemd.volatile=" that provides the same functionality that systemd-nspawn's --volatile= switch provides, but for host systems (i.e. systems booting with a kernel). It takes the same parameter and has the same effect. In order to implement systemd.volatile=yes a new service systemd-volatile-root.service is introduced that only runs in the initrd and rearranges the root directory as needed to become a tmpfs instance. Note that systemd.volatile=state is implemented different: it simply generates a var.mount unit file that is part of the normal boot and has no effect on the initrd execution. The way this is implemented ensures that other explicit configuration for /var can always override the effect of these options. Specifically, the var.mount unit is generated in the "late" generator directory, so that it only is in effect if nothing else overrides it.
417 lines
19 KiB
XML
417 lines
19 KiB
XML
<?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 parameters</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>
|
|
and
|
|
<citerefentry project='man-pages'><refentrytitle>bootparam</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
|
|
|
|
<para>For command line parameters understood by the initial RAM
|
|
disk, please see
|
|
<citerefentry project='man-pages'><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
|
or the documentation of the specific initrd implementation of your
|
|
installation.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Core OS Command Line Arguments</title>
|
|
|
|
<variablelist class='kernel-commandline-options'>
|
|
<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_chvt=</varname></term>
|
|
<term><varname>systemd.crash_shell=</varname></term>
|
|
<term><varname>systemd.crash_reboot=</varname></term>
|
|
<term><varname>systemd.confirm_spawn=</varname></term>
|
|
<term><varname>systemd.show_status=</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>
|
|
<term><varname>systemd.machine_id=</varname></term>
|
|
<listitem>
|
|
<para>Parameters understood by the system and service
|
|
manager to control system behavior. For details, see
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.mask=</varname></term>
|
|
<term><varname>systemd.wants=</varname></term>
|
|
<term><varname>systemd.debug_shell</varname></term>
|
|
<listitem>
|
|
<para>Additional parameters understood by
|
|
<citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
to mask or start specific units at boot, or invoke a debug
|
|
shell on tty9.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.restore_state=</varname></term>
|
|
<listitem>
|
|
<para>This parameter is understood by several system tools
|
|
to control whether or not they should restore system state
|
|
from the previous boot. For details, see
|
|
<citerefentry><refentrytitle>systemd-backlight@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
and
|
|
<citerefentry><refentrytitle>systemd-rfkill.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.volatile=</varname></term>
|
|
<listitem>
|
|
<para>This parameter controls whether the system shall boot up in volatile mode. Takes a boolean argument, or
|
|
the special value <literal>state</literal>. If false (the default), normal boot mode is selected, the root
|
|
directory and <filename>/var</filename> are mounted as specified on the kernel command line or
|
|
<filename>/etc/fstab</filename>, or otherwise configured. If true, full state-less boot mode is selected. In
|
|
this case the root directory is mounted as volatile memory file system (<literal>tmpfs</literal>), and only
|
|
<filename>/usr</filename> is mounted from the file system configured as root device, in read-only mode. This
|
|
enables fully state-less boots were the vendor-supplied OS is used as shipped, with only default
|
|
configuration and no stored state in effect, as <filename>/etc</filename> and <filename>/var</filename> (as
|
|
well as all other resources shipped in the root file system) are reset at boot and lost on shutdown. If this
|
|
setting is set to <literal>state</literal> the root file system is mounted as usual, however
|
|
<filename>/var</filename> is mounted as a volatile memory file system (<literal>tmpfs</literal>), so that the
|
|
system boots up with the normal configuration applied, but all state reset at boot and lost at shutdown. For details,
|
|
see
|
|
<citerefentry><refentrytitle>systemd-volatile-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
and
|
|
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>quiet</varname></term>
|
|
<listitem>
|
|
<para>Parameter 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>debug</varname></term>
|
|
<listitem>
|
|
<para>Parameter 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>-b</varname></term>
|
|
<term><varname>rd.emergency</varname></term>
|
|
<term><varname>emergency</varname></term>
|
|
<term><varname>rd.rescue</varname></term>
|
|
<term><varname>rescue</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 and convenience 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>
|
|
<term><varname>fsck.repair=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Parameters understood by the file system checker
|
|
services. For details, see
|
|
<citerefentry><refentrytitle>systemd-fsck@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>quotacheck.mode=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Parameter understood by the file quota checker
|
|
service. For details, see
|
|
<citerefentry><refentrytitle>systemd-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>
|
|
<term><varname>systemd.journald.forward_to_wall=</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>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>udev.log_priority=</varname></term>
|
|
<term><varname>rd.udev.log_priority=</varname></term>
|
|
<term><varname>udev.children_max=</varname></term>
|
|
<term><varname>rd.udev.children_max=</varname></term>
|
|
<term><varname>udev.exec_delay=</varname></term>
|
|
<term><varname>rd.udev.exec_delay=</varname></term>
|
|
<term><varname>udev.event_timeout=</varname></term>
|
|
<term><varname>rd.udev.event_timeout=</varname></term>
|
|
<term><varname>net.ifnames=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Parameters understood by the device event managing
|
|
daemon. For details, see
|
|
<citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>plymouth.enable=</varname></term>
|
|
|
|
<listitem>
|
|
<para>May be used to disable the Plymouth boot splash. For
|
|
details, see
|
|
<citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>luks=</varname></term>
|
|
<term><varname>rd.luks=</varname></term>
|
|
<term><varname>luks.crypttab=</varname></term>
|
|
<term><varname>rd.luks.crypttab=</varname></term>
|
|
<term><varname>luks.name=</varname></term>
|
|
<term><varname>rd.luks.name=</varname></term>
|
|
<term><varname>luks.uuid=</varname></term>
|
|
<term><varname>rd.luks.uuid=</varname></term>
|
|
<term><varname>luks.options=</varname></term>
|
|
<term><varname>rd.luks.options=</varname></term>
|
|
<term><varname>luks.key=</varname></term>
|
|
<term><varname>rd.luks.key=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Configures the LUKS full-disk encryption logic at
|
|
boot. For details, see
|
|
<citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>fstab=</varname></term>
|
|
<term><varname>rd.fstab=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Configures the <filename>/etc/fstab</filename> logic
|
|
at boot. For details, see
|
|
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>root=</varname></term>
|
|
<term><varname>rootfstype=</varname></term>
|
|
<term><varname>rootflags=</varname></term>
|
|
<term><varname>ro</varname></term>
|
|
<term><varname>rw</varname></term>
|
|
|
|
<listitem>
|
|
<para>Configures the root file system and its file system
|
|
type and mount options, as well as whether it shall be
|
|
mounted read-only or read-writable initially. For details,
|
|
see
|
|
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.gpt_auto=</varname></term>
|
|
<term><varname>rd.systemd.gpt_auto=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Configures whether GPT based partition auto-discovery
|
|
shall be attempted. For details, see
|
|
<citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.default_timeout_start_sec=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Overwrites the default start job timeout <varname>DefaultTimeoutStartSec=</varname> at boot. For details,
|
|
see <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>modules_load=</varname></term>
|
|
<term><varname>rd.modules_load=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Load a specific kernel module early at boot. For
|
|
details, see
|
|
<citerefentry><refentrytitle>systemd-modules-load.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>resume=</varname></term>
|
|
|
|
<listitem>
|
|
<para>Enables resume from hibernation using the specified
|
|
device. All
|
|
<citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-like
|
|
paths are supported. For details, see
|
|
<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>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>bootparam</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
|
<citerefentry project='man-pages'><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-fsck@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-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.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd-volatile-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
|
|
<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-firstboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|