]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/kernel-command-line.xml
Merge pull request #27113 from keszybz/variable-expansion-rework
[thirdparty/systemd.git] / man / kernel-command-line.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4 <!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
5
6 <refentry id="kernel-command-line">
7
8 <refentryinfo>
9 <title>kernel-command-line</title>
10 <productname>systemd</productname>
11 </refentryinfo>
12
13 <refmeta>
14 <refentrytitle>kernel-command-line</refentrytitle>
15 <manvolnum>7</manvolnum>
16 </refmeta>
17
18 <refnamediv>
19 <refname>kernel-command-line</refname>
20 <refpurpose>Kernel command line parameters</refpurpose>
21 </refnamediv>
22
23 <refsynopsisdiv>
24 <para><filename>/proc/cmdline</filename></para>
25 </refsynopsisdiv>
26
27 <refsect1>
28 <title>Description</title>
29
30 <para>The kernel, the programs running in the initrd and in the host system may be configured at boot via
31 kernel command line arguments. In addition, various systemd tools look at the EFI variable
32 <literal>SystemdOptions</literal> (if available). Both sources are combined, but the kernel command line
33 has higher priority. Please note that <emphasis>the EFI variable is only used by systemd tools, and is
34 ignored by the kernel and other user space tools</emphasis>, so it is not a replacement for the kernel
35 command line.</para>
36
37 <para>For command line parameters understood by the kernel, please
38 see
39 <ulink url="https://docs.kernel.org/admin-guide/kernel-parameters.html"><filename>kernel-parameters.html</filename></ulink>
40 and
41 <citerefentry project='man-pages'><refentrytitle>bootparam</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
42
43 <para>For command line parameters understood by the initrd, see
44 <citerefentry project='man-pages'><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
45 or the documentation of the specific initrd implementation of your
46 installation.</para>
47 </refsect1>
48
49 <refsect1>
50 <title>Core OS Command Line Arguments</title>
51
52 <variablelist class='kernel-commandline-options'>
53 <varlistentry>
54 <term><varname>systemd.unit=</varname></term>
55 <term><varname>rd.systemd.unit=</varname></term>
56 <term><varname>systemd.dump_core</varname></term>
57 <term><varname>systemd.early_core_pattern=</varname></term>
58 <term><varname>systemd.crash_chvt</varname></term>
59 <term><varname>systemd.crash_shell</varname></term>
60 <term><varname>systemd.crash_reboot</varname></term>
61 <term><varname>systemd.confirm_spawn</varname></term>
62 <term><varname>systemd.service_watchdogs</varname></term>
63 <term><varname>systemd.show_status</varname></term>
64 <term><varname>systemd.status_unit_format=</varname></term>
65 <term><varname>systemd.log_target=</varname></term>
66 <term><varname>systemd.log_level=</varname></term>
67 <term><varname>systemd.log_location=</varname></term>
68 <term><varname>systemd.log_color</varname></term>
69 <term><varname>systemd.log_ratelimit_kmsg</varname></term>
70 <term><varname>systemd.default_standard_output=</varname></term>
71 <term><varname>systemd.default_standard_error=</varname></term>
72 <term><varname>systemd.setenv=</varname></term>
73 <term><varname>systemd.machine_id=</varname></term>
74 <term><varname>systemd.set_credential=</varname></term>
75 <term><varname>systemd.import_credentials=</varname></term>
76 <term><varname>systemd.reload_limit_interval_sec=</varname></term>
77 <term><varname>systemd.reload_limit_burst=</varname></term>
78 <listitem>
79 <para>Parameters understood by the system and service
80 manager to control system behavior. For details, see
81 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
82 </listitem>
83 </varlistentry>
84
85 <varlistentry>
86 <term><varname>systemd.mask=</varname></term>
87 <term><varname>systemd.wants=</varname></term>
88 <term><varname>systemd.debug_shell</varname></term>
89 <listitem>
90 <para>Additional parameters understood by
91 <citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
92 to mask or start specific units at boot, or invoke a debug
93 shell on tty9.</para>
94 </listitem>
95 </varlistentry>
96
97 <varlistentry>
98 <term><varname>systemd.run=</varname></term>
99 <term><varname>systemd.run_success_action=</varname></term>
100 <term><varname>systemd.run_failure_action=</varname></term>
101 <listitem>
102 <para>Additional parameters understood by
103 <citerefentry><refentrytitle>systemd-run-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>, to
104 run a command line specified on the kernel command line as system service after booting up.</para>
105 </listitem>
106 </varlistentry>
107
108 <varlistentry>
109 <term><varname>systemd.early_core_pattern=</varname></term>
110 <listitem>
111 <para>During early boot, the generation of core dump files is disabled until a core dump handler (if any)
112 takes over. This parameter allows specifying an absolute path where core dump files should be stored until
113 a handler is installed. The path should be absolute and may contain specifiers, see
114 <citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details.</para>
115 </listitem>
116 </varlistentry>
117
118 <varlistentry>
119 <term><varname>systemd.restore_state=</varname></term>
120 <listitem>
121 <para>This parameter is understood by several system tools
122 to control whether or not they should restore system state
123 from the previous boot. For details, see
124 <citerefentry><refentrytitle>systemd-backlight@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
125 and
126 <citerefentry><refentrytitle>systemd-rfkill.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
127 </para>
128 </listitem>
129 </varlistentry>
130
131 <varlistentry>
132 <term><varname>systemd.volatile=</varname></term>
133 <listitem>
134 <para>This parameter controls whether the system shall boot up in volatile mode. Takes a boolean argument, or
135 the special value <literal>state</literal>. If false (the default), normal boot mode is selected, the root
136 directory and <filename>/var/</filename> are mounted as specified on the kernel command line or
137 <filename>/etc/fstab</filename>, or otherwise configured. If true, full state-less boot mode is selected. In
138 this case the root directory is mounted as volatile memory file system (<literal>tmpfs</literal>), and only
139 <filename>/usr/</filename> is mounted from the file system configured as root device, in read-only mode. This
140 enables fully state-less boots were the vendor-supplied OS is used as shipped, with only default
141 configuration and no stored state in effect, as <filename>/etc/</filename> and <filename>/var/</filename> (as
142 well as all other resources shipped in the root file system) are reset at boot and lost on shutdown. If this
143 setting is set to <literal>state</literal> the root file system is mounted read-only, however
144 <filename>/var/</filename> is mounted as a volatile memory file system (<literal>tmpfs</literal>), so that the
145 system boots up with the normal configuration applied, but all state reset at boot and lost at shutdown. If
146 this setting is set to <literal>overlay</literal> the root file system is set up as
147 <literal>overlayfs</literal> mount combining the read-only root directory with a writable
148 <literal>tmpfs</literal>, so that no modifications are made to disk, but the file system may be modified
149 nonetheless with all changes being lost at reboot. For details, see
150 <citerefentry><refentrytitle>systemd-volatile-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
151 and
152 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
153 </listitem>
154 </varlistentry>
155
156 <varlistentry>
157 <term><varname>quiet</varname></term>
158 <listitem>
159 <para>Parameter understood by both the kernel and the system
160 and service manager to control console log verbosity. For
161 details, see
162 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
163 </listitem>
164 </varlistentry>
165
166 <varlistentry>
167 <term><varname>debug</varname></term>
168 <listitem>
169 <para>Parameter understood by both the kernel and the system
170 and service manager to control console log verbosity. For
171 details, see
172 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
173 </listitem>
174 </varlistentry>
175
176 <varlistentry>
177 <term><varname>-b</varname></term>
178 <term><varname>rd.emergency</varname></term>
179 <term><varname>emergency</varname></term>
180 <term><varname>rd.rescue</varname></term>
181 <term><varname>rescue</varname></term>
182 <term><varname>single</varname></term>
183 <term><varname>s</varname></term>
184 <term><varname>S</varname></term>
185 <term><varname>1</varname></term>
186 <term><varname>2</varname></term>
187 <term><varname>3</varname></term>
188 <term><varname>4</varname></term>
189 <term><varname>5</varname></term>
190 <listitem>
191 <para>Parameters understood by the system and service
192 manager, as compatibility and convenience options. For details, see
193 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
194 </listitem>
195 </varlistentry>
196
197 <varlistentry>
198 <term><varname>locale.LANG=</varname></term>
199 <term><varname>locale.LANGUAGE=</varname></term>
200 <term><varname>locale.LC_CTYPE=</varname></term>
201 <term><varname>locale.LC_NUMERIC=</varname></term>
202 <term><varname>locale.LC_TIME=</varname></term>
203 <term><varname>locale.LC_COLLATE=</varname></term>
204 <term><varname>locale.LC_MONETARY=</varname></term>
205 <term><varname>locale.LC_MESSAGES=</varname></term>
206 <term><varname>locale.LC_PAPER=</varname></term>
207 <term><varname>locale.LC_NAME=</varname></term>
208 <term><varname>locale.LC_ADDRESS=</varname></term>
209 <term><varname>locale.LC_TELEPHONE=</varname></term>
210 <term><varname>locale.LC_MEASUREMENT=</varname></term>
211 <term><varname>locale.LC_IDENTIFICATION=</varname></term>
212 <listitem>
213 <para>Parameters understood by the system and service
214 manager to control locale and language settings. For
215 details, see
216 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
217 </listitem>
218 </varlistentry>
219
220 <varlistentry>
221 <term><varname>fsck.mode=</varname></term>
222 <term><varname>fsck.repair=</varname></term>
223
224 <listitem>
225 <para>Parameters understood by the file system checker
226 services. For details, see
227 <citerefentry><refentrytitle>systemd-fsck@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
228 </listitem>
229 </varlistentry>
230
231 <varlistentry>
232 <term><varname>quotacheck.mode=</varname></term>
233
234 <listitem>
235 <para>Parameter understood by the file quota checker
236 service. For details, see
237 <citerefentry><refentrytitle>systemd-quotacheck.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
238 </listitem>
239 </varlistentry>
240
241 <varlistentry>
242 <term><varname>systemd.journald.forward_to_syslog=</varname></term>
243 <term><varname>systemd.journald.forward_to_kmsg=</varname></term>
244 <term><varname>systemd.journald.forward_to_console=</varname></term>
245 <term><varname>systemd.journald.forward_to_wall=</varname></term>
246
247 <listitem>
248 <para>Parameters understood by the journal service. For
249 details, see
250 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
251 </listitem>
252 </varlistentry>
253
254 <varlistentry>
255 <term><varname>vconsole.keymap=</varname></term>
256 <term><varname>vconsole.keymap_toggle=</varname></term>
257 <term><varname>vconsole.font=</varname></term>
258 <term><varname>vconsole.font_map=</varname></term>
259 <term><varname>vconsole.font_unimap=</varname></term>
260
261 <listitem>
262 <para>Parameters understood by the virtual console setup logic. For details, see
263 <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
264 </listitem>
265 </varlistentry>
266
267 <varlistentry>
268 <term><varname>udev.log_level=</varname></term>
269 <term><varname>rd.udev.log_level=</varname></term>
270 <term><varname>udev.children_max=</varname></term>
271 <term><varname>rd.udev.children_max=</varname></term>
272 <term><varname>udev.exec_delay=</varname></term>
273 <term><varname>rd.udev.exec_delay=</varname></term>
274 <term><varname>udev.event_timeout=</varname></term>
275 <term><varname>rd.udev.event_timeout=</varname></term>
276 <term><varname>udev.timeout_signal=</varname></term>
277 <term><varname>rd.udev.timeout_signal=</varname></term>
278 <term><varname>udev.blockdev_read_only</varname></term>
279 <term><varname>rd.udev.blockdev_read_only</varname></term>
280 <term><varname>net.ifnames=</varname></term>
281 <term><varname>net.naming-scheme=</varname></term>
282
283 <listitem>
284 <para>Parameters understood by the device event managing
285 daemon. For details, see
286 <citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
287 </listitem>
288 </varlistentry>
289
290 <varlistentry>
291 <term><varname>plymouth.enable=</varname></term>
292
293 <listitem>
294 <para>May be used to disable the Plymouth boot splash. For
295 details, see
296 <citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry>
301 <term><varname>luks=</varname></term>
302 <term><varname>rd.luks=</varname></term>
303 <term><varname>luks.crypttab=</varname></term>
304 <term><varname>rd.luks.crypttab=</varname></term>
305 <term><varname>luks.name=</varname></term>
306 <term><varname>rd.luks.name=</varname></term>
307 <term><varname>luks.uuid=</varname></term>
308 <term><varname>rd.luks.uuid=</varname></term>
309 <term><varname>luks.options=</varname></term>
310 <term><varname>rd.luks.options=</varname></term>
311 <term><varname>luks.key=</varname></term>
312 <term><varname>rd.luks.key=</varname></term>
313
314 <listitem>
315 <para>Configures the LUKS full-disk encryption logic at
316 boot. For details, see
317 <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry>
322 <term><varname>fstab=</varname></term>
323 <term><varname>rd.fstab=</varname></term>
324
325 <listitem>
326 <para>Configures the <filename>/etc/fstab</filename> logic
327 at boot. For details, see
328 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry>
333 <term><varname>root=</varname></term>
334 <term><varname>rootfstype=</varname></term>
335 <term><varname>rootflags=</varname></term>
336 <term><varname>ro</varname></term>
337 <term><varname>rw</varname></term>
338
339 <listitem>
340 <para>Configures the root file system and its file system type and mount options, as well as
341 whether it shall be mounted read-only or read-write initially. For details, see
342 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
343
344 <para>If <varname>root=</varname> is not set (or set to <literal>gpt-auto</literal>) the automatic
345 root partition discovery implemented by
346 <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
347 will be in effect. In this case <varname>rootfstype=</varname>, <varname>rootflags=</varname>,
348 <varname>ro</varname>, <varname>rw</varname> will be interpreted by
349 <command>systemd-gpt-auto-generator</command>.</para>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry>
354 <term><varname>mount.usr=</varname></term>
355 <term><varname>mount.usrfstype=</varname></term>
356 <term><varname>mount.usrflags=</varname></term>
357
358 <listitem>
359 <para>Configures the /usr file system (if required) and
360 its file system type and mount options. For details, see
361 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry>
366 <term><varname>veritytab=</varname></term>
367 <term><varname>rd.veritytab=</varname></term>
368 <term><varname>roothash=</varname></term>
369 <term><varname>systemd.verity=</varname></term>
370 <term><varname>rd.systemd.verity=</varname></term>
371 <term><varname>systemd.verity_root_data=</varname></term>
372 <term><varname>systemd.verity_root_hash=</varname></term>
373 <term><varname>systemd.verity.root_options=</varname></term>
374 <term><varname>usrhash=</varname></term>
375 <term><varname>systemd.verity_usr_data=</varname></term>
376 <term><varname>systemd.verity_usr_hash=</varname></term>
377 <term><varname>systemd.verity_usr_options=</varname></term>
378 <listitem>
379 <para>Configures the integrity protection root hash for the root and <filename>/usr</filename> file systems, and other related
380 parameters. For details, see
381 <citerefentry><refentrytitle>systemd-veritysetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
382 </listitem>
383 </varlistentry>
384
385 <varlistentry>
386 <term><varname>systemd.getty_auto=</varname></term>
387
388 <listitem>
389 <para>Configures whether the <filename>serial-getty@.service</filename> will run.
390 For details, see
391 <citerefentry><refentrytitle>systemd-getty-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry>
396 <term><varname>systemd.gpt_auto=</varname></term>
397 <term><varname>rd.systemd.gpt_auto=</varname></term>
398
399 <listitem>
400 <para>Configures whether GPT-based partition auto-discovery shall be attempted. For details, see
401 <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry>
406 <term><varname>systemd.image_policy=</varname></term>
407 <term><varname>rd.systemd.image_policy=</varname></term>
408
409 <listitem><para>When GPT-based partition auto-discovery is used, configures the image dissection
410 policy string to apply, as per
411 <citerefentry><refentrytitle>systemd.image-policy</refentrytitle><manvolnum>7</manvolnum></citerefentry>. For
412 details see
413 <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para></listitem>
414 </varlistentry>
415
416 <varlistentry>
417 <term><varname>systemd.default_timeout_start_sec=</varname></term>
418
419 <listitem>
420 <para>Overrides the default start job timeout <varname>DefaultTimeoutStartSec=</varname> at
421 boot. For details, see
422 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
423 </listitem>
424 </varlistentry>
425
426 <varlistentry>
427 <term><varname>systemd.watchdog_device=</varname></term>
428
429 <listitem>
430 <para>Overrides the watchdog device path <varname>WatchdogDevice=</varname>. For details, see
431 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
432 </listitem>
433 </varlistentry>
434
435 <varlistentry>
436 <term><varname>systemd.watchdog_sec=</varname></term>
437
438 <listitem>
439 <para>Overrides the watchdog timeout settings otherwise configured with
440 <varname>RuntimeWatchdog=</varname>, <varname>RebootWatchdog=</varname> and
441 <varname>KExecWatchdogSec=</varname>. Takes a time value (if no unit is specified, seconds is the
442 implicitly assumed time unit) or the special strings <literal>off</literal> or
443 <literal>default</literal>. For details, see
444 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry>
449 <term><varname>systemd.watchdog_pre_sec=</varname></term>
450
451 <listitem>
452 <para>Overrides the watchdog pre-timeout settings otherwise configured with
453 <varname>RuntimeWatchdogPreSec=</varname>. Takes a time value (if no unit is specified, seconds is the
454 implicitly assumed time unit) or the special strings <literal>off</literal> or
455 <literal>default</literal>. For details, see
456 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
457 </listitem>
458 </varlistentry>
459
460 <varlistentry>
461 <term><varname>systemd.watchdog_pretimeout_governor=</varname></term>
462
463 <listitem>
464 <para>Overrides the watchdog pre-timeout settings otherwise configured with
465 <varname>RuntimeWatchdogPreGovernor=</varname>. Takes a string value. For details, see
466 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
467 </listitem>
468 </varlistentry>
469
470 <varlistentry>
471 <term><varname>systemd.cpu_affinity=</varname></term>
472
473 <listitem>
474 <para>Overrides the CPU affinity mask for the service manager and the default for all child
475 processes it forks. This takes precedence over <varname>CPUAffinity=</varname>, see
476 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
477 for details.</para>
478 </listitem>
479 </varlistentry>
480
481 <varlistentry>
482 <term><varname>modules_load=</varname></term>
483 <term><varname>rd.modules_load=</varname></term>
484
485 <listitem>
486 <para>Load a specific kernel module early at boot. For
487 details, see
488 <citerefentry><refentrytitle>systemd-modules-load.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
489 </listitem>
490 </varlistentry>
491
492 <varlistentry>
493 <term><varname>nameserver=</varname></term>
494 <term><varname>domain=</varname></term>
495
496 <listitem><para>Configures DNS server information and search domains, see
497 <citerefentry><refentrytitle>systemd-resolved.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
498 for details.</para></listitem>
499 </varlistentry>
500
501 <varlistentry>
502 <term><varname>resume=</varname></term>
503 <term><varname>resumeflags=</varname></term>
504
505 <listitem>
506 <para>Enables resume from hibernation using the specified
507 device and mount options. All
508 <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-like
509 paths are supported. For details, see
510 <citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
511 </listitem>
512 </varlistentry>
513
514 <varlistentry>
515 <term><varname>systemd.firstboot=</varname></term>
516
517 <listitem><para>Takes a boolean argument, defaults to on. If off,
518 <citerefentry><refentrytitle>systemd-firstboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
519 will not query the user for basic system settings, even if the system boots up for the first time and
520 the relevant settings are not initialized yet. Not to be confused with
521 <varname>systemd.condition-first-boot=</varname> (see below), which overrides the result of the
522 <varname>ConditionFirstBoot=</varname> unit file condition, and thus controls more than just
523 <filename>systemd-firstboot.service</filename> behaviour.</para></listitem>
524 </varlistentry>
525
526 <varlistentry>
527 <term><varname>systemd.condition-needs-update=</varname></term>
528
529 <listitem><para>Takes a boolean argument. If specified, overrides the result of
530 <varname>ConditionNeedsUpdate=</varname> unit condition checks. See
531 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
532 details.</para></listitem>
533 </varlistentry>
534
535 <varlistentry>
536 <term><varname>systemd.condition-first-boot=</varname></term>
537
538 <listitem><para>Takes a boolean argument. If specified, overrides the result of
539 <varname>ConditionFirstBoot=</varname> unit condition checks. See
540 <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
541 details. Not to be confused with <varname>systemd.firstboot=</varname> which only controls behaviour
542 of the <filename>systemd-firstboot.service</filename> system service but has no effect on the
543 condition check (see above).</para></listitem>
544 </varlistentry>
545
546 <varlistentry>
547 <term><varname>systemd.clock-usec=</varname></term>
548
549 <listitem><para>Takes a decimal, numeric timestamp in µs since January 1st 1970, 00:00am, to set the
550 system clock to. The system time is set to the specified timestamp early during boot. It is not
551 propagated to the hardware clock (RTC).</para></listitem>
552 </varlistentry>
553
554 <varlistentry>
555 <term><varname>systemd.random-seed=</varname></term>
556
557 <listitem><para>Takes a base64 encoded random seed value to credit with full entropy to the kernel's
558 random pool during early service manager initialization. This option is useful in testing
559 environments where delays due to random pool initialization in entropy starved virtual machines shall
560 be avoided.</para>
561
562 <para>Note that if this option is used the seed is accessible to unprivileged programs from
563 <filename>/proc/cmdline</filename>. This option is hence a security risk when used outside of test
564 systems, since the (possibly) only seed used for initialization of the kernel's entropy pool might be
565 easily acquired by unprivileged programs.</para>
566
567 <para>It is recommended to pass 512 bytes of randomized data (as that matches the Linux kernel pool
568 size), which may be generated with a command like the following:</para>
569
570 <programlisting>dd if=/dev/urandom bs=512 count=1 status=none | base64 -w 0</programlisting>
571
572 <para>Again: do not use this option outside of testing environments, it's a security risk elsewhere,
573 as secret key material derived from the entropy pool can possibly be reconstructed by unprivileged
574 programs.</para>
575 </listitem>
576 </varlistentry>
577
578 <varlistentry>
579 <term><varname>systemd.hostname=</varname></term>
580
581 <listitem><para>Accepts a hostname to set during early boot. If specified takes precedence over what
582 is set in <filename>/etc/hostname</filename>. Note that this does not bar later runtime changes to
583 the hostname, it simply controls the initial hostname set during early boot.</para></listitem>
584 </varlistentry>
585
586 <varlistentry>
587 <term><varname>systemd.tty.term.<replaceable>tty</replaceable>=</varname></term>
588 <term><varname>systemd.tty.rows.<replaceable>tty</replaceable>=</varname></term>
589 <term><varname>systemd.tty.columns.<replaceable>tty</replaceable>=</varname></term>
590
591 <listitem><para>These arguments allow configuring default values for <varname>$TERM</varname>,
592 <varname>TTYRows=</varname>, and <varname>TTYColumns=</varname> for tty
593 <replaceable>tty</replaceable>. The tty name should be specified without the
594 <filename>/dev/</filename> prefix (e.g. <literal>systemd.tty.rows.ttyS0=80</literal>).
595 </para></listitem>
596 </varlistentry>
597 </variablelist>
598 </refsect1>
599
600 <refsect1>
601 <title>History</title>
602
603 <variablelist>
604 <varlistentry>
605 <term>systemd 252</term>
606 <listitem><para>Kernel command-line arguments <varname>systemd.unified_cgroup_hierarchy</varname>
607 and <varname>systemd.legacy_systemd_cgroup_controller</varname> were deprecated. Please switch to
608 the unified cgroup hierarchy.</para></listitem>
609 </varlistentry>
610 </variablelist>
611 </refsect1>
612
613 <refsect1>
614 <title>See Also</title>
615 <para>
616 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
617 <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
618 <citerefentry project='man-pages'><refentrytitle>bootparam</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
619 <citerefentry project='man-pages'><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
620 <citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
621 <citerefentry><refentrytitle>systemd-fsck@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
622 <citerefentry><refentrytitle>systemd-quotacheck.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
623 <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
624 <citerefentry><refentrytitle>systemd-vconsole-setup.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
625 <citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
626 <citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
627 <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
628 <citerefentry><refentrytitle>systemd-veritysetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
629 <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
630 <citerefentry><refentrytitle>systemd-getty-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
631 <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
632 <citerefentry><refentrytitle>systemd-volatile-root.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
633 <citerefentry><refentrytitle>systemd-modules-load.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
634 <citerefentry><refentrytitle>systemd-backlight@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
635 <citerefentry><refentrytitle>systemd-rfkill.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
636 <citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
637 <citerefentry><refentrytitle>systemd-firstboot.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
638 <citerefentry><refentrytitle>bootctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
639 </para>
640 </refsect1>
641
642 </refentry>