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