<?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="systemd-fstab-generator">

        <refentryinfo>
                <title>systemd-fstab-generator</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-fstab-generator</refentrytitle>
                <manvolnum>8</manvolnum>
        </refmeta>

        <refnamediv>
                <refname>systemd-fstab-generator</refname>
                <refpurpose>Unit generator for /etc/fstab</refpurpose>
        </refnamediv>

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

        <refsect1>
                <title>Description</title>

                <para><filename>systemd-fstab-generator</filename> is
                a generator that translates
                <filename>/etc/fstab</filename> (see
                <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                for details) into native systemd units early at boot
                and when configuration of the system manager is
                reloaded. This will instantiate mount and swap units
                as necessary.</para>

                <para>The <varname>passno</varname> field is treated
                like a simple boolean, and the ordering information is
                discarded. However, if the root file system is
                checked, it is checked before all the other
                file systems.</para>

                <para>See
                <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                and
                <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                for more information about special
                <filename>/etc/fstab</filename> mount options this
                generator understands.</para>

                <para><filename>systemd-fstab-generator</filename>
                implements the <ulink
                url="http://www.freedesktop.org/wiki/Software/systemd/Generators">generator
                specification</ulink>.</para>
        </refsect1>

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

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

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

                        <varlistentry>
                                <term><varname>fstab=</varname></term>
                                <term><varname>rd.fstab=</varname></term>

                                <listitem><para>Takes a boolean
                                argument. Defaults to
                                <literal>yes</literal>. If
                                <literal>no</literal>, causes the
                                generator to ignore any mounts or swaps
                                configured in
                                <filename>/etc/fstab</filename>. <varname>rd.fstab=</varname>
                                is honored only by initial RAM disk
                                (initrd) while
                                <varname>fstab=</varname> is
                                honored by both the main system and
                                the initrd.</para></listitem>
                        </varlistentry>
                        <varlistentry>
                                <term><varname>root=</varname></term>

                                <listitem><para>Takes the root filesystem to mount
                                in the initrd.
                                <varname>root=</varname> is
                                honored by the initrd.</para></listitem>
                        </varlistentry>
                        <varlistentry>
                                <term><varname>rootfstype=</varname></term>

                                <listitem><para>Takes the root filesystem type that
                                will be passed to the mount command.
                                <varname>rootfstype=</varname> is
                                honored by the initrd.</para></listitem>
                        </varlistentry>
                        <varlistentry>
                                <term><varname>rootflags=</varname></term>

                                <listitem><para>Takes the root filesystem mount options
                                to use. <varname>rootflags=</varname> is
                                honored by the initrd.</para></listitem>
                        </varlistentry>
                        <varlistentry>
                                <term><varname>mount.usr=</varname></term>

                                <listitem><para>Takes the <filename>/usr</filename>
                                filesystem to be mounted by the initrd. If
                                <varname>mount.usrfstype=</varname> or
                                <varname>mount.usrflags=</varname> is set, then
                                <varname>mount.usr=</varname> will default to the value set in
                                <varname>root=</varname>.</para>

                                <para>Otherwise this parameter defaults to the
                                <filename>/usr</filename> entry
                                found in <filename>/etc/fstab</filename> on the root
                                filesystem.</para>

                                <para><varname>mount.usr=</varname> is honored by the initrd.
                                </para></listitem>
                        </varlistentry>
                        <varlistentry>
                                <term><varname>mount.usrfstype=</varname></term>

                                <listitem><para>Takes the <filename>/usr</filename>
                                filesystem type that will be passed to the mount
                                command. If <varname>mount.usr=</varname> or
                                <varname>mount.usrflags=</varname> is set, then
                                <varname>mount.usrfstype=</varname> will default to the value set in
                                <varname>rootfstype=</varname>.</para>

                                <para>Otherwise this value will be read from the
                                <filename>/usr</filename> entry in
                                <filename>/etc/fstab</filename> on the root filesystem.</para>

                                <para><varname>mount.usrfstype=</varname> is
                                honored by the initrd.</para></listitem>
                        </varlistentry>
                        <varlistentry>
                                <term><varname>mount.usrflags=</varname></term>

                                <listitem><para>Takes the <filename>/usr</filename>
                                filesystem mount options to use. If
                                <varname>mount.usr=</varname> or
                                <varname>mount.usrfstype=</varname> is set, then
                                <varname>mount.usrflages=</varname> will default to the value set in
                                <varname>rootflags=</varname>.</para>

                                <para>Otherwise this value will be read from the
                                <filename>/usr</filename> entry in
                                <filename>/etc/fstab</filename> on the root filesystem.</para>

                                <para><varname>mount.usrflags=</varname> is
                                honored by the initrd.</para></listitem>
                        </varlistentry>
                </variablelist>
        </refsect1>

        <refsect1>
                <title>See Also</title>
                <para>
                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                </para>
        </refsect1>

</refentry>
