9 dracut.cmdline - dracut kernel command line options
13 The root device used by the kernel is specified in the boot configuration
14 file on the kernel command line, as always.
16 The traditional _root=/dev/sda1_ style device specification is allowed, but not
17 encouraged. The root device should better be identified by LABEL or UUID. If a
18 label is used, as in _root=LABEL=<label_of_root>_ the initramfs will search all
19 available devices for a filesystem with the appropriate label, and mount that
20 device as the root filesystem. _root=UUID=<uuidnumber>_ will mount the partition
21 with that UUID as the root filesystem.
23 In the following all kernel command line parameters, which are processed by
24 dracut, are described.
26 "rd.*" parameters mentioned without "=" are boolean parameters. They can be
27 turned on/off by setting them to {0|1}. If the assignment with "=" is missing
28 "=1" is implied. For example _rd.info_ can be turned off with _rd.info=0_ or
29 turned on with _rd.info=1_ or _rd.info_. The last value in the kernel command
30 line is the value, which is honored.
34 **init=**_<path to real init>_::
35 specify the path to the init programm to be started after the initramfs has
38 **root=**_<path to blockdevice>_::
39 specify the block device to use as the root filesystem.
45 root=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
46 root=/dev/disk/by-label/Root
48 root=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
49 root=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
50 root=PARTUUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
53 **rootfstype=**_<filesystem type>_:: "auto" if not specified, e.g.:
59 **rootflags=**_<mount options>_::
60 specify additional mount options for the root filesystem. If not set,
61 _/etc/fstab_ of the real root will be parsed for special mount options and
65 force mounting _/_ and _/usr_ (if it is a separate device) read-only. If
66 none of ro and rw is present, both are mounted according to _/etc/fstab_.
69 force mounting _/_ and _/usr_ (if it is a separate device) read-write.
72 **rd.auto** **rd.auto=1**::
73 enable autoassembly of special devices like cryptoLUKS, dmraid, mdraid or lvm.
74 Default is off as of dracut version >= 024.
77 do not honor special mount options for the root filesystem found in
78 _/etc/fstab_ of the real root.
80 **resume=**_<path to resume partition>_::
81 resume from a swap partition
86 resume=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
87 resume=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
88 resume=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
92 skip fsck for rootfs and _/usr_. If you're mounting _/usr_ read-only and
93 the init system performs fsck before remount, you might want to use this
94 option to avoid duplication.
99 **rd.driver.blacklist=**_<drivername>[,<drivername>,...]_::
100 do not load kernel module <drivername>. This parameter can be specified
103 **rd.driver.pre=**_<drivername>[,<drivername>,...]_::
104 force loading kernel module <drivername>. This parameter can be specified
107 **rd.driver.post=**_<drivername>[,<drivername>,...]_::
108 force loading kernel module <drivername> after all automatic loading modules
109 have been loaded. This parameter can be specified multiple times.
111 **rd.retry=**_<seconds>_::
112 specify how long dracut should wait for devices to appear.
113 The default is 30 seconds. After 2/3 of the time, degraded raids are force
114 started. If you have hardware, which takes a very long time to announce its
115 drives, you might want to extend this value.
118 accept self-signed certificates for ssl downloads.
120 [[dracutkerneldebug]]
124 print informational output though "quiet" is set
127 allow dropping to a shell, if root mounting fails
130 set -x for the dracut shell and logs to dmesg, console and
131 _/run/initramfs/init.log_
134 drop to a shell at the end
136 **rd.break=**_{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}_::
137 drop to a shell on defined breakpoint
140 set udev to loglevel info
143 set udev to loglevel debug
147 **vconsole.keymap=**_<keymap base file name>_::
148 keyboard translation table loaded by loadkeys; taken from keymaps directory;
149 will be written as KEYMAP to _/etc/vconsole.conf_ in the initramfs, e.g.:
152 vconsole.keymap=de-latin1-nodeadkeys
155 **vconsole.keymap.ext=**_<list of keymap base file names>_::
156 list of extra keymaps to bo loaded (sep. by space); will be written as
157 EXT_KEYMAP to _/etc/vconsole.conf_ in the initramfs
159 **vconsole.unicode**[=_{0|1}_]::
160 boolean, indicating UTF-8 mode; will be written as UNICODE to
161 _/etc/vconsole.conf_ in the initramfs
163 **vconsole.font=**_<font base file name>_::
164 console font; taken from consolefonts directory; will be written as FONT to
165 _/etc/vconsole.conf_ in the initramfs; e.g.:
168 vconsole.font=LatArCyrHeb-16
171 **vconsole.font.map=**_<console map base file name>_::
172 see description of '-m' parameter in setfont manual; taken from consoletrans
173 directory; will be written as FONT_MAP to _/etc/vconsole.conf_ in the
176 **vconsole.font.unimap=**_<unicode table base file name>_::
177 see description of '-u' parameter in setfont manual; taken from unimaps
178 directory; will be written as FONT_UNIMAP to _/etc/vconsole.conf_ in the
181 **locale.LANG=**_<locale>_::
182 taken from the environment; if no UNICODE is defined we set its value in
183 basis of LANG value (whether it ends with ".utf8" (or similar) or not); will
184 be written as LANG to _/etc/locale.conf_ in the initramfs; e.g.:
187 locale.LANG=pl_PL.utf8
190 **locale.LC_ALL=**_<locale>_::
191 taken from the environment; will be written as LC_ALL to _/etc/locale.conf_
197 disable LVM detection
199 **rd.lvm.vg=**_<volume group name>_::
200 only activate the volume groups with the given name. rd.lvm.vg can be
201 specified multiple times on the kernel command line.
203 **rd.lvm.lv=**_<logical volume name>_::
204 only activate the logical volumes with the given name. rd.lvm.lv can be
205 specified multiple times on the kernel command line.
208 remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs
213 disable crypto LUKS detection
215 **rd.luks.uuid=**_<luks uuid>_::
216 only activate the LUKS partitions with the given UUID. Any "luks-" of the
217 LUKS UUID is removed before comparing to _<luks uuid>_.
218 The comparisons also matches, if _<luks uuid>_ is only the beginning of the
219 LUKS UUID, so you don't have to specify the full UUID.
220 This parameter can be specified multiple times.
222 **rd.luks.allow-discards=**_<luks uuid>_::
223 Allow using of discards (TRIM) requests for LUKS partitions with the given UUID.
224 Any "luks-" of the LUKS UUID is removed before comparing to _<luks uuid>_.
225 The comparisons also matches, if _<luks uuid>_ is only the beginning of the
226 LUKS UUID, so you don't have to specify the full UUID.
227 This parameter can be specified multiple times.
229 **rd.luks.allow-discards**::
230 Allow using of discards (TRIM) requests on all LUKS partitions.
232 **rd.luks.crypttab=0**::
233 do not check, if LUKS partition is in _/etc/crypttab_
235 crypto LUKS - key on removable device support
236 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
237 **rd.luks.key=**_<keypath>:<keydev>:<luksdev>_::
238 _keypath_ is a path to key file to look for. It's REQUIRED. When _keypath_ ends with '.gpg' it's considered to be key encrypted symmetrically with GPG. You will be prompted for password on boot. GPG support comes with 'crypt-gpg' module which needs to be added explicitly.
240 _keydev_ is a device on which key file resides. It might be kernel name of devices (should start with "/dev/"), UUID (prefixed with "UUID=") or label (prefix with "LABEL="). You don't have to specify full UUID. Just its beginning will suffice, even if its ambiguous. All matching devices will be probed. This parameter is recommended, but not required. If not present, all block devices will be probed, which may significantly increase boot time.
242 If _luksdev_ is given, the specified key will only be applied for that LUKS device. Possible values are the same as for _keydev_. Unless you have several LUKS devices, you don't have to specify this parameter. The simplest usage is:
245 rd.luks.key=/foo/bar.key
248 As you see, you can skip colons in such a case.
251 ===============================
252 dracut pipes key to cryptsetup with _-d -_ argument, therefore you need to pipe
253 to crypsetup luksFormat with _-d -_, too!
255 Here follows example for key encrypted with GPG:
258 gpg --quiet --decrypt rootkey.gpg \
259 | cryptsetup -d - -v \
260 --cipher serpent-cbc-essiv:sha256 \
261 --key-size 256 luksFormat /dev/sda3
264 If you use plain keys, just add path to _-d_ option:
267 cryptsetup -d rootkey.key -v \
268 --cipher serpent-cbc-essiv:sha256 \
269 --key-size 256 luksFormat /dev/sda3
271 ===============================
276 disable MD RAID detection
279 disable MD RAID for imsm/isw raids, use DM RAID instead
282 disable MD RAID for SNIA ddf raids, use DM RAID instead
285 ignore mdadm.conf included in initramfs
287 **rd.md.waitclean=1**::
288 wait for any resync, recovery, or reshape activity to finish before continuing
290 **rd.md.uuid=**_<md raid uuid>_::
291 only activate the raid sets with the given UUID. This parameter can be
292 specified multiple times.
297 disable DM RAID detection
299 **rd.dm.uuid=**_<dm raid uuid>_::
300 only activate the raid sets with the given UUID. This parameter can be
301 specified multiple times.
308 **boot=**_<boot device>_::
309 specify the device, where /boot is located. e.g.
313 boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
318 **rd.fips.skipkernel**::
319 skip checksum check of the kernel image. Useful, if the kernel image is not
320 in a separate boot partition.
324 **ip=**_{dhcp|on|any|dhcp6|auto6|ibft}_::
325 dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp, loop
326 sequentially through all interfaces (eth0, eth1, ...) and use the first with
327 a valid DHCP root-path.
329 auto6::: IPv6 autoconfiguration
333 ibft::: iBFT autoconfiguration
335 **ip=**_<interface>_:_{dhcp|on|any|dhcp6|auto6}_[:[_<mtu>_][:_<macaddr>_]]::
336 This parameter can be specified multiple times.
338 =====================
339 dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface
340 auto6::: do IPv6 autoconfiguration
341 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
342 cannot be used in conjunction with the **ifname** argument for the
344 =====================
347 =====================
348 It is recommended to either bind <interface> to a MAC with the **ifname**
349 argument. Or use biosdevname to name your interfaces, which will then have names according to their hardware location.
351 em<port>::: for embedded NICs
352 p<slot>#<port>_<virtual instance>::: for cards in PCI slots
353 =====================
355 **ip=**_<client-IP>_:_<server-IP>_:_<gateway-IP>_:_<netmask>_:_<client_hostname>_:_<interface>_:_{none|off|dhcp|on|any|dhcp6|auto6|ibft}_[:[_<mtu>_][:_<macaddr>_]]::
356 explicit network configuration. If you want do define a IPv6 address, put it
357 in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
360 =====================
361 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
362 cannot be used in conjunction with the **ifname** argument for the
364 =====================
367 =====================
368 It is recommended to either bind <interface> to a MAC with the **ifname**
369 argument. Or use biosdevname to name your interfaces, which will then have names according to their hardware location.
371 em<port>::: for embedded NICs
372 p<slot>#<port>_<virtual instance>::: for cards in PCI slots
373 =====================
375 **ifname=**_<interface>_:_<MAC>_::
376 Assign network device name <interface> (ie "bootnet") to the NIC with MAC <MAC>.
380 Do **not** use the default kernel naming scheme for the interface name,
381 as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the
382 interface name. Better name it "bootnet" or "bluesocket".
384 **bootdev=**_<interface>_::
385 specify network interface to use routing and netroot information from.
386 Required if multiple ip= lines are used.
388 **nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]::
389 specify nameserver(s) to use
392 boolean, turn off biosdevname network interface renaming
395 boolean, bring up network even without netroot set
397 **vlan=_<vlanname>_:_<phydevice>_**::
398 Setup vlan device named <vlanname> on <phydeivce>.
399 We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5),
400 DEV_PLUS_VID (eth0.0005), DEV_PLUS_VID_NO_PAD (eth0.5)
402 **bond=_<bondname>_[:_<bondslaves>_:[:_<options>_]]**::
403 Setup bonding device <bondname> on top of <bondslaves>.
404 <bondslaves> is a comma-separated list of physical (ethernet) interfaces.
405 <options> is a comma-separated list on bonding options (modinfo bonding for details)
406 in format compatible with initscripts. If <options> includes multi-valued arp_ip_target option,
407 then its values should be separated by semicolon.
408 Bond without parameters assumes bond=bond0:eth0,eth1:mode=balance-rr
410 **bridge=_<bridgename>_:_<ethnames>_**::
411 Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated
412 list of physical (ethernet) interfaces. Bridge without parameters assumes bridge=br0:eth0
417 **root=**[_<server-ip>_:]_<root-dir>_[:_<nfs-options>_]::
418 mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
419 dhcp next_server. if server-ip is an IPv6 address it has to be put in
420 brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
421 ":" or "," and are seperated by ",".
423 **root=**nfs:[_<server-ip>_:]_<root-dir>_[:_<nfs-options>_], **root=**nfs4:[_<server-ip>_:]_<root-dir>_[:_<nfs-options>_], **root=**_{dhcp|dhcp6}_::
424 root=dhcp alone directs initrd to look at the DHCP root-path where NFS
425 options can be specified.
428 root-path=<server-ip>:<root-dir>[,<nfs-options>]
429 root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
430 root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>]
433 **root=**_/dev/nfs_ nfsroot=[_<server-ip>_:]_<root-dir>_[:_<nfs-options>_]::
434 _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this
435 method. This is supported by dracut, but not recommended.
437 **rd.nfs.domain=**_<NFSv4 domain name>_::
438 Set the NFSv4 domain name. Will overwrite the settings in _/etc/idmap.conf_.
442 **root=**cifs://[_<username>_[:_<password>_]@]_<server-ip>_:_<root-dir>_::
443 mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
444 dhcp next_server. if server-ip is an IPv6 address it has to be put in
445 brackets, e.g. [2001:DB8::1]. If a username or password are not specified
446 as part of the root, then they must be passed on the command line through
449 **cifsuser=_<username>_::
450 Set the cifs username, if not specified as part of the root.
452 **cifspass=_<password>_::
453 Set the cifs password, if not specified as part of the root.
457 **root=**iscsi:[_<username>_:_<password>_[:_<reverse>_:_<password>_]@][_<servername>_]:[_<protocol>_]:[_<port>_][:[_<iscsi_iface_name>_]:[_<netdev_name>_]]:[_<LUN>_]:_<targetname>_::
458 protocol defaults to "6", LUN defaults to "0". If the "servername" field is
459 provided by BOOTP or DHCP, then that field is used in conjunction with other
460 associated fields to contact the boot server in the Boot stage. However, if
461 the "servername" field is not provided, then the "targetname" field is then
462 used in the Discovery Service stage in conjunction with other associated
464 link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173].
468 root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
471 If servername is an IPv6 address, it has to be put in brackets. e.g.:
474 root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
477 **root=**_???_ **netroot=**iscsi:[_<username>_:_<password>_[:_<reverse>_:_<password>_]@][_<servername>_]:[_<protocol>_]:[_<port>_][:[_<iscsi_iface_name>_]:[_<netdev_name>_]]:[_<LUN>_]:_<targetname>_ ...::
478 multiple netroot options allow setting up multiple iscsi disks. e.g.:
482 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
483 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1
486 If servername is an IPv6 address, it has to be put in brackets. e.g.:
489 netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
492 **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>_::
493 manually specify all iscsistart parameter (see **+iscsistartĀ --help+**)
495 **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
496 will read the iscsi parameter from the BIOS firmware
498 **rd.iscsi.param=**_<param>_::
499 <param> will be passed as "--param <param>" to iscsistart.
500 This parameter can be specified multiple times.
504 "netroot=iscsi iscsi_firmware rd.iscsi.param=node.session.timeo.replacement_timeout=30"
510 iscsistart -b --param node.session.timeo.replacement_timeout=30
515 **fcoe=**_<edd|interface|MAC>_:_{dcb|nodcb}_::
516 Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
517 _<MAC>_ or EDD settings. For the second argument, currently only nodcb is
518 supported. This parameter can be specified multiple times.
521 letters in the MAC-address must be lowercase!
525 **root=**??? **netroot=**nbd:_<server>_:_<port>_[:_<fstype>_[:_<mountopts>_[:_<nbdopts>_]]]::
526 mount nbd share from <server>
528 **root=dhcp** with **dhcp** **root-path=**nbd:_<server>_:_<port>_[:_<fstype>_[:_<mountopts>_[:_<nbdopts>_]]]::
529 root=dhcp alone directs initrd to look at the DHCP root-path where NBD
530 options can be specified. This syntax is only usable in cases where you are
531 directly mounting the volume as the rootfs.
536 same syntax as the kernel module parameter (s390 only)
540 **rd.zfcp=**_<zfcp adaptor device bus ID>_,_<WWPN>_,_<FCPLUN>_::
541 rd.zfcp can be specified multiple times on the kernel command line. e.g.:
544 rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
548 ignore zfcp.conf included in the initramfs
552 **rd.znet=**_<nettype>_,_<subchannels>_,_<options>_::
553 rd.znet can be specified multiple times on the kernel command line. e.g.:
556 rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
557 rd.znet=ctc,0.0.0600,0.0.0601,0.0.0602,protocol=bar
562 **plymouth.enable=0**::
563 disable the plymouth bootsplash completly.
566 disable the plymouth bootsplash only for the initramfs.
570 **masterkey=**_<kernel master key path name>_::
571 Set the path name of the kernel master key. e.g.:
574 masterkey=/etc/keys/kmk-trusted.blob
577 **masterkeytype=**_<kernel master key type>_::
578 Set the type of the kernel master key. e.g.:
581 masterkeytype=trusted
584 **evmkey=**_<EVM key path name>_::
585 Set the path name of the EVM key. e.g.:
588 evmkey=/etc/keys/evm-trusted.blob
591 **ecryptfskey=**_<eCryptfs key path name>_::
592 Set the path name of the eCryptfs key. e.g.:
595 ecryptfskey=/etc/keys/ecryptfs-trusted.blob
598 Deprecated, renamed Options
599 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
600 Here is a list of options, which were used in dracut prior to version 008, and their new replacement.
606 rd_DASD_MOD:: rd.dasd
610 rdinitdebug rdnetdebug:: rd.debug
614 rd_DM_UUID:: rd.dm.uuid
616 rdblacklist:: rd.driver.blacklist
618 rdinsmodpost:: rd.driver.post
620 rdloaddriver:: rd.driver.pre
622 rd_NO_FSTAB:: rd.fstab=0
626 check:: rd.live.check
628 rdlivedebug:: rd.live.debug
630 live_dir:: rd.live.dir
632 liveimg:: rd.live.image
634 overlay:: rd.live.overlay
636 readonly_overlay:: rd.live.overlay.readonly
638 reset_overlay:: rd.live.overlay.reset
640 live_ram:: rd.live.ram
642 rd_NO_CRYPTTAB:: rd.luks.crypttab=0
644 rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid
646 rd_LUKS_KEYPATH:: rd.luks.keypath
648 rd_NO_LUKS:: rd.luks=0
650 rd_LUKS_UUID:: rd.luks.uuid
652 rd_NO_LVMCONF:: rd.lvm.conf
654 rd_LVM_LV:: rd.lvm.lv
658 rd_LVM_SNAPSHOT:: rd.lvm.snapshot
660 rd_LVM_SNAPSIZE:: rd.lvm.snapsize
662 rd_LVM_VG:: rd.lvm.vg
664 rd_NO_MDADMCONF:: rd.md.conf=0
666 rd_NO_MDIMSM:: rd.md.imsm=0
670 rd_MD_UUID:: rd.md.uuid
672 rd_NFS_DOMAIN:: rd.nfs.domain
674 iscsi_initiator:: rd.iscsi.initiator
676 iscsi_target_name:: rd.iscsi.target.name
678 iscsi_target_ip:: rd.iscsi.target.ip
680 iscsi_target_port:: rd.iscsi.target.port
682 iscsi_target_group:: rd.iscsi.target.group
684 iscsi_username:: rd.iscsi.username
686 iscsi_password:: rd.iscsi.password
688 iscsi_in_username:: rd.iscsi.in.username
690 iscsi_in_password:: rd.iscsi.in.password
692 iscsi_firmware:: rd.iscsi.firmware=0
694 rd_NO_PLYMOUTH:: rd.plymouth=0
700 rd_NO_SPLASH:: rd.splash
702 rdudevdebug:: rd.udev.debug
704 rdudevinfo:: rd.udev.info
706 rd_NO_ZFCPCONF:: rd.zfcp.conf=0
712 KEYMAP:: vconsole.keymap
714 KEYTABLE:: vconsole.keymap
716 SYSFONT:: vconsole.font
718 CONTRANS:: vconsole.font.map
720 UNIMAP:: vconsole.font.unimap
722 UNICODE:: vconsole.unicode
724 EXT_KEYMAP:: vconsole.keymap.ext
726 Configuration in the Initramfs
727 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
729 Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
730 set initial values. Command line options will override these values
731 set in the configuration files.
734 Can contain additional command line options.
736 _/etc/cmdline.d/*.conf_::
737 Can contain additional command line options.
745 *dracut*(8) *dracut.conf*(5)