]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/systemd-veritysetup-generator.xml
Merge pull request #8575 from keszybz/non-absolute-paths
[thirdparty/systemd.git] / man / systemd-veritysetup-generator.xml
1 <?xml version="1.0"?>
2 <!--*-nxml-*-->
3 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4 <!--
5 SPDX-License-Identifier: LGPL-2.1+
6
7 This file is part of systemd.
8
9 Copyright 2016 Lennart Poettering
10 -->
11 <refentry id="systemd-veritysetup-generator" conditional='HAVE_LIBCRYPTSETUP'>
12
13 <refentryinfo>
14 <title>systemd-veritysetup-generator</title>
15 <productname>systemd</productname>
16
17 <authorgroup>
18 <author>
19 <contrib>Developer</contrib>
20 <firstname>Lennart</firstname>
21 <surname>Poettering</surname>
22 <email>lennart@poettering.net</email>
23 </author>
24 </authorgroup>
25 </refentryinfo>
26
27 <refmeta>
28 <refentrytitle>systemd-veritysetup-generator</refentrytitle>
29 <manvolnum>8</manvolnum>
30 </refmeta>
31
32 <refnamediv>
33 <refname>systemd-veritysetup-generator</refname>
34 <refpurpose>Unit generator for integrity protected block devices</refpurpose>
35 </refnamediv>
36
37 <refsynopsisdiv>
38 <para><filename>/usr/lib/systemd/system-generators/systemd-veritysetup-generator</filename></para>
39 </refsynopsisdiv>
40
41 <refsect1>
42 <title>Description</title>
43
44 <para><filename>systemd-veritysetup-generator</filename> is a generator that translates kernel command line options
45 configuring integrity protected block devices (verity) into native systemd units early at boot and when
46 configuration of the system manager is reloaded. This will create
47 <citerefentry><refentrytitle>systemd-veritysetup@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
48 units as necessary.</para>
49
50 <para>Currently, only a single verity device may be se up with this generator, backing the root file system of the
51 OS.</para>
52
53 <para><filename>systemd-veritysetup-generator</filename> implements
54 <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
55 </refsect1>
56
57 <refsect1>
58 <title>Kernel Command Line</title>
59
60 <para><filename>systemd-veritysetup-generator</filename>
61 understands the following kernel command line parameters:</para>
62
63 <variablelist class='kernel-commandline-options'>
64 <varlistentry>
65 <term><varname>systemd.verity=</varname></term>
66 <term><varname>rd.systemd.verity=</varname></term>
67
68 <listitem><para>Takes a boolean argument. Defaults to <literal>yes</literal>. If <literal>no</literal>,
69 disables the generator entirely. <varname>rd.systemd.verity=</varname> is honored only by the initial RAM disk
70 (initrd) while <varname>systemd.verity=</varname> is honored by both the host system and the
71 initrd. </para></listitem>
72 </varlistentry>
73
74 <varlistentry>
75 <term><varname>roothash=</varname></term>
76
77 <listitem><para>Takes a root hash value for the root file system. Expects a hash value formatted in hexadecimal
78 characters, of the appropriate length (i.e. most likely 256 bit/64 characters, or longer). If not specified via
79 <varname>systemd.verity_root_data=</varname> and <varname>systemd.verity_root_hash=</varname>, the hash and
80 data devices to use are automatically derived from the specified hash value. Specifically, the data partition
81 device is looked for under a GPT partition UUID derived from the first 128bit of the root hash, the hash
82 partition device is looked for under a GPT partition UUID derived from the last 128bit of the root hash. Hence
83 it is usually sufficient to specify the root hash to boot from an integrity protected root file system, as
84 device paths are automatically determined from it — as long as the partition table is properly set up.</para>
85 </listitem>
86 </varlistentry>
87
88 <varlistentry>
89 <term><varname>systemd.verity_root_data=</varname></term>
90 <term><varname>systemd.verity_root_hash=</varname></term>
91
92 <listitem><para>These two settings take block device paths as arguments, and may be use to explicitly configure
93 the data partition and hash partition to use for setting up the integrity protection for the root file
94 system. If not specified, these paths are automatically derived from the <varname>roothash=</varname> argument
95 (see above).</para></listitem>
96 </varlistentry>
97
98 </variablelist>
99 </refsect1>
100
101 <refsect1>
102 <title>See Also</title>
103 <para>
104 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
105 <citerefentry><refentrytitle>systemd-veritysetup@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
106 <citerefentry project='die-net'><refentrytitle>veritysetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
107 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
108 </para>
109 </refsect1>
110
111 </refentry>