]> git.ipfire.org Git - thirdparty/dracut.git/blob - man/dracut.cmdline.7.asc
feat(nvmf): add code for parsing the NBFT
[thirdparty/dracut.git] / man / dracut.cmdline.7.asc
1 DRACUT.CMDLINE(7)
2 =================
3 :doctype: manpage
4 :man source: dracut
5 :man manual: dracut
6 :man version: {version}
7
8 NAME
9 ----
10 dracut.cmdline - dracut kernel command line options
11
12 DESCRIPTION
13 -----------
14 The root device used by the kernel is specified in the boot configuration
15 file on the kernel command line, as always.
16
17 The traditional _root=/dev/sda1_ style device specification is allowed, but not
18 encouraged. The root device should better be identified by LABEL or UUID. If a
19 label is used, as in _root=LABEL=<label_of_root>_ the initramfs will search all
20 available devices for a filesystem with the appropriate label, and mount that
21 device as the root filesystem. _root=UUID=<uuidnumber>_ will mount the partition
22 with that UUID as the root filesystem.
23
24 In the following all kernel command line parameters, which are processed by
25 dracut, are described.
26
27 "rd.*" parameters mentioned without "=" are boolean parameters. They can be
28 turned on/off by setting them to {0|1}. If the assignment with "=" is missing
29 "=1" is implied. For example _rd.info_ can be turned off with _rd.info=0_ or
30 turned on with _rd.info=1_ or _rd.info_. The last value in the kernel command
31 line is the value, which is honored.
32
33 Standard
34 ~~~~~~~~
35 **init=**__<path to real init>__::
36 specify the path to the init program to be started after the initramfs has
37 finished
38
39 **root=**__<path to blockdevice>__::
40 specify the block device to use as the root filesystem.
41 +
42 [listing]
43 .Example
44 --
45 root=/dev/sda1
46 root=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
47 root=/dev/disk/by-label/Root
48 root=LABEL=Root
49 root=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
50 root=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
51 root=PARTUUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
52 --
53
54 **rootfstype=**__<filesystem type>__:: "auto" if not specified.
55 +
56 [listing]
57 .Example
58 --
59 rootfstype=ext4
60 --
61
62 **rootflags=**__<mount options>__::
63 specify additional mount options for the root filesystem. If not set,
64 _/etc/fstab_ of the real root will be parsed for special mount options and
65 mounted accordingly.
66
67 **ro**::
68 force mounting _/_ and _/usr_ (if it is a separate device) read-only. If
69 none of ro and rw is present, both are mounted according to _/etc/fstab_.
70
71 **rw**::
72 force mounting _/_ and _/usr_ (if it is a separate device) read-write.
73 See also ro option.
74
75 **rootfallback=**__<path to blockdevice>__::
76 specify the block device to use as the root filesystem, if the normal root
77 cannot be found. This can only be a simple block device with a simple file
78 system, for which the filesystem driver is either compiled in, or added
79 manually to the initramfs. This parameter can be specified multiple times.
80
81 **rd.auto** **rd.auto=1**::
82 enable autoassembly of special devices like cryptoLUKS, dmraid, mdraid or
83 lvm. Default is off as of dracut version >= 024.
84
85 **rd.hostonly=0**::
86 removes all compiled in configuration of the host system the initramfs image
87 was built on. This helps booting, if any disk layout changed, especially in
88 combination with rd.auto or other parameters specifying the layout.
89
90 **rd.cmdline=ask**::
91 prompts the user for additional kernel command line parameters
92
93 **rd.fstab=0**::
94 do not honor special mount options for the root filesystem found in
95 _/etc/fstab_ of the real root.
96
97 **resume=**__<path to resume partition>__::
98 resume from a swap partition
99 +
100 [listing]
101 .Example
102 --
103 resume=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
104 resume=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
105 resume=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
106 --
107
108 **rd.skipfsck**::
109 skip fsck for rootfs and _/usr_. If you're mounting _/usr_ read-only and
110 the init system performs fsck before remount, you might want to use this
111 option to avoid duplication.
112
113 iso-scan/filename
114 ~~~~~~~~~~~~~~~~~
115
116 Mount all mountable devices and search for ISO pointed by the argument. When
117 the ISO is found set it up as a loop device. Device containing this ISO
118 image will stay mounted at /run/initramfs/isoscandev.
119 Using iso-scan/filename with a Fedora/Red Hat/CentOS Live iso should just work
120 by copying the original kernel cmdline parameters.
121
122 [listing]
123 .Example
124 --
125 menuentry 'Live Fedora 20' --class fedora --class gnu-linux --class gnu --class os {
126 set isolabel=Fedora-Live-LXDE-x86_64-20-1
127 set isofile="/boot/iso/Fedora-Live-LXDE-x86_64-20-1.iso"
128 loopback loop $isofile
129 linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb
130 initrd (loop)/isolinux/initrd0.img
131 }
132 --
133
134 Misc
135 ~~~~
136 **rd.emergency=**__[reboot|poweroff|halt]__::
137 specify, what action to execute in case of a critical failure. rd.shell=0 must also
138 be specified.
139
140 **rd.driver.blacklist=**__<drivername>__[,__<drivername>__,...]::
141 do not load kernel module <drivername>. This parameter can be specified
142 multiple times.
143
144 **rd.driver.pre=**__<drivername>__[,__<drivername>__,...]::
145 force loading kernel module <drivername>. This parameter can be specified
146 multiple times.
147
148 **rd.driver.post=**__<drivername>__[,__<drivername>__,...]::
149 force loading kernel module <drivername> after all automatic loading modules
150 have been loaded. This parameter can be specified multiple times.
151
152 **rd.retry=**__<seconds>__::
153 specify how long dracut should retry the initqueue to configure devices.
154 The default is 180 seconds. After 2/3 of the time, degraded raids are force
155 started. If you have hardware, which takes a very long time to announce its
156 drives, you might want to extend this value.
157
158 **rd.timeout=**__<seconds>__::
159 specify how long dracut should wait for devices to appear. The
160 default is '0', which means 'forever'. Note that this timeout
161 should be longer than rd.retry to allow for proper configuration.
162
163 **rd.noverifyssl**::
164 accept self-signed certificates for ssl downloads.
165
166 **rd.ctty=**__<terminal device>__::
167 specify the controlling terminal for the console.
168 This is useful, if you have multiple "console=" arguments.
169
170 **rd.shutdown.timeout.umount=**__<seconds>__::
171 specify how long dracut should wait for an individual umount to finish
172 during shutdown. This avoids the system from blocking when unmounting a file
173 system cannot complete and waits indefinitely. Value '0' means to wait
174 'forever'. The default is 90 seconds.
175
176 [[dracutkerneldebug]]
177 Debug
178 ~~~~~
179 If you are dropped to an emergency shell, the file
180 _/run/initramfs/rdsosreport.txt_ is created, which can be saved to a (to be
181 mounted by hand) partition (usually /boot) or a USB stick. Additional debugging
182 info can be produced by adding **rd.debug** to the kernel command line.
183 _/run/initramfs/rdsosreport.txt_ contains all logs and the output of some tools.
184 It should be attached to any report about dracut problems.
185
186 **rd.info**::
187 print informational output though "quiet" is set
188
189 **rd.shell**::
190 allow dropping to a shell, if root mounting fails
191
192 **rd.debug**::
193 set -x for the dracut shell.
194 If systemd is active in the initramfs, all output is logged to the systemd
195 journal, which you can inspect with "journalctl -ab".
196 If systemd is not active, the logs are written to dmesg and
197 _/run/initramfs/init.log_.
198 If "quiet" is set, it also logs to the console.
199
200 **rd.memdebug=[0-5]**::
201 Print memory usage info at various points, set the verbose level from 0 to 5.
202 +
203 Higher level means more debugging output:
204 +
205 ----
206 0 - no output
207 1 - partial /proc/meminfo
208 2 - /proc/meminfo
209 3 - /proc/meminfo + /proc/slabinfo
210 4 - /proc/meminfo + /proc/slabinfo + memstrack summary
211 NOTE: memstrack is a memory tracing tool that tracks the total memory
212 consumption, and peak memory consumption of each kernel modules
213 and userspace progress during the whole initramfs runtime, report
214 is genereted and the end of initramsfs run.
215 5 - /proc/meminfo + /proc/slabinfo + memstrack (with top memory stacktrace)
216 NOTE: memstrack (with top memory stacktrace) will print top memory
217 allocation stack traces during the whole initramfs runtime.
218 ----
219
220 **rd.break**::
221 drop to a shell at the end
222
223 **rd.break=**__{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}__::
224 drop to a shell before the defined breakpoint starts
225
226 **rd.udev.info**::
227 set udev to loglevel info
228
229 **rd.udev.debug**::
230 set udev to loglevel debug
231
232 I18N
233 ~~~~
234 **rd.vconsole.keymap=**__<keymap base file name>__::
235 keyboard translation table loaded by loadkeys; taken from keymaps directory;
236 will be written as KEYMAP to _/etc/vconsole.conf_ in the initramfs.
237 +
238 [listing]
239 .Example
240 --
241 rd.vconsole.keymap=de-latin1-nodeadkeys
242 --
243
244 **rd.vconsole.keymap.ext=**__<list of keymap base file names>__::
245 list of extra keymaps to bo loaded (sep. by space); will be written as
246 EXT_KEYMAP to _/etc/vconsole.conf_ in the initramfs
247
248 **rd.vconsole.unicode**::
249 boolean, indicating UTF-8 mode; will be written as UNICODE to
250 _/etc/vconsole.conf_ in the initramfs
251
252 **rd.vconsole.font=**__<font base file name>__::
253 console font; taken from consolefonts directory; will be written as FONT to
254 _/etc/vconsole.conf_ in the initramfs.
255 +
256 [listing]
257 .Example
258 --
259 rd.vconsole.font=eurlatgr
260 --
261
262 **rd.vconsole.font.map=**__<console map base file name>__::
263 see description of '-m' parameter in setfont manual; taken from consoletrans
264 directory; will be written as FONT_MAP to _/etc/vconsole.conf_ in the
265 initramfs
266
267 **rd.vconsole.font.unimap=**__<unicode table base file name>__::
268 see description of '-u' parameter in setfont manual; taken from unimaps
269 directory; will be written as FONT_UNIMAP to _/etc/vconsole.conf_ in the
270 initramfs
271
272 **rd.locale.LANG=**__<locale>__::
273 taken from the environment; if no UNICODE is defined we set its value in
274 basis of LANG value (whether it ends with ".utf8" (or similar) or not); will
275 be written as LANG to _/etc/locale.conf_ in the initramfs.
276 +
277 [listing]
278 .Example
279 --
280 rd.locale.LANG=pl_PL.utf8
281 --
282
283 **rd.locale.LC_ALL=**__<locale>__::
284 taken from the environment; will be written as LC_ALL to _/etc/locale.conf_
285 in the initramfs
286
287 LVM
288 ~~~
289 **rd.lvm=0**::
290 disable LVM detection
291
292 **rd.lvm.vg=**__<volume group name>__::
293 only activate all logical volumes in the the volume groups with the given name.
294 rd.lvm.vg can be specified multiple times on the kernel command line.
295
296 **rd.lvm.lv=**__<volume group name>/<logical volume name>__::
297 only activate the logical volumes with the given name.
298 rd.lvm.lv can be specified multiple times on the kernel command line.
299
300 **rd.lvm.conf=0**::
301 remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs
302
303 crypto LUKS
304 ~~~~~~~~~~~
305 **rd.luks=0**::
306 disable crypto LUKS detection
307
308 **rd.luks.uuid=**__<luks uuid>__::
309 only activate the LUKS partitions with the given UUID. Any "luks-" of the
310 LUKS UUID is removed before comparing to _<luks uuid>_.
311 The comparisons also matches, if _<luks uuid>_ is only the beginning of the
312 LUKS UUID, so you don't have to specify the full UUID.
313 This parameter can be specified multiple times.
314 _<luks uuid>_ may be prefixed by the keyword `keysource:`, see
315 _rd.luks.key_ below.
316
317 **rd.luks.allow-discards=**__<luks uuid>__::
318 Allow using of discards (TRIM) requests for LUKS partitions with the given
319 UUID. Any "luks-" of the LUKS UUID is removed before comparing to
320 _<luks uuid>_. The comparisons also matches, if _<luks uuid>_ is only the
321 beginning of the LUKS UUID, so you don't have to specify the full UUID.
322 This parameter can be specified multiple times.
323
324 **rd.luks.allow-discards**::
325 Allow using of discards (TRIM) requests on all LUKS partitions.
326
327 **rd.luks.crypttab=0**::
328 do not check, if LUKS partition is in _/etc/crypttab_
329
330 **rd.luks.timeout=**__<seconds>__::
331 specify how long dracut should wait when waiting for the user to enter the
332 password. This avoid blocking the boot if no password is entered. It does
333 not apply to luks key. The default is '0', which means 'forever'.
334
335 crypto LUKS - key on removable device support
336 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
337
338 NB: If systemd is included in the dracut initrd, dracut's built in
339 removable device keying support won't work. systemd will prompt for
340 a password from the console even if you've supplied **rd.luks.key**.
341 You may be able to use standard systemd *fstab*(5) syntax to
342 get the same effect. If you do need **rd.luks.key** to work,
343 you will have to exclude the "systemd" dracut module and any modules
344 that depend on it. See *dracut.conf*(5) and
345 https://bugzilla.redhat.com/show_bug.cgi?id=905683 for more
346 information.
347
348 **rd.luks.key=**_<keypath>[:<keydev>[:<luksdev>]]_::
349 _<keypath>_ is the pathname of a key file, relative to the root
350 of the filesystem on some device. It's REQUIRED. When
351 _<keypath>_ ends with '.gpg' it's considered to be key encrypted
352 symmetrically with GPG. You will be prompted for the GPG password on
353 boot. GPG support comes with the 'crypt-gpg' module, which needs to be
354 added explicitly.
355 +
356 _<keydev>_ identifies the device on which the key file resides. It may
357 be the kernel name of the device (should start with "/dev/"), a UUID
358 (prefixed with "UUID=") or a label (prefix with "LABEL="). You don't
359 have to specify a full UUID. Just its beginning will suffice, even if
360 its ambiguous. All matching devices will be probed. This parameter is
361 recommended, but not required. If it's not present, all block devices will
362 be probed, which may significantly increase boot time.
363 +
364 If _<luksdev>_ is given, the specified key will only be used for
365 the specified LUKS device. Possible values are the same as for
366 _<keydev>_. Unless you have several LUKS devices, you don't have to
367 specify this parameter. The simplest usage is:
368 +
369 [listing]
370 .Example
371 --
372 rd.luks.key=/foo/bar.key
373 --
374 +
375 As you see, you can skip colons in such a case.
376
377 [NOTE]
378 ===============================
379 Your LUKS partition must match your key file.
380
381 dracut provides keys to cryptsetup with _-d_ (an older alias for
382 _--key-file_). This uses the entire binary
383 content of the key file as part of the secret. If
384 you pipe a password into cryptsetup *without* _-d_ or _--key-file_,
385 it will be treated as text user input, and only characters before
386 the first newline will be used. Therefore, when you're creating
387 an encrypted partition for dracut to mount, and you pipe a key into
388 _cryptsetup luksFormat_,you must use _-d -_.
389
390 Here is an example for a key encrypted with GPG (warning:
391 _--batch-mode_ will overwrite the device without asking for
392 confirmation):
393
394 [listing]
395 --
396 gpg --quiet --decrypt rootkey.gpg | \
397 cryptsetup --batch-mode --key-file - \
398 luksFormat /dev/sda47
399 --
400
401 If you use unencrypted key files, just use the key file pathname
402 instead of the standard input. For a random key with 256 bits of
403 entropy, you might use:
404
405 [listing]
406 --
407 head -32c /dev/urandom > rootkey.key
408 cryptsetup --batch-mode --key-file rootkey.key \
409 luksFormat /dev/sda47
410 --
411
412 You can also use regular key files on an encrypted _keydev_.
413
414 Compared to using GPG encrypted keyfiles on an unencrypted
415 device this provides the following advantages:
416
417 - you can unlock your disk(s) using multiple passphrases
418 - better security by not loosing the key stretching mechanism
419
420 To use an encrypted _keydev_ you *must* ensure that it becomes
421 available by using the keyword `keysource`, e.g.
422 `rd.luks.uuid=keysource:aaaa`
423 _aaaa_ being the uuid of the encrypted _keydev_.
424
425 Example:
426
427 Lets assume you have three disks _A_, _B_ and _C_ with the uuids
428 _aaaa_, _bbbb_ and _cccc_. +
429 You want to unlock _A_ and _B_ using keyfile _keyfile_. +
430 The unlocked volumes be _A'_, _B'_ and _C'_ with the uuids
431 _AAAA_, _BBBB_ and _CCCC_. +
432 _keyfile_ is saved on _C'_ as _/keyfile_.
433
434 One luks keyslot of each _A_, _B_ and _C_ is setup with a
435 passphrase. +
436 Another luks keyslot of each _A_ and _B_ is setup with _keyfile_.
437
438 To boot this configuration you could use:
439 [listing]
440 --
441 rd.luks.uuid=aaaa
442 rd.luks.uuid=bbbb
443 rd.luks.uuid=keysource:cccc
444 rd.luks.key=/keyfile:UUID=CCCC
445 --
446 Dracut asks for the passphrase for _C_ and uses the
447 keyfile to unlock _A_ and _B_. +
448 If getting the passphrase for _C_ fails it falls back to
449 asking for the passphrases for _A_ and _B_.
450
451 If you want _C'_ to stay unlocked, specify a luks name for
452 it, e.g. `rd.luks.name=cccc=mykeys`, otherwise it gets closed
453 when not needed anymore.
454 ===============================
455
456 **rd.luks.key.tout=0**::
457 specify how many times dracut will try to read the keys specified in in
458 rd.luk.key. This gives a chance to the removable device containing the key
459 to initialise.
460
461 MD RAID
462 ~~~~~~~
463 **rd.md=0**::
464 disable MD RAID detection
465
466 **rd.md.imsm=0**::
467 disable MD RAID for imsm/isw raids, use DM RAID instead
468
469 **rd.md.ddf=0**::
470 disable MD RAID for SNIA ddf raids, use DM RAID instead
471
472 **rd.md.conf=0**::
473 ignore mdadm.conf included in initramfs
474
475 **rd.md.waitclean=1**::
476 wait for any resync, recovery, or reshape activity to finish before
477 continuing
478
479 **rd.md.uuid=**__<md raid uuid>__::
480 only activate the raid sets with the given UUID. This parameter can be
481 specified multiple times.
482
483 DM RAID
484 ~~~~~~~
485 **rd.dm=0**::
486 disable DM RAID detection
487
488 **rd.dm.uuid=**__<dm raid uuid>__::
489 only activate the raid sets with the given UUID. This parameter can be
490 specified multiple times.
491
492 MULTIPATH
493 ~~~~~~~~~
494 **rd.multipath=0**::
495 disable multipath detection
496
497 **rd.multipath=default**::
498 use default multipath settings
499
500 FIPS
501 ~~~~
502 **rd.fips**::
503 enable FIPS
504
505 **boot=**__<boot device>__::
506 specify the device, where /boot is located.
507 +
508 [listing]
509 .Example
510 --
511 boot=/dev/sda1
512 boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
513 boot=UUID=<uuid>
514 boot=LABEL=<label>
515 --
516
517 **rd.fips.skipkernel**::
518 skip checksum check of the kernel image. Useful, if the kernel image is not
519 in a separate boot partition.
520
521 Network
522 ~~~~~~~
523
524 [IMPORTANT]
525 =====================
526 It is recommended to either bind an interface to a MAC with the **ifname**
527 argument, or to use the systemd-udevd predictable network interface names.
528
529 Predictable network interface device names based on:
530
531 - firmware/bios-provided index numbers for on-board devices
532 - firmware-provided pci-express hotplug slot index number
533 - physical/geographical location of the hardware
534 - the interface's MAC address
535
536 See:
537 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
538
539 Two character prefixes based on the type of interface:
540
541 en:: ethernet
542 wl:: wlan
543 ww:: wwan
544
545 Type of names:
546
547 o<index>:: on-board device index number
548 s<slot>[f<function>][d<dev_id>]:: hotplug slot index number
549 x<MAC>:: MAC address
550 [P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]:: PCI geographical location
551 [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]:: USB port number chain
552
553 All multi-function PCI devices will carry the [f<function>] number in the
554 device name, including the function 0 device.
555
556 When using PCI geography, The PCI domain is only prepended when it is not 0.
557
558 For USB devices the full chain of port numbers of hubs is composed. If the
559 name gets longer than the maximum number of 15 characters, the name is not
560 exported.
561 The usual USB configuration == 1 and interface == 0 values are suppressed.
562
563 PCI ethernet card with firmware index "1"::
564 * eno1
565
566 PCI ethernet card in hotplug slot with firmware index number::
567 * ens1
568
569 PCI ethernet multi-function card with 2 ports::
570 * enp2s0f0
571 * enp2s0f1
572
573 PCI wlan card::
574 * wlp3s0
575
576 USB built-in 3G modem::
577 * wwp0s29u1u4i6
578
579 USB Android phone::
580 * enp0s29u1u2
581 =====================
582
583 The following options are supported by the 'network-legacy' dracut
584 module. Other network modules might support a slightly different set of
585 options; refer to the documentation of the specific network module in use. For
586 NetworkManager, see *nm-initrd-generator*(8).
587
588 **ip=**__{dhcp|on|any|dhcp6|auto6|either6|link6|single-dhcp}__::
589 dhcp|on|any::: get ip from dhcp server from all interfaces. If netroot=dhcp,
590 loop sequentially through all interfaces (eth0, eth1, ...) and use the first
591 with a valid DHCP root-path.
592
593 single-dhcp::: Send DHCP on all available interfaces in parallel, as
594 opposed to one after another. After the first DHCP response is received,
595 stop DHCP on all other interfaces. This gives the fastest boot time by
596 using the IP on interface for which DHCP succeeded first during early boot.
597 Caveat: Does not apply to Network Manager.
598
599 auto6::: IPv6 autoconfiguration
600
601 dhcp6::: IPv6 DHCP
602
603 either6::: if auto6 fails, then dhcp6
604
605 link6::: bring up interface for IPv6 link-local addressing
606
607 **ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6|link6}__[:[__<mtu>__][:__<macaddr>__]]::
608 This parameter can be specified multiple times.
609 +
610 =====================
611 dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface
612 auto6::: do IPv6 autoconfiguration
613 link6::: bring up interface for IPv6 link local address
614 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
615 cannot be used in conjunction with the **ifname** argument for the
616 same <interface>.
617 =====================
618
619 **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<mtu>__][:__<macaddr>__]]::
620 explicit network configuration. If you want do define a IPv6 address, put it
621 in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
622 times. __<peer>__ is optional and is the address of the remote endpoint
623 for pointopoint interfaces and it may be followed by a slash and a decimal
624 number, encoding the network prefix length.
625 +
626 =====================
627 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
628 cannot be used in conjunction with the **ifname** argument for the
629 same <interface>.
630 =====================
631
632 **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]::
633 explicit network configuration. If you want do define a IPv6 address, put it
634 in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
635 times. __<peer>__ is optional and is the address of the remote endpoint
636 for pointopoint interfaces and it may be followed by a slash and a decimal
637 number, encoding the network prefix length.
638
639 **ifname=**__<interface>__:__<MAC>__::
640 Assign network device name <interface> (i.e. "bootnet") to the NIC with
641 MAC <MAC>.
642 +
643 WARNING: Do **not** use the default kernel naming scheme for the interface name,
644 as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the
645 interface name. Better name it "bootnet" or "bluesocket".
646
647 **rd.route=**__<net>__/__<netmask>__:__<gateway>__[:__<interface>__]::
648 Add a static route with route options, which are separated by a colon.
649 IPv6 addresses have to be put in brackets.
650 +
651 [listing]
652 .Example
653 --
654 rd.route=192.168.200.0/24:192.168.100.222:ens10
655 rd.route=192.168.200.0/24:192.168.100.222
656 rd.route=192.168.200.0/24::ens10
657 rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10
658 --
659
660 **bootdev=**__<interface>__::
661 specify network interface to use routing and netroot information from.
662 Required if multiple ip= lines are used.
663
664 **BOOTIF=**__<MAC>__::
665 specify network interface to use routing and netroot information from.
666
667 **rd.bootif=0**::
668 Disable BOOTIF parsing, which is provided by PXE
669
670 **nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]::
671 specify nameserver(s) to use
672
673 **rd.peerdns=0**::
674 Disable DNS setting of DHCP parameters.
675
676 **biosdevname=0**::
677 boolean, turn off biosdevname network interface renaming
678
679 **rd.neednet=1**::
680 boolean, bring up network even without netroot set
681
682 **vlan=**__<vlanname>__:__<phydevice>__::
683 Setup vlan device named <vlanname> on <phydevice>.
684 We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005),
685 VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005),
686 DEV_PLUS_VID_NO_PAD (eth0.5)
687
688 **bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__[:<mtu>]]]::
689 Setup bonding device <bondname> on top of <bondslaves>.
690 <bondslaves> is a comma-separated list of physical (ethernet) interfaces.
691 <options> is a comma-separated list on bonding options (modinfo bonding for
692 details) in format compatible with initscripts. If <options> includes
693 multi-valued arp_ip_target option, then its values should be separated by
694 semicolon. if the mtu is specified, it will be set on the bond master.
695 Bond without parameters assumes
696 bond=bond0:eth0,eth1:mode=balance-rr
697
698 **team=**__<teammaster>__:__<teamslaves>__[:__<teamrunner>__]::
699 Setup team device <teammaster> on top of <teamslaves>.
700 <teamslaves> is a comma-separated list of physical (ethernet) interfaces.
701 <teamrunner> is the runner type to be used (see *teamd.conf*(5)); defaults to
702 activebackup.
703 Team without parameters assumes
704 team=team0:eth0,eth1:activebackup
705
706 **bridge=**__<bridgename>__:__<ethnames>__::
707 Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated
708 list of physical (ethernet) interfaces. Bridge without parameters assumes
709 bridge=br0:eth0
710
711 NFS
712 ~~~
713 **root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
714 mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
715 dhcp next_server. If server-ip is an IPv6 address it has to be put in
716 brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
717 ":" or "," and are separated by ",".
718
719 **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
720 netroot=dhcp alone directs initrd to look at the DHCP root-path where NFS
721 options can be specified.
722 +
723 [listing]
724 .Example
725 --
726 root-path=<server-ip>:<root-dir>[,<nfs-options>]
727 root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
728 root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>]
729 --
730
731 **root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
732 _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this
733 method. This is supported by dracut, but not recommended.
734
735 **rd.nfs.domain=**__<NFSv4 domain name>__::
736 Set the NFSv4 domain name. Will override the settings in _/etc/idmap.conf_.
737
738 **rd.net.dhcp.retry=**__<cnt>__::
739 If this option is set, dracut will try to connect via dhcp <cnt> times before failing.
740 Default is 1.
741
742 **rd.net.timeout.dhcp=**__<arg>__::
743 If this option is set, dhclient is called with "--timeout <arg>".
744
745 **rd.net.timeout.iflink=**__<seconds>__::
746 Wait <seconds> until link shows up. Default is 60 seconds.
747
748 **rd.net.timeout.ifup=**__<seconds>__::
749 Wait <seconds> until link has state "UP". Default is 20 seconds.
750
751 **rd.net.timeout.route=**__<seconds>__::
752 Wait <seconds> until route shows up. Default is 20 seconds.
753
754 **rd.net.timeout.ipv6dad=**__<seconds>__::
755 Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds.
756
757 **rd.net.timeout.ipv6auto=**__<seconds>__::
758 Wait <seconds> until IPv6 automatic addresses are assigned. Default is 40 seconds.
759
760 **rd.net.timeout.carrier=**__<seconds>__::
761 Wait <seconds> until carrier is recognized. Default is 10 seconds.
762
763 CIFS
764 ~~~
765 **root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__::
766 mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
767 dhcp next_server. if server-ip is an IPv6 address it has to be put in
768 brackets, e.g. [2001:DB8::1]. If a username or password are not specified
769 as part of the root, then they must be passed on the command line through
770 cifsuser/cifspass.
771 +
772 WARNING: Passwords specified on the kernel command line are visible for all
773 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
774 network, when using DHCP with DHCP root-path.
775
776 **cifsuser**=__<username>__::
777 Set the cifs username, if not specified as part of the root.
778
779 **cifspass**=__<password>__::
780 Set the cifs password, if not specified as part of the root.
781 +
782 WARNING: Passwords specified on the kernel command line are visible for all
783 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
784 network, when using DHCP with DHCP root-path.
785
786 iSCSI
787 ~~~~~
788 **root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__::
789 protocol defaults to "6", LUN defaults to "0". If the "servername" field is
790 provided by BOOTP or DHCP, then that field is used in conjunction with other
791 associated fields to contact the boot server in the Boot stage. However, if
792 the "servername" field is not provided, then the "targetname" field is then
793 used in the Discovery Service stage in conjunction with other associated
794 fields. See
795 link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173].
796 +
797 WARNING: Passwords specified on the kernel command line are visible for all
798 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
799 network, when using DHCP with DHCP root-path.
800 +
801 [listing]
802 .Example
803 --
804 root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
805 --
806 +
807 If servername is an IPv6 address, it has to be put in brackets:
808 +
809 [listing]
810 .Example
811 --
812 root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
813 --
814
815 **root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...::
816 multiple netroot options allow setting up multiple iscsi disks:
817 +
818 [listing]
819 .Example
820 --
821 root=UUID=12424547
822 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
823 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1
824 --
825 +
826 If servername is an IPv6 address, it has to be put in brackets:
827 +
828 [listing]
829 .Example
830 --
831 netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
832 --
833 +
834 WARNING: Passwords specified on the kernel command line are visible for all
835 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
836 network, when using DHCP with DHCP root-path.
837 You may want to use rd.iscsi.firmware.
838
839 **root=**__???__ **rd.iscsi.initiator=**__<initiator>__ **rd.iscsi.target.name=**__<target name>__ **rd.iscsi.target.ip=**__<target ip>__ **rd.iscsi.target.port=**__<target port>__ **rd.iscsi.target.group=**__<target group>__ **rd.iscsi.username=**__<username>__ **rd.iscsi.password=**__<password>__ **rd.iscsi.in.username=**__<in username>__ **rd.iscsi.in.password=**__<in password>__::
840 manually specify all iscsistart parameter (see **+iscsistart --help+**)
841 +
842 WARNING: Passwords specified on the kernel command line are visible for all
843 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
844 network, when using DHCP with DHCP root-path.
845 You may want to use rd.iscsi.firmware.
846
847 **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
848 will read the iscsi parameter from the BIOS firmware
849
850 **rd.iscsi.login_retry_max=**__<num>__::
851 maximum number of login retries
852
853 **rd.iscsi.param=**__<param>__::
854 <param> will be passed as "--param <param>" to iscsistart.
855 This parameter can be specified multiple times.
856 +
857 [listing]
858 .Example
859 --
860 "netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30"
861 --
862 +
863 will result in
864 +
865 [listing]
866 --
867 iscsistart -b --param node.session.timeo.replacement_timeout=30
868 --
869
870 **rd.iscsi.ibft** **rd.iscsi.ibft=1**:
871 Turn on iBFT autoconfiguration for the interfaces
872
873 **rd.iscsi.mp** **rd.iscsi.mp=1**:
874 Configure all iBFT interfaces, not only used for booting (multipath)
875
876 **rd.iscsi.waitnet=0**:
877 Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets.
878
879 **rd.iscsi.testroute=0**:
880 Turn off checking, if the route to the iSCSI target IP is possible before trying to login.
881
882 FCoE
883 ~~~~
884 **rd.fcoe=0**::
885 disable FCoE and lldpad
886
887 **fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:__{fabric|vn2vn}__::
888 Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
889 _<MAC>_ or EDD settings. The second argument specifies if DCB
890 should be used. The optional third argument specifies whether
891 fabric or VN2VN mode should be used.
892 This parameter can be specified multiple times.
893 +
894 NOTE: letters in the MAC-address must be lowercase!
895
896 NVMf
897 ~~~~
898 **rd.nonvmf**::
899 Disable NVMf
900
901 **rd.nvmf.nonbft**::
902 Disable connecting to targets from the NVMe Boot Firmware Table. Without
903 this parameter, NBFT connections will take precedence over _rd.nvmf.discover_.
904
905 **rd.nvmf.nostatic**::
906 Disable connecting to targets that have been statically configured when
907 the initramfs was built. Targets specified with rd.nvmf.discover on the
908 kernel command line will still be tried.
909
910 **rd.nvmf.hostnqn=**__<hostNQN>__::
911 NVMe host NQN to use
912
913 **rd.nvmf.hostid=**__<hostID>__::
914 NVMe host id to use
915
916 **rd.nvmf.discover=**__{rdma|fc|tcp}__,__<traddr>__,[__<host_traddr>__],[__<trsvcid>__]::
917 Discover and connect to a NVMe-over-Fabric controller specified by
918 _<traddr>_ and the optionally _<host_traddr>_ or _<trsvcid>_.
919 The first argument specifies the transport to use; currently only
920 'rdma', 'fc', or 'tcp' are supported.
921 This parameter can be specified multiple times.
922 +
923 [listing]
924 .Examples
925 --
926 rd.nvmf.discover=tcp,192.168.10.10,,4420
927 rd.nvmf.discover=fc,nn-0x201700a05634f5bf:pn-0x201900a05634f5bf,nn-0x200000109b579ef3:pn-0x100000109b579ef3
928 --
929
930 **rd.nvmf.discover=fc,auto**::
931 This special syntax determines that Fibre Channel autodiscovery
932 is to be used rather than regular NVMe discovery. It takes precedence
933 over all other _rd.nvmf.discover=_ arguments.
934
935 NBD
936 ~~~
937 **root=**??? **netroot=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
938 mount nbd share from <server>.
939 +
940 NOTE:
941 If "exportname" instead of "port" is given the standard port is used.
942 Newer versions of nbd are only supported with "exportname".
943
944 **root=/dev/root netroot=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
945 netroot=dhcp alone directs initrd to look at the DHCP root-path where NBD
946 options can be specified. This syntax is only usable in cases where you are
947 directly mounting the volume as the rootfs.
948 +
949 NOTE:
950 If "exportname" instead of "port" is given the standard port is used.
951 Newer versions of nbd are only supported with "exportname".
952
953 VIRTIOFS
954 ~~~~~~~~
955 **root=**virtiofs:__<mount-tag>__::
956 mount virtiofs share using the tag <mount-tag>.
957 The tag name is arbitrary and must match the tag given in the qemu '-device' command.
958
959 **rootfstype=**virtiofs **root=**__<mount-tag>__::
960 mount virtiofs share using the tag <mount-tag>.
961 The tag name is arbitrary and must match the tag given in the qemu '-device' command.
962
963 Both formats are supported by the 'virtiofs' dracut module.
964 See https://gitlab.com/virtio-fs/virtiofsd for more information.
965
966 [listing]
967 .Example
968 --
969 root=virtiofs:host rw
970 --
971
972 DASD
973 ~~~~
974 **rd.dasd=**....::
975 same syntax as the kernel module parameter (s390 only)
976
977 ZFCP
978 ~~~~
979 **rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
980 rd.zfcp can be specified multiple times on the kernel command
981 line.
982
983 **rd.zfcp=**__<zfcp adaptor device bus ID>__::
984 If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
985 module is set to 'Y' then the zfcp adaptor will be initiating a
986 scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
987 +
988 [listing]
989 .Example
990 --
991 rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
992 rd.zfcp=0.0.4000
993 --
994
995 **rd.zfcp.conf=0**::
996 ignore zfcp.conf included in the initramfs
997
998 ZNET
999 ~~~~
1000 **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
1001 The whole parameter is appended to /etc/ccw.conf, which is used on
1002 RHEL/Fedora with ccw_init, which is called from udev for certain
1003 devices on z-series.
1004 rd.znet can be specified multiple times on the kernel command line.
1005
1006 **rd.znet_ifname=**__<ifname>__:__<subchannels>__::
1007 Assign network device name <interface> (i.e. "bootnet") to the NIC
1008 corresponds to the subchannels. This is useful when dracut's default
1009 "ifname=" doesn't work due to device having a changing MAC address.
1010 +
1011 [listing]
1012 .Example
1013 --
1014 rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
1015 rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
1016 --
1017
1018 Booting live images
1019 ~~~~~~~~~~~~~~~~~~~
1020 Dracut offers multiple options for live booted images:
1021
1022 =====================
1023 SquashFS with read-only filesystem image::: The system will boot with a
1024 read-only filesystem from the SquashFS and apply a writable Device-mapper
1025 snapshot or an OverlayFS overlay mount for the read-only base filesystem. This
1026 method ensures a relatively fast boot and lower RAM usage. Users **must be
1027 careful** to avoid writing too many blocks to a snapshot volume. Once the
1028 blocks of the snapshot overlay are exhausted, the root filesystem becomes
1029 read-only and may cause application failures. The snapshot overlay file is
1030 marked 'Overflow', and a difficult recovery is required to repair and enlarge
1031 the overlay offline. Non-persistent overlays are sparse files in RAM that only
1032 consume content space as required blocks are allocated. They default to an
1033 apparent size of 32 GiB in RAM. The size can be adjusted with the
1034 **rd.live.overlay.size=** kernel command line option.
1035 +
1036 The filesystem structure is traditionally expected to be:
1037 +
1038 [listing]
1039 --
1040 squashfs.img | SquashFS from LiveCD .iso
1041 !(mount)
1042 /LiveOS
1043 |- rootfs.img | Filesystem image to mount read-only
1044 !(mount)
1045 /bin | Live filesystem
1046 /boot |
1047 /dev |
1048 ... |
1049 --
1050 +
1051 For OverlayFS mount overlays, the filesystem structure may also be a direct
1052 compression of the root filesystem:
1053 +
1054 [listing]
1055 --
1056 squashfs.img | SquashFS from LiveCD .iso
1057 !(mount)
1058 /bin | Live filesystem
1059 /boot |
1060 /dev |
1061 ... |
1062 --
1063 +
1064 Dracut uses one of the overlay methods of live booting by default. No
1065 additional command line options are required other than **root=live:<URL>** to
1066 specify the location of your squashed filesystem.
1067 +
1068 - The compressed SquashFS image can be copied during boot to RAM at
1069 `/run/initramfs/squashed.img` by using the **rd.live.ram=1** option.
1070 - A device with a persistent overlay can be booted read-only by using the
1071 **rd.live.overlay.readonly** option on the kernel command line. This will
1072 either cause a temporary, writable overlay to be stacked over a read-only
1073 snapshot of the root filesystem or the OverlayFS mount will use an additional
1074 lower layer with the root filesystem.
1075 +
1076 Uncompressed live filesystem image:::
1077 When the live system was installed with the '--skipcompress' option of the
1078 __livecd-iso-to-disk__ installation script for Live USB devices, the root
1079 filesystem image, __rootfs.img__, is expanded on installation and no SquashFS
1080 is involved during boot.
1081 +
1082 - If **rd.live.ram=1** is used in this situation, the full, uncompressed
1083 root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the
1084 `/run` tmpfs.
1085 +
1086 - If **rd.live.overlay=none** is provided as a kernel command line option,
1087 a writable, linear Device-mapper target is created on boot with no overlay.
1088
1089 Writable filesystem image:::
1090 The system will retrieve a compressed filesystem image, extract it to
1091 `/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a
1092 writable, linear Device-mapper target at `/dev/mapper/live-rw`, and mount that
1093 as a writable volume at `/`. More RAM is required during boot but the live
1094 filesystem is easier to manage if it becomes full. Users can make a filesystem
1095 image of any size and that size will be maintained when the system boots. There
1096 is no persistence of root filesystem changes between boots with this option.
1097 +
1098 The filesystem structure is expected to be:
1099 +
1100 [listing]
1101 --
1102 rootfs.tgz | Compressed tarball containing filesystem image
1103 !(unpack)
1104 /rootfs.img | Filesystem image at /run/initramfs/fsimg/
1105 !(mount)
1106 /bin | Live filesystem
1107 /boot |
1108 /dev |
1109 ... |
1110 --
1111 +
1112 To use this boot option, ensure that **rd.writable.fsimg=1** is in your kernel
1113 command line and add the **root=live:<URL>** to specify the location
1114 of your compressed filesystem image tarball or SquashFS image.
1115 =====================
1116
1117 **rd.writable.fsimg=**1::
1118 Enables writable filesystem support. The system will boot with a fully
1119 writable (but non-persistent) filesystem without snapshots __(see notes above
1120 about available live boot options)__. You can use the **rootflags** option to
1121 set mount options for the live filesystem as well __(see documentation about
1122 rootflags in the **Standard** section above)__.
1123 This implies that the whole image is copied to RAM before the boot continues.
1124 +
1125 NOTE: There must be enough free RAM available to hold the complete image.
1126 +
1127 This method is very suitable for diskless boots.
1128
1129 **root=**live:__<url>__::
1130 Boots a live image retrieved from __<url>__. Requires the dracut 'livenet'
1131 module. Valid handlers: __http, https, ftp, torrent, tftp__.
1132 +
1133 [listing]
1134 .Examples
1135 --
1136 root=live:http://example.com/liveboot.img
1137 root=live:ftp://ftp.example.com/liveboot.img
1138 root=live:torrent://example.com/liveboot.img.torrent
1139 --
1140
1141 **rd.live.debug=**1::
1142 Enables debug output from the live boot process.
1143
1144 **rd.live.dir=**__<path>__::
1145 Specifies the directory within the boot device where the squashfs.img or
1146 rootfs.img can be found. By default, this is `/LiveOS`.
1147
1148 **rd.live.squashimg=**__<filename of SquashFS image>__::
1149 Specifies the filename for a SquashFS image of the root filesystem.
1150 By default, this is __squashfs.img__.
1151
1152 **rd.live.ram=**1::
1153 Copy the complete image to RAM and use this for booting. This is useful
1154 when the image resides on, e.g., a DVD which needs to be ejected later on.
1155
1156 **rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
1157 Manage the usage of a permanent overlay.
1158 +
1159 --
1160 * _<devspec>_ specifies the path to a device with a mountable filesystem.
1161 * _<pathspec>_ is the path to a file within that filesystem, which shall be
1162 used to persist the changes made to the device specified by the
1163 **root=live:__<url>__** option.
1164 +
1165 The default _pathspec_, when _auto_ or no _:<pathspec>_ is given, is
1166 `/<rd.live.dir>/overlay-<label>-<uuid>`, where _<label>_ is the
1167 device LABEL, and _<uuid>_ is the device UUID.
1168 * _none_ (the word itself) specifies that no overlay will be used, such as when
1169 an uncompressed, writable live root filesystem is available.
1170 +
1171 If a persistent overlay __is detected__ at the standard LiveOS path, the
1172 overlay & overlay type detected, whether Device-mapper or OverlayFS, will be
1173 used.
1174 --
1175 +
1176 [listing]
1177 .Examples
1178 --
1179 rd.live.overlay=/dev/sdb1:persistent-overlay.img
1180 rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4
1181 --
1182
1183 **rd.live.overlay.cowfs=**__[btrfs|ext4|xfs]__::
1184 Specifies the filesystem to use when formatting the overlay partition.
1185 The default is ext4.
1186
1187 **rd.live.overlay.size=**__<size_MiB>__::
1188 Specifies a non-persistent Device-mapper overlay size in MiB. The default is
1189 _32768_.
1190
1191 **rd.live.overlay.readonly=**1::
1192 This is used to boot with a normally read-write persistent overlay in a
1193 read-only mode. With this option, either an additional, non-persistent,
1194 writable snapshot overlay will be stacked over a read-only snapshot,
1195 `/dev/mapper/live‑ro`, of the base filesystem with the persistent overlay, or a
1196 read-only loop device, in the case of a writable __rootfs.img__, or an OverlayFS
1197 mount will use the persistent overlay directory linked at `/run/overlayfs‑r` as
1198 an additional lower layer along with the base root filesystem and apply a
1199 transient, writable upper directory overlay, in order to complete the booted
1200 root filesystem.
1201
1202 **rd.live.overlay.reset=**1::
1203 Specifies that a persistent overlay should be reset on boot. All previous root
1204 filesystem changes are vacated by this action.
1205
1206 **rd.live.overlay.thin=**1::
1207 Enables the usage of thin snapshots instead of classic dm snapshots.
1208 The advantage of thin snapshots is that they support discards, and will free
1209 blocks that are not claimed by the filesystem. In this use case, this means
1210 that memory is given back to the kernel when the filesystem does not claim it
1211 anymore.
1212
1213 **rd.live.overlay.overlayfs=**1::
1214 Enables the use of the *OverlayFS* kernel module, if available, to provide a
1215 copy-on-write union directory for the root filesystem. OverlayFS overlays are
1216 directories of the files that have changed on the read-only base (lower)
1217 filesystem. The root filesystem is provided through a special overlay type
1218 mount that merges the lower and upper directories. If an OverlayFS upper
1219 directory is not present on the boot device, a tmpfs directory will be created
1220 at `/run/overlayfs` to provide temporary storage. Persistent storage can be
1221 provided on vfat or msdos formatted devices by supplying the OverlayFS upper
1222 directory within an embedded filesystem that supports the creation of trusted.*
1223 extended attributes and provides a valid d_type in readdir responses, such as
1224 with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
1225 overlay can extend the available root filesystem storage up to the capacity of
1226 the LiveOS disk device.
1227 +
1228 If a persistent overlay is detected at the standard LiveOS path, the overlay &
1229 overlay type detected, whether OverlayFS or Device-mapper, will be used.
1230 +
1231 The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
1232 be mounted read-only through a higher level transient overlay directory, has
1233 been implemented through the multiple lower layers feature of OverlayFS.
1234
1235
1236 ZIPL
1237 ~~~~
1238 **rd.zipl=**__<path to blockdevice>__::
1239 Update the dracut commandline with the values found in the
1240 _dracut-cmdline.conf_ file on the given device.
1241 The values are merged into the existing commandline values
1242 and the udev events are regenerated.
1243 +
1244 [listing]
1245 .Example
1246 --
1247 rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
1248 --
1249
1250 CIO_IGNORE
1251 ~~~~~~~~~~
1252 **rd.cio_accept=**__<device-ids>__::
1253 Remove the devices listed in <device-ids> from the default
1254 cio_ignore kernel command-line settings.
1255 <device-ids> is a list of comma-separated CCW device ids.
1256 The default for this value is taken from the
1257 _/boot/zipl/active_devices.txt_ file.
1258 +
1259 [listing]
1260 .Example
1261 --
1262 rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
1263 --
1264
1265 Plymouth Boot Splash
1266 ~~~~~~~~~~~~~~~~~~~~
1267 **plymouth.enable=0**::
1268 disable the plymouth bootsplash completely.
1269
1270 **rd.plymouth=0**::
1271 disable the plymouth bootsplash only for the initramfs.
1272
1273 Kernel keys
1274 ~~~~~~~~~~~
1275 **masterkey=**__<kernel master key path name>__::
1276 Set the path name of the kernel master key.
1277 +
1278 [listing]
1279 .Example
1280 --
1281 masterkey=/etc/keys/kmk-trusted.blob
1282 --
1283
1284 **masterkeytype=**__<kernel master key type>__::
1285 Set the type of the kernel master key.
1286 +
1287 [listing]
1288 .Example
1289 --
1290 masterkeytype=trusted
1291 --
1292
1293 **evmkey=**__<EVM HMAC key path name>__::
1294 Set the path name of the EVM HMAC key.
1295 +
1296 [listing]
1297 .Example
1298 --
1299 evmkey=/etc/keys/evm-trusted.blob
1300 --
1301
1302 **evmx509=**__<EVM X.509 cert path name>__::
1303 Set the path name of the EVM X.509 certificate.
1304 +
1305 [listing]
1306 .Example
1307 --
1308 evmx509=/etc/keys/x509_evm.der
1309 --
1310
1311 **ecryptfskey=**__<eCryptfs key path name>__::
1312 Set the path name of the eCryptfs key.
1313 +
1314 [listing]
1315 .Example
1316 --
1317 ecryptfskey=/etc/keys/ecryptfs-trusted.blob
1318 --
1319
1320 Deprecated, renamed Options
1321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
1322 Here is a list of options, which were used in dracut prior to version 008, and
1323 their new replacement.
1324
1325 rdbreak:: rd.break
1326
1327 rd.ccw:: rd.znet
1328 rd_CCW:: rd.znet
1329
1330 rd_DASD_MOD:: rd.dasd
1331
1332 rd_DASD:: rd.dasd
1333
1334 rdinitdebug rdnetdebug:: rd.debug
1335
1336 rd_NO_DM:: rd.dm=0
1337
1338 rd_DM_UUID:: rd.dm.uuid
1339
1340 rdblacklist:: rd.driver.blacklist
1341
1342 rdinsmodpost:: rd.driver.post
1343
1344 rdloaddriver:: rd.driver.pre
1345
1346 rd_NO_FSTAB:: rd.fstab=0
1347
1348 rdinfo:: rd.info
1349
1350 check:: rd.live.check
1351
1352 rdlivedebug:: rd.live.debug
1353
1354 live_dir:: rd.live.dir
1355
1356 liveimg:: rd.live.image
1357
1358 overlay:: rd.live.overlay
1359
1360 readonly_overlay:: rd.live.overlay.readonly
1361
1362 reset_overlay:: rd.live.overlay.reset
1363
1364 live_ram:: rd.live.ram
1365
1366 rd_NO_CRYPTTAB:: rd.luks.crypttab=0
1367
1368 rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid
1369
1370 rd_LUKS_KEYPATH:: rd.luks.keypath
1371
1372 rd_NO_LUKS:: rd.luks=0
1373
1374 rd_LUKS_UUID:: rd.luks.uuid
1375
1376 rd_NO_LVMCONF:: rd.lvm.conf
1377
1378 rd_LVM_LV:: rd.lvm.lv
1379
1380 rd_NO_LVM:: rd.lvm=0
1381
1382 rd_LVM_VG:: rd.lvm.vg
1383
1384 rd_NO_MDADMCONF:: rd.md.conf=0
1385
1386 rd_NO_MDIMSM:: rd.md.imsm=0
1387
1388 rd_NO_MD:: rd.md=0
1389
1390 rd_MD_UUID:: rd.md.uuid
1391
1392 rd_NO_MULTIPATH: rd.multipath=0
1393
1394 rd_NFS_DOMAIN:: rd.nfs.domain
1395
1396 iscsi_initiator:: rd.iscsi.initiator
1397
1398 iscsi_target_name:: rd.iscsi.target.name
1399
1400 iscsi_target_ip:: rd.iscsi.target.ip
1401
1402 iscsi_target_port:: rd.iscsi.target.port
1403
1404 iscsi_target_group:: rd.iscsi.target.group
1405
1406 iscsi_username:: rd.iscsi.username
1407
1408 iscsi_password:: rd.iscsi.password
1409
1410 iscsi_in_username:: rd.iscsi.in.username
1411
1412 iscsi_in_password:: rd.iscsi.in.password
1413
1414 iscsi_firmware:: rd.iscsi.firmware=0
1415
1416 rd_NO_PLYMOUTH:: rd.plymouth=0
1417
1418 rd_retry:: rd.retry
1419
1420 rdshell:: rd.shell
1421
1422 rd_NO_SPLASH:: rd.splash
1423
1424 rdudevdebug:: rd.udev.debug
1425
1426 rdudevinfo:: rd.udev.info
1427
1428 rd_NO_ZFCPCONF:: rd.zfcp.conf=0
1429
1430 rd_ZFCP:: rd.zfcp
1431
1432 rd_ZNET:: rd.znet
1433
1434 KEYMAP:: vconsole.keymap
1435
1436 KEYTABLE:: vconsole.keymap
1437
1438 SYSFONT:: vconsole.font
1439
1440 CONTRANS:: vconsole.font.map
1441
1442 UNIMAP:: vconsole.font.unimap
1443
1444 UNICODE:: vconsole.unicode
1445
1446 EXT_KEYMAP:: vconsole.keymap.ext
1447
1448 Configuration in the Initramfs
1449 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1450 _/etc/conf.d/_::
1451 Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
1452 set initial values. Command line options will override these values
1453 set in the configuration files.
1454
1455 _/etc/cmdline_::
1456 Can contain additional command line options. Deprecated, better use
1457 /etc/cmdline.d/*.conf.
1458
1459 _/etc/cmdline.d/*.conf_::
1460 Can contain additional command line options.
1461
1462 AUTHOR
1463 ------
1464 Harald Hoyer
1465
1466 SEE ALSO
1467 --------
1468 *dracut*(8) *dracut.conf*(5)