mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
e9f781a5a4
Introduce the `systemd.break=` kernel command line option to allow stopping the boot process at a certain point and spawn a debug shell. After exiting this shell, the system will resume booting. It accepts the following values: - `pre-udev`: before starting to process kernel uevents (initrd and host). - `pre-basic`: before leaving early boot and regular services start (initrd and host). - `pre-mount`: before the root filesystem is mounted (initrd). - `pre-switch-root`: before switching root (initrd).
203 lines
9.4 KiB
XML
203 lines
9.4 KiB
XML
<?xml version="1.0"?>
|
|
<!--*-nxml-*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % entities SYSTEM "custom-entities.ent" >
|
|
%entities;
|
|
]>
|
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
|
<refentry id="systemd-debug-generator" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
|
<refentryinfo>
|
|
<title>systemd-debug-generator</title>
|
|
<productname>systemd</productname>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>systemd-debug-generator</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>systemd-debug-generator</refname>
|
|
<refpurpose>Generator for enabling a runtime debug shell and
|
|
masking specific units at boot</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<para><filename>/usr/lib/systemd/system-generators/systemd-debug-generator</filename></para>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para><command>systemd-debug-generator</command> is a generator that provides some debugging
|
|
functionality.</para>
|
|
|
|
<para><command>systemd-debug-generator</command> implements
|
|
<citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Kernel Command Line</title>
|
|
|
|
<para><command>systemd-debug-generator</command> understands the following kernel command line
|
|
parameters:</para>
|
|
|
|
<variablelist class='kernel-commandline-options'>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.mask=</varname></term>
|
|
<term><varname>rd.systemd.mask=</varname></term>
|
|
|
|
<listitem><para>These options take a unit name as argument. The unit specified is masked for the
|
|
runtime (i.e. for this session — from boot to shutdown), similarly to the effect of
|
|
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
|
<command>mask</command> command. This is useful to boot with certain units removed from the initial
|
|
boot transaction for debugging system startup. May be specified more than once. The option prefixed
|
|
with <literal>rd.</literal> is honored only in the initrd, while the one without prefix is only
|
|
honored in the main system.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v215"/></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.wants=</varname></term>
|
|
<term><varname>rd.systemd.wants=</varname></term>
|
|
|
|
<listitem><para>These options take a unit name as argument. A start job for this unit is added to the
|
|
initial transaction. This is useful to start one or more additional units at boot. May be specified
|
|
more than once. The option prefixed with <literal>rd.</literal> is honored only in the initrd, while
|
|
the one that is not prefixed only in the main system.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v215"/></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.debug_shell</varname></term>
|
|
<term><varname>rd.systemd.debug_shell</varname></term>
|
|
<term><varname>systemd.default_debug_tty=</varname></term>
|
|
<term><varname>rd.systemd.default_debug_tty=</varname></term>
|
|
|
|
<listitem><para>If the <option>systemd.debug_shell</option> or
|
|
<option>rd.systemd.debug_shell</option> option is specified, the debug shell service
|
|
<literal>debug-shell.service</literal> is pulled into the boot transaction and a debug shell will be
|
|
spawned during early boot. By default, <filename>&DEBUGTTY;</filename> is used, but a specific tty
|
|
can also be specified, either with or without the <filename>/dev/</filename> prefix. To set the tty
|
|
to use without enabling the debug shell, the <option>systemd.default_debug_tty=</option> option can
|
|
be used which also takes a tty with or without the <filename>/dev/</filename> prefix. Note that the
|
|
shell may also be turned on persistently by enabling it with
|
|
<citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s
|
|
<command>enable</command> command. The options prefixed with <literal>rd.</literal> are honored only
|
|
in the initrd, while the ones without prefix are only honored in the main system.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v215"/></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.break=</varname></term>
|
|
<term><varname>rd.systemd.break=</varname></term>
|
|
|
|
<listitem><para>Takes one of <option>pre-udev</option>, <option>pre-basic</option>,
|
|
<option>pre-mount</option>, or <option>pre-switch-root</option> (the default for the
|
|
<literal>rd.</literal> option). It also accepts multiple values separated by comma
|
|
(<literal>,</literal>). These options allow to pause the boot process at a certain point and spawn a
|
|
debug shell. After exiting this shell, the system will resume booting. The option prefixed with
|
|
<literal>rd.</literal> is honored only in the initrd, while the one without prefix is only honored in
|
|
the main system.</para>
|
|
|
|
<table>
|
|
<title>Available breakpoints</title>
|
|
|
|
<tgroup cols='4'>
|
|
<colspec colname='breakpoint' />
|
|
<colspec colname='description' />
|
|
<colspec colname='initrd' />
|
|
<colspec colname='main' />
|
|
<thead>
|
|
<row>
|
|
<entry>Breakpoints</entry>
|
|
<entry>Description</entry>
|
|
<entry>Can be used in the initrd</entry>
|
|
<entry>Can be used in the main system</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><option>pre-udev</option></entry>
|
|
<entry>Before starting to process kernel uevents, i.e., before <filename>systemd-udevd.service</filename> starts.</entry>
|
|
<entry>✓</entry>
|
|
<entry>✓</entry>
|
|
</row>
|
|
<row>
|
|
<entry><option>pre-basic</option></entry>
|
|
<entry>Before leaving early boot and regular services start, i.e., before <filename>basic.target</filename> is reached.</entry>
|
|
<entry>✓</entry>
|
|
<entry>✓</entry>
|
|
</row>
|
|
<row>
|
|
<entry><option>pre-mount</option></entry>
|
|
<entry>Before the root filesystem is mounted, i.e., before <filename>sysroot.mount</filename> starts.</entry>
|
|
<entry>✓</entry>
|
|
<entry>✗</entry>
|
|
</row>
|
|
<row>
|
|
<entry><option>pre-switch-root</option></entry>
|
|
<entry>Before switching from the initrd to the real root.</entry>
|
|
<entry>✓</entry>
|
|
<entry>✗</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v258"/></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>System Credentials</title>
|
|
|
|
<variablelist class='system-credentials'>
|
|
<varlistentry>
|
|
<term><varname>systemd.extra-unit.*</varname></term>
|
|
|
|
<listitem><para>Credentials prefixed with <literal>systemd.extra-unit.</literal> specify additional
|
|
units to add to the final system. Note that these additional units are added to both the initrd and
|
|
the final system. <varname>ConditionPathExists=!/etc/initrd-release</varname> can be used to make
|
|
sure the unit is conditioned out in the initrd. Note that this can also be used to mask units, by
|
|
simply specifying an empty value.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v256"/></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>systemd.unit-dropin.*</varname></term>
|
|
|
|
<listitem><para>Credentials prefixed with <literal>systemd.unit-dropin.</literal> add drop-ins for
|
|
the corresponding units in the final system. Each credential must be suffixed with the full unit name
|
|
including the unit extension. Its contents must be a valid unit drop-in file. Optionally, the unit
|
|
name may be followed with <literal>~</literal>, followed by the drop-in name without the
|
|
<literal>.conf</literal> suffix. If not specified, the name of the generated drop-in will be
|
|
<literal>50-credential.conf</literal>. Note that these additional drop-ins are added to both the
|
|
initrd and the final system.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v256"/></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para><simplelist type="inline">
|
|
<member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
|
|
<member><citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
|
|
<member><citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
|
|
<member><citerefentry><refentrytitle>systemd.system-credentials</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
|
|
<member><citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry></member>
|
|
</simplelist></para>
|
|
</refsect1>
|
|
|
|
</refentry>
|