<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="systemd-hibernate-resume-generator" conditional='ENABLE_HIBERNATE'>

  <refentryinfo>
    <title>systemd-hibernate-resume-generator</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd-hibernate-resume-generator</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd-hibernate-resume-generator</refname>
    <refpurpose>Unit generator for resume= kernel parameter</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/usr/lib/systemd/system-generators/systemd-hibernate-resume-generator</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><command>systemd-hibernate-resume-generator</command> is a
    generator that initiates the procedure to resume the system from hibernation.
    It instantiates the
    <citerefentry><refentrytitle>systemd-hibernate-resume@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
    unit according to the value of <option>resume=</option> parameter
    specified on the kernel command line, which will instruct the kernel
    to resume the system from the hibernation image on that device.</para>
  </refsect1>

  <refsect1>
    <title>Kernel Command Line</title>

    <para><filename>systemd-hibernate-resume-generator</filename>
    understands the following kernel command line parameters:</para>

    <variablelist class='kernel-commandline-options'>

      <varlistentry>
        <term><varname>resume=</varname></term>

        <listitem><para>Takes a path to the resume device. Both
        persistent block device paths like
        <filename index="false">/dev/disk/by-foo/bar</filename> and
        <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-style
        specifiers like <literal>FOO=bar</literal> are
        supported.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>resumeflags=</varname></term>

        <listitem><para>Takes the resume device mount options to
        use. Defaults <varname>rootflags=</varname> if not specified.</para></listitem>
      </varlistentry>

      <varlistentry>
        <term><varname>noresume</varname></term>

        <listitem><para>Do not try to resume from hibernation. If this parameter is
        present, <varname>resume=</varname> is ignored.</para></listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemd-hibernate-resume@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
