6 :man version: {version}
10 dracut.cmdline - dracut kernel command line options
14 The root device used by the kernel is specified in the boot configuration
15 file on the kernel command line, as always.
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.
24 In the following all kernel command line parameters, which are processed by
25 dracut, are described.
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.
35 **init=**__<path to real init>__::
36 specify the path to the init program to be started after the initramfs has
39 **root=**__<path to blockdevice>__::
40 specify the block device to use as the root filesystem.
46 root=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
47 root=/dev/disk/by-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
54 **rootfstype=**__<filesystem type>__:: "auto" if not specified.
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
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_.
72 force mounting _/_ and _/usr_ (if it is a separate device) read-write.
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.
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.
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.
91 prompts the user for additional kernel command line parameters
94 do not honor special mount options for the root filesystem found in
95 _/etc/fstab_ of the real root.
97 **resume=**__<path to resume partition>__::
98 resume from a swap partition
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
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.
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.
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
136 **rd.emergency=**__[reboot|poweroff|halt]__::
137 specify, what action to execute in case of a critical failure. rd.shell=0 also
140 **rd.driver.blacklist=**__<drivername>__[,__<drivername>__,...]::
141 do not load kernel module <drivername>. This parameter can be specified
144 **rd.driver.pre=**__<drivername>__[,__<drivername>__,...]::
145 force loading kernel module <drivername>. This parameter can be specified
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.
152 **rd.retry=**__<seconds>__::
153 specify how long dracut should retry the initqueue to configure devices.
154 The default is 30 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.
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.
164 accept self-signed certificates for ssl downloads.
166 **rd.ctty=**__<terminal device>__::
167 specify the controlling terminal for the console.
168 This is useful, if you have multiple "console=" arguments.
170 [[dracutkerneldebug]]
173 If you are dropped to an emergency shell, the file
174 _/run/initramfs/rdsosreport.txt_ is created, which can be saved to a (to be
175 mounted by hand) partition (usually /boot) or a USB stick. Additional debugging
176 info can be produced by adding **rd.debug** to the kernel command line.
177 _/run/initramfs/rdsosreport.txt_ contains all logs and the output of some tools.
178 It should be attached to any report about dracut problems.
181 print informational output though "quiet" is set
184 allow dropping to a shell, if root mounting fails
187 set -x for the dracut shell.
188 If systemd is active in the initramfs, all output is logged to the systemd
189 journal, which you can inspect with "journalctl -ab".
190 If systemd is not active, the logs are written to dmesg and
191 _/run/initramfs/init.log_.
192 If "quiet" is set, it also logs to the console.
194 **rd.memdebug=[0-5]**::
195 Print memory usage info at various points, set the verbose level from 0 to 5.
197 Higher level means more debugging output:
201 1 - partial /proc/meminfo
203 3 - /proc/meminfo + /proc/slabinfo
204 4 - /proc/meminfo + /proc/slabinfo + memstrack summary
205 NOTE: memstrack is a memory tracing tool that tracks the total memory
206 consumption, and peak memory consumption of each kernel modules
207 and userspace progress during the whole initramfs runtime, report
208 is genereted and the end of initramsfs run.
209 5 - /proc/meminfo + /proc/slabinfo + memstrack (with top memory stacktrace)
210 NOTE: memstrack (with top memory stacktrace) will print top memory
211 allocation stack traces during the whole initramfs runtime.
215 drop to a shell at the end
217 **rd.break=**__{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}__::
218 drop to a shell on defined breakpoint
221 set udev to loglevel info
224 set udev to loglevel debug
228 **rd.vconsole.keymap=**__<keymap base file name>__::
229 keyboard translation table loaded by loadkeys; taken from keymaps directory;
230 will be written as KEYMAP to _/etc/vconsole.conf_ in the initramfs.
235 rd.vconsole.keymap=de-latin1-nodeadkeys
238 **rd.vconsole.keymap.ext=**__<list of keymap base file names>__::
239 list of extra keymaps to bo loaded (sep. by space); will be written as
240 EXT_KEYMAP to _/etc/vconsole.conf_ in the initramfs
242 **rd.vconsole.unicode**::
243 boolean, indicating UTF-8 mode; will be written as UNICODE to
244 _/etc/vconsole.conf_ in the initramfs
246 **rd.vconsole.font=**__<font base file name>__::
247 console font; taken from consolefonts directory; will be written as FONT to
248 _/etc/vconsole.conf_ in the initramfs.
253 rd.vconsole.font=eurlatgr
256 **rd.vconsole.font.map=**__<console map base file name>__::
257 see description of '-m' parameter in setfont manual; taken from consoletrans
258 directory; will be written as FONT_MAP to _/etc/vconsole.conf_ in the
261 **rd.vconsole.font.unimap=**__<unicode table base file name>__::
262 see description of '-u' parameter in setfont manual; taken from unimaps
263 directory; will be written as FONT_UNIMAP to _/etc/vconsole.conf_ in the
266 **rd.locale.LANG=**__<locale>__::
267 taken from the environment; if no UNICODE is defined we set its value in
268 basis of LANG value (whether it ends with ".utf8" (or similar) or not); will
269 be written as LANG to _/etc/locale.conf_ in the initramfs.
274 rd.locale.LANG=pl_PL.utf8
277 **rd.locale.LC_ALL=**__<locale>__::
278 taken from the environment; will be written as LC_ALL to _/etc/locale.conf_
284 disable LVM detection
286 **rd.lvm.vg=**__<volume group name>__::
287 only activate all logical volumes in the the volume groups with the given name.
288 rd.lvm.vg can be specified multiple times on the kernel command line.
290 **rd.lvm.lv=**__<volume group name>/<logical volume name>__::
291 only activate the logical volumes with the given name.
292 rd.lvm.lv can be specified multiple times on the kernel command line.
295 remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs
300 disable crypto LUKS detection
302 **rd.luks.uuid=**__<luks uuid>__::
303 only activate the LUKS partitions with the given UUID. Any "luks-" of the
304 LUKS UUID is removed before comparing to _<luks uuid>_.
305 The comparisons also matches, if _<luks uuid>_ is only the beginning of the
306 LUKS UUID, so you don't have to specify the full UUID.
307 This parameter can be specified multiple times.
308 _<luks uuid>_ may be prefixed by the keyword `keysource:`, see
311 **rd.luks.allow-discards=**__<luks uuid>__::
312 Allow using of discards (TRIM) requests for LUKS partitions with the given
313 UUID. Any "luks-" of the LUKS UUID is removed before comparing to
314 _<luks uuid>_. The comparisons also matches, if _<luks uuid>_ is only the
315 beginning of the LUKS UUID, so you don't have to specify the full UUID.
316 This parameter can be specified multiple times.
318 **rd.luks.allow-discards**::
319 Allow using of discards (TRIM) requests on all LUKS partitions.
321 **rd.luks.crypttab=0**::
322 do not check, if LUKS partition is in _/etc/crypttab_
324 **rd.luks.timeout=**__<seconds>__::
325 specify how long dracut should wait when waiting for the user to enter the
326 password. This avoid blocking the boot if no password is entered. It does
327 not apply to luks key. The default is '0', which means 'forever'.
329 crypto LUKS - key on removable device support
330 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
332 NB: If systemd is included in the dracut initrd, dracut's built in
333 removable device keying support won't work. systemd will prompt for
334 a password from the console even if you've supplied **rd.luks.key**.
335 You may be able to use standard systemd *fstab*(5) syntax to
336 get the same effect. If you do need **rd.luks.key** to work,
337 you will have to exclude the "systemd" dracut module and any modules
338 that depend on it. See *dracut.conf*(5) and
339 https://bugzilla.redhat.com/show_bug.cgi?id=905683 for more
342 **rd.luks.key=**_<keypath>[:<keydev>[:<luksdev>]]_::
343 _<keypath>_ is the pathname of a key file, relative to the root
344 of the filesystem on some device. It's REQUIRED. When
345 _<keypath>_ ends with '.gpg' it's considered to be key encrypted
346 symmetrically with GPG. You will be prompted for the GPG password on
347 boot. GPG support comes with the 'crypt-gpg' module, which needs to be
350 _<keydev>_ identifies the device on which the key file resides. It may
351 be the kernel name of the device (should start with "/dev/"), a UUID
352 (prefixed with "UUID=") or a label (prefix with "LABEL="). You don't
353 have to specify a full UUID. Just its beginning will suffice, even if
354 its ambiguous. All matching devices will be probed. This parameter is
355 recommended, but not required. If it's not present, all block devices will
356 be probed, which may significantly increase boot time.
358 If _<luksdev>_ is given, the specified key will only be used for
359 the specified LUKS device. Possible values are the same as for
360 _<keydev>_. Unless you have several LUKS devices, you don't have to
361 specify this parameter. The simplest usage is:
366 rd.luks.key=/foo/bar.key
369 As you see, you can skip colons in such a case.
372 ===============================
373 Your LUKS partition must match your key file.
375 dracut provides keys to cryptsetup with _-d_ (an older alias for
376 _--key-file_). This uses the entire binary
377 content of the key file as part of the secret. If
378 you pipe a password into cryptsetup *without* _-d_ or _--key-file_,
379 it will be treated as text user input, and only characters before
380 the first newline will be used. Therefore, when you're creating
381 an encrypted partition for dracut to mount, and you pipe a key into
382 _cryptsetup luksFormat_,you must use _-d -_.
384 Here is an example for a key encrypted with GPG (warning:
385 _--batch-mode_ will overwrite the device without asking for
390 gpg --quiet --decrypt rootkey.gpg | \
391 cryptsetup --batch-mode --key-file - \
392 luksFormat /dev/sda47
395 If you use unencrypted key files, just use the key file pathname
396 instead of the standard input. For a random key with 256 bits of
397 entropy, you might use:
401 head -32c /dev/urandom > rootkey.key
402 cryptsetup --batch-mode --key-file rootkey.key \
403 luksFormat /dev/sda47
406 You can also use regular key files on an encrypted _keydev_.
408 Compared to using GPG encrypted keyfiles on an unencrypted
409 device this provides the following advantages:
411 - you can unlock your disk(s) using multiple passphrases
412 - better security by not loosing the key stretching mechanism
414 To use an encrypted _keydev_ you *must* ensure that it becomes
415 available by using the keyword `keysource`, e.g.
416 `rd.luks.uuid=keysource:aaaa`
417 _aaaa_ being the uuid of the encrypted _keydev_.
421 Lets assume you have three disks _A_, _B_ and _C_ with the uuids
422 _aaaa_, _bbbb_ and _cccc_. +
423 You want to unlock _A_ and _B_ using keyfile _keyfile_. +
424 The unlocked volumes be _A'_, _B'_ and _C'_ with the uuids
425 _AAAA_, _BBBB_ and _CCCC_. +
426 _keyfile_ is saved on _C'_ as _/keyfile_.
428 One luks keyslot of each _A_, _B_ and _C_ is setup with a
430 Another luks keyslot of each _A_ and _B_ is setup with _keyfile_.
432 To boot this configuration you could use:
437 rd.luks.uuid=keysource:cccc
438 rd.luks.key=/keyfile:UUID=CCCC
440 Dracut asks for the passphrase for _C_ and uses the
441 keyfile to unlock _A_ and _B_. +
442 If getting the passphrase for _C_ fails it falls back to
443 asking for the passphrases for _A_ and _B_.
445 If you want _C'_ to stay unlocked, specify a luks name for
446 it, e.g. `rd.luks.name=cccc=mykeys`, otherwise it gets closed
447 when not needed anymore.
448 ===============================
453 disable MD RAID detection
456 disable MD RAID for imsm/isw raids, use DM RAID instead
459 disable MD RAID for SNIA ddf raids, use DM RAID instead
462 ignore mdadm.conf included in initramfs
464 **rd.md.waitclean=1**::
465 wait for any resync, recovery, or reshape activity to finish before
468 **rd.md.uuid=**__<md raid uuid>__::
469 only activate the raid sets with the given UUID. This parameter can be
470 specified multiple times.
475 disable DM RAID detection
477 **rd.dm.uuid=**__<dm raid uuid>__::
478 only activate the raid sets with the given UUID. This parameter can be
479 specified multiple times.
484 disable multipath detection
486 **rd.multipath=default**::
487 use default multipath settings
494 **boot=**__<boot device>__::
495 specify the device, where /boot is located.
501 boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
506 **rd.fips.skipkernel**::
507 skip checksum check of the kernel image. Useful, if the kernel image is not
508 in a separate boot partition.
514 =====================
515 It is recommended to either bind an interface to a MAC with the **ifname**
516 argument, or to use the systemd-udevd predictable network interface names.
518 Predictable network interface device names based on:
520 - firmware/bios-provided index numbers for on-board devices
521 - firmware-provided pci-express hotplug slot index number
522 - physical/geographical location of the hardware
523 - the interface's MAC address
526 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
528 Two character prefixes based on the type of interface:
536 o<index>:: on-board device index number
537 s<slot>[f<function>][d<dev_id>]:: hotplug slot index number
539 [P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]:: PCI geographical location
540 [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]:: USB port number chain
542 All multi-function PCI devices will carry the [f<function>] number in the
543 device name, including the function 0 device.
545 When using PCI geography, The PCI domain is only prepended when it is not 0.
547 For USB devices the full chain of port numbers of hubs is composed. If the
548 name gets longer than the maximum number of 15 characters, the name is not
550 The usual USB configuration == 1 and interface == 0 values are suppressed.
552 PCI ethernet card with firmware index "1"::
555 PCI ethernet card in hotplug slot with firmware index number::
558 PCI ethernet multi-function card with 2 ports::
565 USB built-in 3G modem::
570 =====================
572 **ip=**__{dhcp|on|any|dhcp6|auto6|either6}__::
573 dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp,
574 loop sequentially through all interfaces (eth0, eth1, ...) and use the first
575 with a valid DHCP root-path.
577 auto6::: IPv6 autoconfiguration
581 either6::: if auto6 fails, then dhcp6
583 **ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6}__[:[__<mtu>__][:__<macaddr>__]]::
584 This parameter can be specified multiple times.
586 =====================
587 dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface
588 auto6::: do IPv6 autoconfiguration
589 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
590 cannot be used in conjunction with the **ifname** argument for the
592 =====================
594 **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<mtu>__][:__<macaddr>__]]::
595 explicit network configuration. If you want do define a IPv6 address, put it
596 in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
597 times. __<peer>__ is optional and is the address of the remote endpoint
598 for pointopoint interfaces and it may be followed by a slash and a decimal
599 number, encoding the network prefix length.
601 =====================
602 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
603 cannot be used in conjunction with the **ifname** argument for the
605 =====================
607 **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]::
608 explicit network configuration. If you want do define a IPv6 address, put it
609 in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
610 times. __<peer>__ is optional and is the address of the remote endpoint
611 for pointopoint interfaces and it may be followed by a slash and a decimal
612 number, encoding the network prefix length.
614 **ifname=**__<interface>__:__<MAC>__::
615 Assign network device name <interface> (i.e. "bootnet") to the NIC with
618 WARNING: Do **not** use the default kernel naming scheme for the interface name,
619 as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the
620 interface name. Better name it "bootnet" or "bluesocket".
622 **rd.route=**__<net>__/__<netmask>__:__<gateway>__[:__<interface>__]::
623 Add a static route with route options, which are separated by a colon.
624 IPv6 addresses have to be put in brackets.
629 rd.route=192.168.200.0/24:192.168.100.222:ens10
630 rd.route=192.168.200.0/24:192.168.100.222
631 rd.route=192.168.200.0/24::ens10
632 rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10
635 **bootdev=**__<interface>__::
636 specify network interface to use routing and netroot information from.
637 Required if multiple ip= lines are used.
639 **BOOTIF=**__<MAC>__::
640 specify network interface to use routing and netroot information from.
643 Disable BOOTIF parsing, which is provided by PXE
645 **nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]::
646 specify nameserver(s) to use
649 Disable DNS setting of DHCP parameters.
652 boolean, turn off biosdevname network interface renaming
655 boolean, bring up network even without netroot set
657 **vlan=**__<vlanname>__:__<phydevice>__::
658 Setup vlan device named <vlanname> on <phydevice>.
659 We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005),
660 VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005),
661 DEV_PLUS_VID_NO_PAD (eth0.5)
663 **bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__[:<mtu>]]]::
664 Setup bonding device <bondname> on top of <bondslaves>.
665 <bondslaves> is a comma-separated list of physical (ethernet) interfaces.
666 <options> is a comma-separated list on bonding options (modinfo bonding for
667 details) in format compatible with initscripts. If <options> includes
668 multi-valued arp_ip_target option, then its values should be separated by
669 semicolon. if the mtu is specified, it will be set on the bond master.
670 Bond without parameters assumes
671 bond=bond0:eth0,eth1:mode=balance-rr
673 **team=**__<teammaster>__:__<teamslaves>__[:__<teamrunner>__]::
674 Setup team device <teammaster> on top of <teamslaves>.
675 <teamslaves> is a comma-separated list of physical (ethernet) interfaces.
676 <teamrunner> is the runner type to be used (see *teamd.conf*(5)); defaults to
678 Team without parameters assumes
679 team=team0:eth0,eth1:activebackup
681 **bridge=**__<bridgename>__:__<ethnames>__::
682 Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated
683 list of physical (ethernet) interfaces. Bridge without parameters assumes
688 **root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
689 mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
690 dhcp next_server. If server-ip is an IPv6 address it has to be put in
691 brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
692 ":" or "," and are separated by ",".
694 **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
695 root=dhcp alone directs initrd to look at the DHCP root-path where NFS
696 options can be specified.
701 root-path=<server-ip>:<root-dir>[,<nfs-options>]
702 root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
703 root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>]
706 **root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
707 _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this
708 method. This is supported by dracut, but not recommended.
710 **rd.nfs.domain=**__<NFSv4 domain name>__::
711 Set the NFSv4 domain name. Will override the settings in _/etc/idmap.conf_.
713 **rd.net.dhcp.retry=**__<cnt>__::
714 If this option is set, dracut will try to connect via dhcp <cnt> times before failing.
717 **rd.net.timeout.dhcp=**__<arg>__::
718 If this option is set, dhclient is called with "-timeout <arg>".
720 **rd.net.timeout.iflink=**__<seconds>__::
721 Wait <seconds> until link shows up. Default is 60 seconds.
723 **rd.net.timeout.ifup=**__<seconds>__::
724 Wait <seconds> until link has state "UP". Default is 20 seconds.
726 **rd.net.timeout.route=**__<seconds>__::
727 Wait <seconds> until route shows up. Default is 20 seconds.
729 **rd.net.timeout.ipv6dad=**__<seconds>__::
730 Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds.
732 **rd.net.timeout.ipv6auto=**__<seconds>__::
733 Wait <seconds> until IPv6 automatic addresses are assigned. Default is 40 seconds.
735 **rd.net.timeout.carrier=**__<seconds>__::
736 Wait <seconds> until carrier is recognized. Default is 10 seconds.
740 **root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__::
741 mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
742 dhcp next_server. if server-ip is an IPv6 address it has to be put in
743 brackets, e.g. [2001:DB8::1]. If a username or password are not specified
744 as part of the root, then they must be passed on the command line through
747 WARNING: Passwords specified on the kernel command line are visible for all
748 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
749 network, when using DHCP with DHCP root-path.
751 **cifsuser**=__<username>__::
752 Set the cifs username, if not specified as part of the root.
754 **cifspass**=__<password>__::
755 Set the cifs password, if not specified as part of the root.
757 WARNING: Passwords specified on the kernel command line are visible for all
758 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
759 network, when using DHCP with DHCP root-path.
763 **root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__::
764 protocol defaults to "6", LUN defaults to "0". If the "servername" field is
765 provided by BOOTP or DHCP, then that field is used in conjunction with other
766 associated fields to contact the boot server in the Boot stage. However, if
767 the "servername" field is not provided, then the "targetname" field is then
768 used in the Discovery Service stage in conjunction with other associated
770 link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173].
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.
779 root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
782 If servername is an IPv6 address, it has to be put in brackets:
787 root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
790 **root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...::
791 multiple netroot options allow setting up multiple iscsi disks:
797 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
798 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1
801 If servername is an IPv6 address, it has to be put in brackets:
806 netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
809 WARNING: Passwords specified on the kernel command line are visible for all
810 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
811 network, when using DHCP with DHCP root-path.
812 You may want to use rd.iscsi.firmware.
814 **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>__::
815 manually specify all iscsistart parameter (see **+iscsistart --help+**)
817 WARNING: Passwords specified on the kernel command line are visible for all
818 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
819 network, when using DHCP with DHCP root-path.
820 You may want to use rd.iscsi.firmware.
822 **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
823 will read the iscsi parameter from the BIOS firmware
825 **rd.iscsi.login_retry_max=**__<num>__::
826 maximum number of login retries
828 **rd.iscsi.param=**__<param>__::
829 <param> will be passed as "--param <param>" to iscsistart.
830 This parameter can be specified multiple times.
835 "netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30"
842 iscsistart -b --param node.session.timeo.replacement_timeout=30
845 **rd.iscsi.ibft** **rd.iscsi.ibft=1**:
846 Turn on iBFT autoconfiguration for the interfaces
848 **rd.iscsi.mp** **rd.iscsi.mp=1**:
849 Configure all iBFT interfaces, not only used for booting (multipath)
851 **rd.iscsi.waitnet=0**:
852 Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets.
854 **rd.iscsi.testroute=0**:
855 Turn off checking, if the route to the iSCSI target IP is possible before trying to login.
860 disable FCoE and lldpad
862 **fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:__{fabric|vn2vn}__::
863 Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
864 _<MAC>_ or EDD settings. The second argument specifies if DCB
865 should be used. The optional third argument specifies whether
866 fabric or VN2VN mode should be used.
867 This parameter can be specified multiple times.
869 NOTE: letters in the MAC-address must be lowercase!
873 **rd.nvmf.hostnqn=**__<hostNQN>__::
876 **rd.nvmf.hostid=**__<hostID>__::
879 **rd.nvmf.discover=**__{rdma|fc|tcp}__,__<traddr>__,[__<host_traddr>__],[__<trsvcid>__]::
880 Discover and connect to a NVMe-over-Fabric controller specified by
881 _<traddr>_ and the optionally _<host_traddr>_ or _<trsvcid>_.
882 The first argument specifies the transport to use; currently only
883 'rdma', 'fc', or 'tcp' are supported.
884 The _<traddr>_ parameter can be set to 'auto' to select
885 autodiscovery; in that case all other parameters are ignored.
886 This parameter can be specified multiple times.
890 **root=**??? **netroot=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
891 mount nbd share from <server>.
894 If "exportname" instead of "port" is given the standard port is used.
895 Newer versions of nbd are only supported with "exportname".
897 **root=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
898 root=dhcp alone directs initrd to look at the DHCP root-path where NBD
899 options can be specified. This syntax is only usable in cases where you are
900 directly mounting the volume as the rootfs.
903 If "exportname" instead of "port" is given the standard port is used.
904 Newer versions of nbd are only supported with "exportname".
909 same syntax as the kernel module parameter (s390 only)
913 **rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
914 rd.zfcp can be specified multiple times on the kernel command
917 **rd.zfcp=**__<zfcp adaptor device bus ID>__::
918 If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
919 module is set to 'Y' then the zfcp adaptor will be initiating a
920 scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
925 rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
930 ignore zfcp.conf included in the initramfs
934 **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
935 The whole parameter is appended to /etc/ccw.conf, which is used on
936 RHEL/Fedora with ccw_init, which is called from udev for certain
938 rd.znet can be specified multiple times on the kernel command line.
940 **rd.znet_ifname=**__<ifname>__:__<subchannels>__::
941 Assign network device name <interface> (i.e. "bootnet") to the NIC
942 corresponds to the subchannels. This is useful when dracut's default
943 "ifname=" doesn't work due to device having a changing MAC address.
948 rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
949 rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
954 Dracut offers multiple options for live booted images:
956 =====================
957 SquashFS with read-only filesystem image::: The system will boot with a
958 read-only filesystem from the SquashFS and apply a writable Device-mapper
959 snapshot or an OverlayFS overlay mount for the read-only base filesystem. This
960 method ensures a relatively fast boot and lower RAM usage. Users **must be
961 careful** to avoid writing too many blocks to a snapshot volume. Once the
962 blocks of the snapshot overlay are exhausted, the root filesystem becomes
963 read-only and may cause application failures. The snapshot overlay file is
964 marked 'Overflow', and a difficult recovery is required to repair and enlarge
965 the overlay offline. Non-persistent overlays are sparse files in RAM that only
966 consume content space as required blocks are allocated. They default to an
967 apparent size of 32 GiB in RAM. The size can be adjusted with the
968 **rd.live.overlay.size=** kernel command line option.
970 The filesystem structure is traditionally expected to be:
974 squashfs.img | SquashFS from LiveCD .iso
977 |- rootfs.img | Filesystem image to mount read-only
979 /bin | Live filesystem
985 For OverlayFS mount overlays, the filesystem structure may also be a direct
986 compression of the root filesystem:
990 squashfs.img | SquashFS from LiveCD .iso
992 /bin | Live filesystem
998 Dracut uses one of the overlay methods of live booting by default. No
999 additional command line options are required other than **root=live:<URL>** to
1000 specify the location of your squashed filesystem.
1002 - The compressed SquashFS image can be copied during boot to RAM at
1003 `/run/initramfs/squashed.img` by using the **rd.live.ram=1** option.
1004 - A device with a persistent overlay can be booted read-only by using the
1005 **rd.live.overlay.readonly** option on the kernel command line. This will
1006 either cause a temporary, writable overlay to be stacked over a read-only
1007 snapshot of the root filesystem or the OverlayFS mount will use an additional
1008 lower layer with the root filesystem.
1010 Uncompressed live filesystem image:::
1011 When the live system was installed with the '--skipcompress' option of the
1012 __livecd-iso-to-disk__ installation script for Live USB devices, the root
1013 filesystem image, __rootfs.img__, is expanded on installation and no SquashFS
1014 is involved during boot.
1016 - If **rd.live.ram=1** is used in this situation, the full, uncompressed
1017 root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the
1020 - If **rd.live.overlay=none** is provided as a kernel command line option,
1021 a writable, linear Device-mapper target is created on boot with no overlay.
1023 Writable filesystem image:::
1024 The system will retrieve a compressed filesystem image, extract it to
1025 `/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a
1026 writable, linear Device-mapper target at `/dev/mapper/live-rw`, and mount that
1027 as a writable volume at `/`. More RAM is required during boot but the live
1028 filesystem is easier to manage if it becomes full. Users can make a filesystem
1029 image of any size and that size will be maintained when the system boots. There
1030 is no persistence of root filesystem changes between boots with this option.
1032 The filesystem structure is expected to be:
1036 rootfs.tgz | Compressed tarball containing filesystem image
1038 /rootfs.img | Filesystem image at /run/initramfs/fsimg/
1040 /bin | Live filesystem
1046 To use this boot option, ensure that **rd.writable.fsimg=1** is in your kernel
1047 command line and add the **root=live:<URL>** to specify the location
1048 of your compressed filesystem image tarball or SquashFS image.
1049 =====================
1051 **rd.writable.fsimg=**1::
1052 Enables writable filesystem support. The system will boot with a fully
1053 writable (but non-persistent) filesystem without snapshots __(see notes above
1054 about available live boot options)__. You can use the **rootflags** option to
1055 set mount options for the live filesystem as well __(see documentation about
1056 rootflags in the **Standard** section above)__.
1057 This implies that the whole image is copied to RAM before the boot continues.
1059 NOTE: There must be enough free RAM available to hold the complete image.
1061 This method is very suitable for diskless boots.
1063 **root=**live:__<url>__::
1064 Boots a live image retrieved from __<url>__. Requires the dracut 'livenet'
1065 module. Valid handlers: __http, https, ftp, torrent, tftp__.
1070 root=live:http://example.com/liveboot.img
1071 root=live:ftp://ftp.example.com/liveboot.img
1072 root=live:torrent://example.com/liveboot.img.torrent
1075 **rd.live.debug=**1::
1076 Enables debug output from the live boot process.
1078 **rd.live.dir=**__<path>__::
1079 Specifies the directory within the boot device where the squashfs.img or
1080 rootfs.img can be found. By default, this is `/LiveOS`.
1082 **rd.live.squashimg=**__<filename of SquashFS image>__::
1083 Specifies the filename for a SquashFS image of the root filesystem.
1084 By default, this is __squashfs.img__.
1087 Copy the complete image to RAM and use this for booting. This is useful
1088 when the image resides on, e.g., a DVD which needs to be ejected later on.
1090 **rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
1091 Manage the usage of a permanent overlay.
1094 * _<devspec>_ specifies the path to a device with a mountable filesystem.
1095 * _<pathspec>_ is the path to a file within that filesystem, which shall be
1096 used to persist the changes made to the device specified by the
1097 **root=live:__<url>__** option.
1099 The default _pathspec_, when _auto_ or no _:<pathspec>_ is given, is
1100 `/<+++<b>rd.live.dir</b>+++>/overlay-<label>-<uuid>`, where _<label>_ is the
1101 device LABEL, and _<uuid>_ is the device UUID.
1102 * _none_ (the word itself) specifies that no overlay will be used, such as when
1103 an uncompressed, writable live root filesystem is available.
1105 If a persistent overlay __is detected__ at the standard LiveOS path, the
1106 overlay & overlay type detected, whether Device-mapper or OverlayFS, will be
1113 rd.live.overlay=/dev/sdb1:persistent-overlay.img
1114 rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4
1117 **rd.live.overlay.size=**__<size_MiB>__::
1118 Specifies a non-persistent Device-mapper overlay size in MiB. The default is
1121 **rd.live.overlay.readonly=**1::
1122 This is used to boot with a normally read-write persistent overlay in a
1123 read-only mode. With this option, either an additional, non-persistent,
1124 writable snapshot overlay will be stacked over a read-only snapshot,
1125 `/dev/mapper/live‑ro`, of the base filesystem with the persistent overlay, or a
1126 read-only loop device, in the case of a writable __rootfs.img__, or an OverlayFS
1127 mount will use the persistent overlay directory linked at `/run/overlayfs‑r` as
1128 an additional lower layer along with the base root filesystem and apply a
1129 transient, writable upper directory overlay, in order to complete the booted
1132 **rd.live.overlay.reset=**1::
1133 Specifies that a persistent overlay should be reset on boot. All previous root
1134 filesystem changes are vacated by this action.
1136 **rd.live.overlay.thin=**1::
1137 Enables the usage of thin snapshots instead of classic dm snapshots.
1138 The advantage of thin snapshots is that they support discards, and will free
1139 blocks that are not claimed by the filesystem. In this use case, this means
1140 that memory is given back to the kernel when the filesystem does not claim it
1143 **rd.live.overlay.overlayfs=**1::
1144 Enables the use of the *OverlayFS* kernel module, if available, to provide a
1145 copy-on-write union directory for the root filesystem. OverlayFS overlays are
1146 directories of the files that have changed on the read-only base (lower)
1147 filesystem. The root filesystem is provided through a special overlay type
1148 mount that merges the lower and upper directories. If an OverlayFS upper
1149 directory is not present on the boot device, a tmpfs directory will be created
1150 at `/run/overlayfs` to provide temporary storage. Persistent storage can be
1151 provided on vfat or msdos formatted devices by supplying the OverlayFS upper
1152 directory within an embedded filesystem that supports the creation of trusted.*
1153 extended attributes and provides a valid d_type in readdir responses, such as
1154 with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
1155 overlay can extend the available root filesystem storage up to the capacity of
1156 the LiveOS disk device.
1158 If a persistent overlay is detected at the standard LiveOS path, the overlay &
1159 overlay type detected, whether OverlayFS or Device-mapper, will be used.
1161 The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
1162 be mounted read-only through a higher level transient overlay directory, has
1163 been implemented through the multiple lower layers feature of OverlayFS.
1168 **rd.zipl=**__<path to blockdevice>__::
1169 Update the dracut commandline with the values found in the
1170 _dracut-cmdline.conf_ file on the given device.
1171 The values are merged into the existing commandline values
1172 and the udev events are regenerated.
1177 rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
1182 **rd.cio_accept=**__<device-ids>__::
1183 Remove the devices listed in <device-ids> from the default
1184 cio_ignore kernel command-line settings.
1185 <device-ids> is a list of comma-separated CCW device ids.
1186 The default for this value is taken from the
1187 _/boot/zipl/active_devices.txt_ file.
1192 rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
1195 Plymouth Boot Splash
1196 ~~~~~~~~~~~~~~~~~~~~
1197 **plymouth.enable=0**::
1198 disable the plymouth bootsplash completely.
1201 disable the plymouth bootsplash only for the initramfs.
1205 **masterkey=**__<kernel master key path name>__::
1206 Set the path name of the kernel master key.
1211 masterkey=/etc/keys/kmk-trusted.blob
1214 **masterkeytype=**__<kernel master key type>__::
1215 Set the type of the kernel master key.
1220 masterkeytype=trusted
1223 **evmkey=**__<EVM key path name>__::
1224 Set the path name of the EVM key.
1229 evmkey=/etc/keys/evm-trusted.blob
1232 **ecryptfskey=**__<eCryptfs key path name>__::
1233 Set the path name of the eCryptfs key.
1238 ecryptfskey=/etc/keys/ecryptfs-trusted.blob
1241 Deprecated, renamed Options
1242 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
1243 Here is a list of options, which were used in dracut prior to version 008, and
1244 their new replacement.
1251 rd_DASD_MOD:: rd.dasd
1255 rdinitdebug rdnetdebug:: rd.debug
1259 rd_DM_UUID:: rd.dm.uuid
1261 rdblacklist:: rd.driver.blacklist
1263 rdinsmodpost:: rd.driver.post
1265 rdloaddriver:: rd.driver.pre
1267 rd_NO_FSTAB:: rd.fstab=0
1271 check:: rd.live.check
1273 rdlivedebug:: rd.live.debug
1275 live_dir:: rd.live.dir
1277 liveimg:: rd.live.image
1279 overlay:: rd.live.overlay
1281 readonly_overlay:: rd.live.overlay.readonly
1283 reset_overlay:: rd.live.overlay.reset
1285 live_ram:: rd.live.ram
1287 rd_NO_CRYPTTAB:: rd.luks.crypttab=0
1289 rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid
1291 rd_LUKS_KEYPATH:: rd.luks.keypath
1293 rd_NO_LUKS:: rd.luks=0
1295 rd_LUKS_UUID:: rd.luks.uuid
1297 rd_NO_LVMCONF:: rd.lvm.conf
1299 rd_LVM_LV:: rd.lvm.lv
1301 rd_NO_LVM:: rd.lvm=0
1303 rd_LVM_SNAPSHOT:: rd.lvm.snapshot
1305 rd_LVM_SNAPSIZE:: rd.lvm.snapsize
1307 rd_LVM_VG:: rd.lvm.vg
1309 rd_NO_MDADMCONF:: rd.md.conf=0
1311 rd_NO_MDIMSM:: rd.md.imsm=0
1315 rd_MD_UUID:: rd.md.uuid
1317 rd_NO_MULTIPATH: rd.multipath=0
1319 rd_NFS_DOMAIN:: rd.nfs.domain
1321 iscsi_initiator:: rd.iscsi.initiator
1323 iscsi_target_name:: rd.iscsi.target.name
1325 iscsi_target_ip:: rd.iscsi.target.ip
1327 iscsi_target_port:: rd.iscsi.target.port
1329 iscsi_target_group:: rd.iscsi.target.group
1331 iscsi_username:: rd.iscsi.username
1333 iscsi_password:: rd.iscsi.password
1335 iscsi_in_username:: rd.iscsi.in.username
1337 iscsi_in_password:: rd.iscsi.in.password
1339 iscsi_firmware:: rd.iscsi.firmware=0
1341 rd_NO_PLYMOUTH:: rd.plymouth=0
1347 rd_NO_SPLASH:: rd.splash
1349 rdudevdebug:: rd.udev.debug
1351 rdudevinfo:: rd.udev.info
1353 rd_NO_ZFCPCONF:: rd.zfcp.conf=0
1359 KEYMAP:: vconsole.keymap
1361 KEYTABLE:: vconsole.keymap
1363 SYSFONT:: vconsole.font
1365 CONTRANS:: vconsole.font.map
1367 UNIMAP:: vconsole.font.unimap
1369 UNICODE:: vconsole.unicode
1371 EXT_KEYMAP:: vconsole.keymap.ext
1373 Configuration in the Initramfs
1374 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1376 Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
1377 set initial values. Command line options will override these values
1378 set in the configuration files.
1381 Can contain additional command line options. Deprecated, better use
1382 /etc/cmdline.d/*.conf.
1384 _/etc/cmdline.d/*.conf_::
1385 Can contain additional command line options.
1393 *dracut*(8) *dracut.conf*(5)