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