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