]>
Commit | Line | Data |
---|---|---|
d67ca9ab 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+ --> |
d67ca9ab LP |
6 | <refentry id="systemd-gpt-auto-generator"> |
7 | ||
798d3a52 ZJS |
8 | <refentryinfo> |
9 | <title>systemd-gpt-auto-generator</title> | |
10 | <productname>systemd</productname> | |
798d3a52 ZJS |
11 | </refentryinfo> |
12 | ||
13 | <refmeta> | |
14 | <refentrytitle>systemd-gpt-auto-generator</refentrytitle> | |
15 | <manvolnum>8</manvolnum> | |
16 | </refmeta> | |
17 | ||
18 | <refnamediv> | |
19 | <refname>systemd-gpt-auto-generator</refname> | |
20 | <refpurpose>Generator for automatically discovering | |
21 | and mounting root, <filename>/home</filename> and | |
22 | <filename>/srv</filename> partitions, as well as | |
23 | discovering and enabling swap partitions, based on GPT | |
24 | partition type GUIDs.</refpurpose> | |
25 | </refnamediv> | |
26 | ||
27 | <refsynopsisdiv> | |
12b42c76 | 28 | <para><filename>/usr/lib/systemd/system-generators/systemd-gpt-auto-generator</filename></para> |
798d3a52 ZJS |
29 | </refsynopsisdiv> |
30 | ||
31 | <refsect1> | |
32 | <title>Description</title> | |
33 | ||
aa4c0684 LP |
34 | <para><filename>systemd-gpt-auto-generator</filename> is a unit generator that automatically discovers |
35 | root, <filename>/home/</filename>, <filename>/srv/</filename>, the EFI System Partition, the Extended | |
36 | Boot Loader Partition and swap partitions and creates mount and swap units for them, based on the | |
37 | partition type GUIDs of GUID partition tables (GPT), see <ulink | |
55a37d71 | 38 | url="https://uefi.org/specifications">UEFI Specification</ulink>, chapter 5. It implements the <ulink |
aa4c0684 LP |
39 | url="https://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Discoverable Partitions |
40 | Specification</ulink>. Note that this generator has no effect on non-GPT systems, and on specific mount | |
41 | points that are directories already containing files. Also, on systems where the units are explicitly | |
42 | configured (for example, listed in <citerefentry | |
43 | project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>), the | |
44 | units this generator creates are overridden, but additional implicit dependencies might be | |
45 | created.</para> | |
798d3a52 ZJS |
46 | |
47 | <para>This generator will only look for root partitions on the | |
48 | same physical disk the EFI System Partition (ESP) is located on. | |
49 | It will only look for the other partitions on the same physical | |
50 | disk the root file system is located on. These partitions will not | |
8d5a4f27 | 51 | be searched for on systems where the root file system is distributed |
798d3a52 ZJS |
52 | on multiple disks, for example via btrfs RAID.</para> |
53 | ||
54 | <para><filename>systemd-gpt-auto-generator</filename> is useful | |
55 | for centralizing file system configuration in the partition table | |
8d5a4f27 ZJS |
56 | and making configuration in <filename>/etc/fstab</filename> unnecessary. |
57 | </para> | |
798d3a52 ZJS |
58 | |
59 | <para>This generator looks for the partitions based on their | |
60 | partition type GUID. The following partition type GUIDs are | |
61 | identified:</para> | |
62 | ||
63 | <table> | |
64 | <title>Partition Type GUIDs</title> | |
65 | <tgroup cols='3' align='left' colsep='1' rowsep='1'> | |
66 | <colspec colname="guid" /> | |
67 | <colspec colname="name" /> | |
aa4c0684 | 68 | <colspec colname="where" /> |
798d3a52 ZJS |
69 | <colspec colname="explanation" /> |
70 | <thead> | |
71 | <row> | |
72 | <entry>Partition Type GUID</entry> | |
73 | <entry>Name</entry> | |
aa4c0684 | 74 | <entry>Mount Point</entry> |
798d3a52 ZJS |
75 | <entry>Explanation</entry> |
76 | </row> | |
77 | </thead> | |
78 | <tbody> | |
79 | <row> | |
80 | <entry>44479540-f297-41b2-9af7-d131d5f0458a</entry> | |
81 | <entry><filename>Root Partition (x86)</filename></entry> | |
aa4c0684 | 82 | <entry><filename>/</filename></entry> |
798d3a52 ZJS |
83 | <entry>On 32-bit x86 systems, the first x86 root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> |
84 | </row> | |
85 | <row> | |
86 | <entry>4f68bce3-e8cd-4db1-96e7-fbcaf984b709</entry> | |
87 | <entry><filename>Root Partition (x86-64)</filename></entry> | |
aa4c0684 | 88 | <entry><filename>/</filename></entry> |
798d3a52 ZJS |
89 | <entry>On 64-bit x86 systems, the first x86-64 root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> |
90 | </row> | |
91 | <row> | |
92 | <entry>69dad710-2ce4-4e3c-b16c-21a1d49abed3</entry> | |
93 | <entry><filename>Root Partition (32-bit ARM)</filename></entry> | |
aa4c0684 | 94 | <entry><filename>/</filename></entry> |
798d3a52 ZJS |
95 | <entry>On 32-bit ARM systems, the first ARM root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> |
96 | </row> | |
97 | <row> | |
98 | <entry>b921b045-1df0-41c3-af44-4c6f280d3fae</entry> | |
99 | <entry><filename>Root Partition (64-bit ARM)</filename></entry> | |
aa4c0684 | 100 | <entry><filename>/</filename></entry> |
798d3a52 ZJS |
101 | <entry>On 64-bit ARM systems, the first ARM root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> |
102 | </row> | |
b793ddfa LW |
103 | <row> |
104 | <entry>993d8d3d-f80e-4225-855a-9daf8ed7ea97</entry> | |
105 | <entry><filename>Root Partition (Itanium/IA-64)</filename></entry> | |
aa4c0684 | 106 | <entry><filename>/</filename></entry> |
b793ddfa LW |
107 | <entry>On Itanium systems, the first Itanium root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> |
108 | </row> | |
798d3a52 ZJS |
109 | <row> |
110 | <entry>933ac7e1-2eb4-4f13-b844-0e14e2aef915</entry> | |
111 | <entry>Home Partition</entry> | |
aa4c0684 | 112 | <entry><filename>/home/</filename></entry> |
798d3a52 ZJS |
113 | <entry>The first home partition on the disk the root partition is located on is mounted to <filename>/home</filename>.</entry> |
114 | </row> | |
115 | <row> | |
116 | <entry>3b8f8425-20e0-4f3b-907f-1a25a76f98e8</entry> | |
117 | <entry>Server Data Partition</entry> | |
aa4c0684 | 118 | <entry><filename>/srv/</filename></entry> |
798d3a52 ZJS |
119 | <entry>The first server data partition on the disk the root partition is located on is mounted to <filename>/srv</filename>.</entry> |
120 | </row> | |
121 | <row> | |
122 | <entry>0657fd6d-a4ab-43c4-84e5-0933c84b4f4f</entry> | |
123 | <entry>Swap</entry> | |
aa4c0684 | 124 | <entry>n/a</entry> |
798d3a52 ZJS |
125 | <entry>All swap partitions located on the disk the root partition is located on are enabled.</entry> |
126 | </row> | |
b52a109a LP |
127 | <row> |
128 | <entry>c12a7328-f81f-11d2-ba4b-00a0c93ec93b</entry> | |
129 | <entry>EFI System Partition (ESP)</entry> | |
aa4c0684 | 130 | <entry><filename>/efi/</filename> or <filename>/boot/</filename></entry> |
b52a109a LP |
131 | <entry>The first ESP located on the disk the root partition is located on is mounted to <filename>/boot</filename> or <filename>/efi</filename>, see below.</entry> |
132 | </row> | |
aa4c0684 LP |
133 | <row> |
134 | <entry>bc13c2ff-59e6-4262-a352-b275fd6f7172</entry> | |
135 | <entry>Extended Boot Loader Partition</entry> | |
136 | <entry><filename>/boot/</filename></entry> | |
137 | <entry>The first Extended Boot Loader Partition is mounted to <filename>/boot</filename>, see below.</entry> | |
138 | </row> | |
798d3a52 ZJS |
139 | </tbody> |
140 | </tgroup> | |
141 | </table> | |
142 | ||
8d5a4f27 ZJS |
143 | <para>This generator understands the following attribute flags for partitions:</para> |
144 | ||
145 | <table> | |
146 | <title>Partition Attributes</title> | |
147 | <tgroup cols='4' align='left' colsep='1' rowsep='1'> | |
148 | <colspec colname="attribute" /> | |
149 | <colspec colname="value" /> | |
150 | <colspec colname="where" /> | |
151 | <colspec colname="explanation" /> | |
152 | <thead> | |
153 | <row> | |
154 | <entry>Name</entry> | |
155 | <entry>Value</entry> | |
156 | <entry>Applicable to</entry> | |
157 | <entry>Explanation</entry> | |
158 | </row> | |
159 | </thead> | |
160 | <tbody> | |
161 | <row> | |
162 | <entry><constant>GPT_FLAG_READ_ONLY</constant></entry> | |
163 | <entry>0x1000000000000000</entry> | |
aa4c0684 | 164 | <entry><filename>/</filename>, <filename>/home/</filename>, <filename>/srv/</filename>, Extended Boot Loader Partition</entry> |
8d5a4f27 ZJS |
165 | <entry>Partition is mounted read-only</entry> |
166 | </row> | |
167 | ||
168 | <row> | |
169 | <entry><constant>GPT_FLAG_NO_AUTO</constant></entry> | |
170 | <entry>0x8000000000000000</entry> | |
aa4c0684 | 171 | <entry><filename>/</filename>, <filename>/home/</filename>, <filename>/srv/</filename>, Extended Boot Loader Partition</entry> |
8d5a4f27 ZJS |
172 | <entry>Partition is not mounted automatically</entry> |
173 | </row> | |
174 | ||
175 | <row> | |
176 | <entry><constant>GPT_FLAG_NO_BLOCK_IO_PROTOCOL</constant></entry> | |
177 | <entry>0x0000000000000002</entry> | |
aa4c0684 | 178 | <entry>EFI System Partition (ESP)</entry> |
8d5a4f27 ZJS |
179 | <entry>Partition is not mounted automatically</entry> |
180 | </row> | |
181 | </tbody> | |
182 | </tgroup> | |
183 | </table> | |
184 | ||
aa4c0684 LP |
185 | <para>The <filename>/home/</filename> and <filename>/srv/</filename> partitions may be encrypted in LUKS |
186 | format. In this case, a device mapper device is set up under the names | |
187 | <filename>/dev/mapper/home</filename> and <filename>/dev/mapper/srv</filename>. Note that this might | |
188 | create conflicts if the same partition is listed in <filename>/etc/crypttab</filename> with a different | |
189 | device mapper device name.</para> | |
190 | ||
191 | <para>Mount and automount units for the EFI System Partition (ESP) are generated on EFI systems. The ESP | |
192 | is mounted to <filename>/boot/</filename> (except if an Extended Boot Loader partition exists, see | |
193 | below), unless a mount point directory <filename>/efi/</filename> exists, in which case it is mounted | |
194 | there. Since this generator creates an automount unit, the mount will only be activated on-demand, when | |
195 | accessed. On systems where <filename>/boot/</filename> (or <filename>/efi/</filename> if it exists) is an | |
196 | explicitly configured mount (for example, listed in <citerefentry | |
197 | project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>) or where | |
198 | the <filename>/boot/</filename> (or <filename>/efi/</filename>) mount point is non-empty, no mount units | |
199 | are generated.</para> | |
200 | ||
201 | <para>If the disk contains an Extended Boot Loader partition, as defined in the <ulink | |
202 | url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink>, it is made | |
203 | available at <filename>/boot</filename> (by means of an automount point, similar to the ESP, see | |
204 | above). If both an EFI System Partition and an Extended Boot Loader partition exist the latter is | |
205 | preferably mounted to <filename>/boot/</filename>. Make sure to create both <filename>/efi/</filename> | |
206 | and <filename>/boot/</filename> to ensure both partitions are mounted.</para> | |
798d3a52 ZJS |
207 | |
208 | <para>When using this generator in conjunction with btrfs file | |
209 | systems, make sure to set the correct default subvolumes on them, | |
210 | using <command>btrfs subvolume set-default</command>.</para> | |
211 | ||
212 | <para><filename>systemd-gpt-auto-generator</filename> implements | |
b1c1a519 | 213 | <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> |
798d3a52 ZJS |
214 | </refsect1> |
215 | ||
17ec531f ZJS |
216 | <refsect1> |
217 | <title>Kernel Command Line</title> | |
218 | ||
219 | <para><filename>systemd-gpt-auto-generator</filename> understands the following kernel command line | |
220 | parameters:</para> | |
221 | ||
222 | <variablelist class='kernel-commandline-options'> | |
223 | ||
224 | <varlistentry> | |
225 | <term><varname>systemd.gpt_auto</varname></term> | |
226 | <term><varname>rd.systemd.gpt_auto</varname></term> | |
227 | ||
228 | <listitem><para>Those options take an optional boolean argument, and default to yes. | |
229 | The generator is enabled by default, and a negative value may be used to disable it. | |
230 | </para></listitem> | |
231 | </varlistentry> | |
232 | ||
233 | <varlistentry> | |
234 | <term><varname>root=</varname></term> | |
235 | ||
236 | <listitem><para>When used with the special value <literal>gpt-auto</literal>, automatic discovery of | |
5238e957 | 237 | the root partition based on the GPT partition type is enabled. Any other value disables this |
17ec531f ZJS |
238 | generator.</para></listitem> |
239 | </varlistentry> | |
240 | ||
241 | <varlistentry> | |
242 | <term><varname>rw</varname></term> | |
243 | <term><varname>ro</varname></term> | |
244 | ||
245 | <listitem><para>Mount the root partition read-write or read-only <emphasis>initially</emphasis>.</para> | |
246 | ||
247 | <para>Note that unlike most kernel command line options these settings do not override configuration | |
248 | in the file system, and the file system may be remounted later. See | |
249 | <citerefentry><refentrytitle>systemd-remount-fs.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. | |
250 | </para></listitem> | |
251 | </varlistentry> | |
252 | </variablelist> | |
253 | </refsect1> | |
254 | ||
798d3a52 ZJS |
255 | <refsect1> |
256 | <title>See Also</title> | |
257 | <para> | |
258 | <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, | |
259 | <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
260 | <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
261 | <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>, | |
798d3a52 | 262 | <citerefentry><refentrytitle>systemd-cryptsetup@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
3ba3a79d ZJS |
263 | <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
264 | <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>, | |
265 | <citerefentry project='man-pages'><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> | |
798d3a52 ZJS |
266 | </para> |
267 | </refsect1> | |
d67ca9ab LP |
268 | |
269 | </refentry> |