dracut-systemd/dracut-initqueue: only start service if really needed
[dracut.git] / dracut.cmdline.7.asc
blob1a54377770be465f462f9ee112645d0331d67967
1 DRACUT.CMDLINE(7)
2 =================
3 :doctype: manpage
4 :man source:   dracut
5 :man manual:   dracut
7 NAME
8 ----
9 dracut.cmdline - dracut kernel command line options
11 DESCRIPTION
12 -----------
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.
32 Standard
33 ~~~~~~~~
34 **init=**__<path to real init>__::
35     specify the path to the init programm to be started after the initramfs has
36     finished
38 **root=**__<path to blockdevice>__::
39     specify the block device to use as the root filesystem.
41 [listing]
42 .Example
44 root=/dev/sda1
45 root=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
46 root=/dev/disk/by-label/Root
47 root=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.
55 [listing]
56 .Example
58 rootfstype=ext3
61 **rootflags=**__<mount options>__::
62     specify additional mount options for the root filesystem. If not set,
63     _/etc/fstab_ of the real root will be parsed for special mount options and
64     mounted accordingly.
66 **ro**::
67     force mounting _/_ and _/usr_ (if it is a separate device) read-only.  If
68     none of ro and rw is present, both are mounted according to _/etc/fstab_.
70 **rw**::
71     force mounting _/_ and _/usr_ (if it is a separate device) read-write.
72     See also ro option.
74 **rootfallback=**__<path to blockdevice>__::
75     specify the block device to use as the root filesystem, if the normal root
76     cannot be found. This can only be a simple block device with a simple file
77     system, for which the filesystem driver is either compiled in, or added
78     manually to the initramfs. This parameter can be specified multiple times.
80 **rd.auto** **rd.auto=1**::
81     enable autoassembly of special devices like cryptoLUKS, dmraid, mdraid or
82     lvm. Default is off as of dracut version >= 024.
84 **rd.hostonly=0**::
85     removes all compiled in configuration of the host system the initramfs image
86     was built on. This helps booting, if any disk layout changed, especially in
87     combination with rd.auto or other parameters specifying the layout.
89 **rd.cmdline=ask**::
90     prompts the user for additional kernel command line parameters
92 **rd.fstab=0**::
93     do not honor special mount options for the root filesystem found in
94     _/etc/fstab_ of the real root.
96 **resume=**__<path to resume partition>__::
97     resume from a swap partition
99 [listing]
100 .Example
102 resume=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
103 resume=/dev/disk/by-uuid/3f5ad593-4546-4a94-a374-bcfb68aa11f7
104 resume=UUID=3f5ad593-4546-4a94-a374-bcfb68aa11f7
107 **rd.skipfsck**::
108     skip fsck for rootfs and _/usr_.  If you're mounting _/usr_ read-only and
109     the init system performs fsck before remount, you might want to use this
110     option to avoid duplication.
112 iso-scan/filename
113 ~~~~~~~~~~~~~~~~~
115 Using iso-scan/filename with a Fedora/Red Hat/CentOS Live iso should just work
116 by copying the original kernel cmdline parameters.
118 [listing]
119 .Example
121 menuentry 'Live Fedora 20' --class fedora --class gnu-linux --class gnu --class os {
122     set isolabel=Fedora-Live-LXDE-x86_64-20-1
123     set isofile="/boot/iso/Fedora-Live-LXDE-x86_64-20-1.iso"
124     loopback loop $isofile
125     linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=$isofile root=live:LABEL=$isolabel ro rd.live.image quiet rhgb
126     initrd (loop)/isolinux/initrd0.img
130 Misc
131 ~~~~
132 **rd.driver.blacklist=**__<drivername>__[,__<drivername>__,...]::
133     do not load kernel module <drivername>. This parameter can be specified
134     multiple times.
136 **rd.driver.pre=**__<drivername>__[,__<drivername>__,...]::
137     force loading kernel module <drivername>. This parameter can be specified
138     multiple times.
140 **rd.driver.post=**__<drivername>__[,__<drivername>__,...]::
141     force loading kernel module <drivername> after all automatic loading modules
142     have been loaded. This parameter can be specified multiple times.
144 **rd.retry=**__<seconds>__::
145     specify how long dracut should retry the initqueue to configure devices.
146     The default is 30 seconds. After 2/3 of the time, degraded raids are force
147     started. If you have hardware, which takes a very long time to announce its
148     drives, you might want to extend this value.
150 **rd.timeout=**__<seconds>__::
151     specify how long dracut should wait for devices to appear. The
152     default is '0', which means 'forever'. Note that this timeout
153     should be longer than rd.retry to allow for proper configuration.
155 **rd.noverifyssl**::
156     accept self-signed certificates for ssl downloads.
158 **rd.ctty=**__<terminal device>__::
159    specify the controlling terminal for the console.
160    This is useful, if you have multiple "console=" arguments.
162 [[dracutkerneldebug]]
163 Debug
164 ~~~~~
165 If you are dropped to an emergency shell, the file 
166 _/run/initramfs/rdsosreport.txt_ is created, which can be saved to a (to be
167 mounted by hand) partition (usually /boot) or a USB stick. Additional debugging
168 info can be produced by adding **rd.debug** to the kernel command line.
169 _/run/initramfs/rdsosreport.txt_ contains all logs and the output of some tools.
170 It should be attached to any report about dracut problems.
172 **rd.info**::
173     print informational output though "quiet" is set
175 **rd.shell**::
176     allow dropping to a shell, if root mounting fails
178 **rd.debug**::
179     set -x for the dracut shell.
180     If systemd is active in the initramfs, all output is logged to the systemd
181     journal, which you can inspect with "journalctl -ab".
182     If systemd is not active, the logs are written to dmesg and
183     _/run/initramfs/init.log_.
184     If "quiet" is set, it also logs to the console.
186 **rd.memdebug=[0-3]**::
187     Print memory usage info at various points, set the verbose level from 0 to 3.
188 +    
189     Higher level means more debugging output:
191 ----
192     0 - no output
193     1 - partial /proc/meminfo
194     2 - /proc/meminfo
195     3 - /proc/meminfo + /proc/slabinfo
196 ----
198 **rd.break**::
199     drop to a shell at the end
201 **rd.break=**__{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}__::
202     drop to a shell on defined breakpoint
204 **rd.udev.info**::
205     set udev to loglevel info
207 **rd.udev.debug**::
208     set udev to loglevel debug
210 I18N
211 ~~~~
212 **rd.vconsole.keymap=**__<keymap base file name>__::
213     keyboard translation table loaded by loadkeys; taken from keymaps directory;
214     will be written as KEYMAP to _/etc/vconsole.conf_ in the initramfs.
216 [listing]
217 .Example
219 rd.vconsole.keymap=de-latin1-nodeadkeys
222 **rd.vconsole.keymap.ext=**__<list of keymap base file names>__::
223     list of extra keymaps to bo loaded (sep. by space); will be written as
224     EXT_KEYMAP to _/etc/vconsole.conf_ in the initramfs
226 **rd.vconsole.unicode**::
227     boolean, indicating UTF-8 mode; will be written as UNICODE to
228     _/etc/vconsole.conf_ in the initramfs
230 **rd.vconsole.font=**__<font base file name>__::
231     console font; taken from consolefonts directory; will be written as FONT to
232     _/etc/vconsole.conf_ in the initramfs.
234 [listing]
235 .Example
237 rd.vconsole.font=LatArCyrHeb-16
240 **rd.vconsole.font.map=**__<console map base file name>__::
241     see description of '-m' parameter in setfont manual; taken from consoletrans
242     directory; will be written as FONT_MAP to _/etc/vconsole.conf_ in the
243     initramfs
245 **rd.vconsole.font.unimap=**__<unicode table base file name>__::
246     see description of '-u' parameter in setfont manual; taken from unimaps
247     directory; will be written as FONT_UNIMAP to _/etc/vconsole.conf_ in the
248     initramfs
250 **rd.locale.LANG=**__<locale>__::
251     taken from the environment; if no UNICODE is defined we set its value in
252     basis of LANG value (whether it ends with ".utf8" (or similar) or not); will
253     be written as LANG to _/etc/locale.conf_ in the initramfs.
255 [listing]
256 .Example
258 rd.locale.LANG=pl_PL.utf8
261 **rd.locale.LC_ALL=**__<locale>__::
262     taken from the environment; will be written as LC_ALL to _/etc/locale.conf_
263     in the initramfs
267 **rd.lvm=0**::
268     disable LVM detection
270 **rd.lvm.vg=**__<volume group name>__::
271     only activate the volume groups with the given name. rd.lvm.vg can be
272     specified multiple times on the kernel command line.
274 **rd.lvm.lv=**__<logical volume name>__::
275     only activate the logical volumes with the given name. rd.lvm.lv can be
276     specified multiple times on the kernel command line.
278 **rd.lvm.conf=0**::
279     remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs
281 crypto LUKS
282 ~~~~~~~~~~~
283 **rd.luks=0**::
284     disable crypto LUKS detection
286 **rd.luks.uuid=**__<luks uuid>__::
287     only activate the LUKS partitions with the given UUID. Any "luks-" of the
288     LUKS UUID is removed before comparing to _<luks uuid>_.
289     The comparisons also matches, if _<luks uuid>_ is only the beginning of the
290     LUKS UUID, so you don't have to specify the full UUID.
291     This parameter can be specified multiple times.
293 **rd.luks.allow-discards=**__<luks uuid>__::
294     Allow  using  of discards (TRIM) requests for LUKS partitions with the given
295     UUID. Any "luks-" of the LUKS UUID is removed before comparing to
296     _<luks uuid>_. The comparisons also matches, if _<luks uuid>_ is only the
297     beginning of the LUKS UUID, so you don't have to specify the full UUID.
298     This parameter can be specified multiple times.
300 **rd.luks.allow-discards**::
301     Allow  using  of discards (TRIM) requests on all LUKS partitions.
303 **rd.luks.crypttab=0**::
304     do not check, if LUKS partition is in _/etc/crypttab_
306 crypto LUKS - key on removable device support
307 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
308 **rd.luks.key=**__<keypath>__:__<keydev>__:__<luksdev>__::
309     _keypath_ is a path to key file to look for. It's REQUIRED. When _keypath_
310     ends with '.gpg' it's considered to be key encrypted symmetrically with GPG.
311     You will be prompted for password on boot. GPG support comes with
312     'crypt-gpg' module which needs to be added explicitly.
314 _keydev_ is a device on which key file resides. It might be kernel name of
315 devices (should start with "/dev/"), UUID (prefixed with "UUID=") or label
316 (prefix with "LABEL="). You don't have to specify full UUID. Just its beginning
317 will suffice, even if its ambiguous. All matching devices will be probed.
318 This parameter is recommended, but not required. If not present, all block
319 devices will be probed, which may significantly increase boot time.
321 If _luksdev_ is given, the specified key will only be applied for that LUKS
322 device. Possible values are the same as for _keydev_. Unless you have several
323 LUKS devices, you don't have to specify this parameter. The simplest usage is:
325 [listing]
326 .Example
328 rd.luks.key=/foo/bar.key
331 As you see, you can skip colons in such a case.
333 [NOTE]
334 ===============================
335 dracut pipes key to cryptsetup with _-d -_ argument, therefore you need to pipe
336 to crypsetup luksFormat with _-d -_, too!
338 Here follows example for key encrypted with GPG:
340 [listing]
342 gpg --quiet --decrypt rootkey.gpg | \
343 cryptsetup -d - -v --cipher serpent-cbc-essiv:sha256 \
344 --key-size 256 luksFormat /dev/sda3
347 If you use plain keys, just add path to _-d_ option:
349 [listing]
351 cryptsetup -d rootkey.key -v --cipher serpent-cbc-essiv:sha256 \
352  --key-size 256 luksFormat /dev/sda3
354 ===============================
356 MD RAID
357 ~~~~~~~
358 **rd.md=0**::
359     disable MD RAID detection
361 **rd.md.imsm=0**::
362     disable MD RAID for imsm/isw raids, use DM RAID instead
364 **rd.md.ddf=0**::
365     disable MD RAID for SNIA ddf raids, use DM RAID instead
367 **rd.md.conf=0**::
368     ignore mdadm.conf included in initramfs
370 **rd.md.waitclean=1**::
371     wait for any resync, recovery, or reshape activity to finish before
372     continuing
374 **rd.md.uuid=**__<md raid uuid>__::
375     only activate the raid sets with the given UUID. This parameter can be
376     specified multiple times.
378 DM RAID
379 ~~~~~~~
380 **rd.dm=0**::
381     disable DM RAID detection
383 **rd.dm.uuid=**__<dm raid uuid>__::
384    only activate the raid sets with the given UUID. This parameter can be
385    specified multiple times.
387 MULTIPATH
388 ~~~~~~~~~
389 **rd.multipath=0**::
390    disable multipath detection
392 FIPS
393 ~~~~
394 **rd.fips**::
395     enable FIPS
397 **boot=**__<boot device>__::
398     specify the device, where /boot is located.
400 [listing]
401 .Example
403 boot=/dev/sda1
404 boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
405 boot=UUID=<uuid>
406 boot=LABEL=<label>
409 **rd.fips.skipkernel**::
410     skip checksum check of the kernel image. Useful, if the kernel image is not
411     in a separate boot partition.
413 Network
414 ~~~~~~~
416 [IMPORTANT]
417 =====================
418 It is recommended to either bind an interface to a MAC with the **ifname**
419 argument, or to use the systemd-udevd predictable network interface names.
421 Predictable network interface device names based on:
423 - firmware/bios-provided index numbers for on-board devices
424 - firmware-provided pci-express hotplug slot index number
425 - physical/geographical location of the hardware
426 - the interface's MAC address
428 See:
429 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
431 Two character prefixes based on the type of interface:
433 en:: ethernet
434 wl:: wlan
435 ww:: wwan
437 Type of names:
439 o<index>:: on-board device index number
440 s<slot>[f<function>][d<dev_id>]:: hotplug slot index number
441 x<MAC>:: MAC address
442 [P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]:: PCI geographical location
443 [P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]:: USB port number chain
445 All multi-function PCI devices will carry the [f<function>] number in the
446 device name, including the function 0 device.
448 When using PCI geography, The PCI domain is only prepended when it is not 0.
450 For USB devices the full chain of port numbers of hubs is composed. If the
451 name gets longer than the maximum number of 15 characters, the name is not
452 exported.
453 The usual USB configuration == 1 and interface == 0 values are suppressed.
455 PCI ethernet card with firmware index "1"::
456 * eno1
458 PCI ethernet card in hotplug slot with firmware index number::
459 * ens1
461 PCI ethernet multi-function card with 2 ports::
462 * enp2s0f0
463 * enp2s0f1
465 PCI wlan card::
466 * wlp3s0
468 USB built-in 3G modem::
469 * wwp0s29u1u4i6
471 USB Android phone::
472 * enp0s29u1u2
473 =====================
475 **ip=**__{dhcp|on|any|dhcp6|auto6}__::
476     dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp,
477     loop sequentially through all interfaces (eth0, eth1, ...) and use the first
478     with a valid DHCP root-path.
480     auto6::: IPv6 autoconfiguration
482     dhcp6::: IPv6 DHCP
484 **ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6}__[:[__<mtu>__][:__<macaddr>__]]::
485     This parameter can be specified multiple times.
487 =====================
488 dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface
489 auto6::: do IPv6 autoconfiguration
490 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
491 cannot be used in conjunction with the **ifname** argument for the
492 same <interface>.
493 =====================
495 **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__:[:[__<mtu>__][:__<macaddr>__]]::
496     explicit network configuration. If you want do define a IPv6 address, put it
497     in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
498     times. __<peer>__ is optional and is the address of the remote endpoint
499     for pointopoint interfaces and it may be followed by a slash and a decimal
500     number, encoding the network prefix length.
502 =====================
503 <macaddr>::: optionally **set** <macaddr> on the <interface>. This
504 cannot be used in conjunction with the **ifname** argument for the
505 same <interface>.
506 =====================
508 **ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]::
509     explicit network configuration. If you want do define a IPv6 address, put it
510     in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
511     times. __<peer>__ is optional and is the address of the remote endpoint
512     for pointopoint interfaces and it may be followed by a slash and a decimal
513     number, encoding the network prefix length.
515 **ifname=**__<interface>__:__<MAC>__::
516     Assign network device name <interface> (ie "bootnet") to the NIC with
517     MAC <MAC>.
519 WARNING: Do **not** use the default kernel naming scheme for the interface name,
520 as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the
521 interface name. Better name it "bootnet" or "bluesocket".
523 **rd.route=**__<net>__/__<netmask>__:__<gateway>__[:__<interface>__]::
524     Add a static route with route options, which are separated by a colon.
525     IPv6 addresses have to be put in brackets.
527 [listing]
528 .Example
530     rd.route=192.168.200.0/24:192.168.100.222:ens10
531     rd.route=192.168.200.0/24:192.168.100.222
532     rd.route=192.168.200.0/24::ens10
533     rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10
536 **bootdev=**__<interface>__::
537     specify network interface to use routing and netroot information from.
538     Required if multiple ip= lines are used.
540 **BOOTIF=**__<MAC>__::
541     specify network interface to use routing and netroot information from.
543 **rd.bootif=0**::
544     Disable BOOTIF parsing, which is provided by PXE
546 **nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]::
547     specify nameserver(s) to use
549 **rd.peerdns=0**::
550     Disable DNS setting of DHCP parameters.
552 **biosdevname=0**::
553     boolean, turn off biosdevname network interface renaming
555 **rd.neednet=1**::
556     boolean, bring up network even without netroot set
558 **vlan=**__<vlanname>__:__<phydevice>__::
559     Setup vlan device named <vlanname> on <phydeivce>.
560     We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005),
561     VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005),
562     DEV_PLUS_VID_NO_PAD (eth0.5)
564 **bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__]]::
565     Setup bonding device <bondname> on top of <bondslaves>.
566     <bondslaves> is a comma-separated list of physical (ethernet) interfaces.
567     <options> is a comma-separated list on bonding options (modinfo bonding for
568     details) in format compatible with initscripts. If <options> includes
569     multi-valued arp_ip_target option, then its values should be separated by
570     semicolon. Bond without parameters assumes
571     bond=bond0:eth0,eth1:mode=balance-rr
573 **team=**__<teammaster>__:__<teamslaves>__::
574     Setup team device <teammaster> on top of <teamslaves>.
575     <teamslaves> is a comma-separated list of physical (ethernet) interfaces.
577 **bridge=**__<bridgename>__:__<ethnames>__::
578     Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated
579     list of physical (ethernet) interfaces. Bridge without parameters assumes
580     bridge=br0:eth0
584 **root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
585     mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
586     dhcp next_server. If server-ip is an IPv6 address it has to be put in
587     brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
588     ":" or "," and are seperated by ",".
590 **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
591     root=dhcp alone directs initrd to look at the DHCP root-path where NFS
592     options can be specified.
594 [listing]
595 .Example
597     root-path=<server-ip>:<root-dir>[,<nfs-options>]
598     root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
599     root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>]
602 **root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
603     _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this
604     method. This is supported by dracut, but not recommended.
606 **rd.nfs.domain=**__<NFSv4 domain name>__::
607     Set the NFSv4 domain name. Will overwrite the settings in _/etc/idmap.conf_.
609 CIFS
611 **root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__::
612     mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
613     dhcp next_server. if server-ip is an IPv6 address it has to be put in
614     brackets, e.g. [2001:DB8::1]. If a username or password are not specified
615 as part of the root, then they must be passed on the command line through
616 cifsuser/cifspass.
618 WARNING: Passwords specified on the kernel command line are visible for all
619 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
620 network, when using DHCP with DHCP root-path.
622 **cifsuser**=__<username>__::
623     Set the cifs username, if not specified as part of the root.
625 **cifspass**=__<password>__::
626     Set the cifs password, if not specified as part of the root.
628 WARNING: Passwords specified on the kernel command line are visible for all
629 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
630 network, when using DHCP with DHCP root-path.
632 iSCSI
633 ~~~~~
634 **root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__::
635     protocol defaults to "6", LUN defaults to "0". If the "servername" field is
636     provided by BOOTP or DHCP, then that field is used in conjunction with other
637     associated fields to contact the boot server in the Boot stage. However, if
638     the "servername" field is not provided, then the "targetname" field is then
639     used in the Discovery Service stage in conjunction with other associated
640     fields. See
641     link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173].
643 WARNING: Passwords specified on the kernel command line are visible for all
644 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
645 network, when using DHCP with DHCP root-path.
647 [listing]
648 .Example
650 root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
653 If servername is an IPv6 address, it has to be put in brackets:
655 [listing]
656 .Example
658 root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
661 **root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...::
662     multiple netroot options allow setting up multiple iscsi disks:
664 [listing]
665 .Example
667 root=UUID=12424547
668 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
669 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1
672 If servername is an IPv6 address, it has to be put in brackets:
674 [listing]
675 .Example
677 netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
680 WARNING: Passwords specified on the kernel command line are visible for all
681 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
682 network, when using DHCP with DHCP root-path.
683 You may want to use rd.iscsi.firmware.
685 **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>__::
686     manually specify all iscsistart parameter (see **+iscsistartĀ --help+**)
688 WARNING: Passwords specified on the kernel command line are visible for all
689 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
690 network, when using DHCP with DHCP root-path.
691 You may want to use rd.iscsi.firmware.
693 **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
694  will read the iscsi parameter from the BIOS firmware
696 **rd.iscsi.param=**__<param>__::
697     <param> will be passed as "--param <param>" to iscsistart.
698     This parameter can be specified multiple times.
700 [listing]
701 .Example
703 "netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30"
706 will result in
708 [listing]
710 iscsistart -b --param node.session.timeo.replacement_timeout=30
713 **rd.iscsi.ibft** **rd.iscsi.ibft=1**:
714     Turn on iBFT autoconfiguration for the interfaces
716 FCoE
717 ~~~~
718 **fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__::
719     Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
720     _<MAC>_ or EDD settings. For the second argument, currently only nodcb is
721     supported. This parameter can be specified multiple times.
723 NOTE: letters in the MAC-address must be lowercase!
727 **root=**??? **netroot=**nbd:__<server>__:__<port>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
728     mount nbd share from <server>
730 **root=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
731     root=dhcp alone directs initrd to look at the DHCP root-path where NBD
732     options can be specified. This syntax is only usable in cases where you are
733     directly mounting the volume as the rootfs.
735 DASD
736 ~~~~
737 **rd.dasd=**....::
738     same syntax as the kernel module parameter (s390 only)
740 ZFCP
741 ~~~~
742 **rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
743     rd.zfcp can be specified multiple times on the kernel command line.
745 [listing]
746 .Example
748 rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
751 **rd.zfcp.conf=0**::
752     ignore zfcp.conf included in the initramfs
754 ZNET
755 ~~~~
756 **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
757     rd.znet can be specified multiple times on the kernel command line.
759 [listing]
760 .Example
762 rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
763 rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
766 Booting live images
767 ~~~~~~~~~~~~~~~~~~~
768 Dracut offers multiple options for live booted images:
770 =====================
771 squashfs with read-only filesystem image::: The system will boot with a read
772 only filesystem from the squashfs and apply a writable device mapper snapshot
773 over the read only filesystem.  Using this method ensures a relatively fast
774 boot and lower RAM usage. Users **must be careful** to avoid writing too many
775 blocks to the snapshot volume.  Once the blocks of the snapshot are exhaused,
776 the live filesystem becomes unusable and requires a reboot.
778 The filesystem structure is expected to be:
780 [listing]
782 squashfs.img          |  Squashfs downloaded via network
783    !(mount)
784    /LiveOS
785        |- ext3fs.img  |  Filesystem image to mount read-only
786             !(mount)
787             /bin      |  Live filesystem
788             /boot     |
789             /dev      |
790             ...       |
793 Dracut uses this method of live booting by default.  No additional command line
794 options are required other than **root=live:<URL>** to specify the location
795 of your squashed filesystem.
797 writable filesystem image::: The system will retrieve a compressed filesystem
798 image, connect it to a loopback device, and mount it as a writable volume.  More
799 RAM is required during boot but the live filesystem is easier to manage if it
800 becomes full.  Users can make a filesystem image of any size and that size will
801 be maintained when the system boots.
803 The filesystem structure is expected to be:
805 [listing]
807 rootfs.tgz            |  Compressed tarball containing fileystem image
808    !(unpack)
809    /rootfs.img        |  Filesystem image
810       !(mount)
811       /bin            |  Live filesystem
812       /boot           |
813       /dev            |
814       ...             |
817 To use this boot option, ensure that **rd.writable_fsimg=1** is in your kernel
818 command line and add the **root=live:<URL>** to specify the location
819 of your compressed filesystem image tarball.
820 =====================
822 **root=**live:__<url>__::
823 Boots a live image retrieved from __<url>__.  Valid handlers: __http, https, ftp, torrent, tftp__.
825 [listing]
826 .Example
828 root=live:http://example.com/liveboot.img
829 root=live:ftp://ftp.example.com/liveboot.img
830 root=live:torrent://example.com/liveboot.img.torrent
833 **rd.live.debug=**1::
834 Enables debug output from the live boot process.
836 **rd.live.dir=**__<path>__::
837 Specifies the directory within the squashfs where the ext3fs.img or rootfs.img
838 can be found.  By default, this is __LiveOS__.
840 **rd.live.ram=**1::
841 Copy the complete image to RAM and use this for booting. This is useful
842 when the image resides on i.e. a DVD which needs to be ejected later on.
844 **rd.live.overlay=**_<devspec>_:_(<pathspec>|auto)__
845 Allow the usage of a permanent overlay.
846 _<devspec>_ specifies the path to a device with a mountable filesystem.
847 _<pathspec>_ is the path to a file within that filesystem, which shall be used to
848 persist the changes made to the device specified by **root=live:__<url>__** option.
850 [listing]
851 .Example
853 rd.live.overlay=/dev/sdb1:persistent-overlay.img
856 **rd.live.overlay.thin=**1::
857 Enables the usage of thin snapshots instead of classic dm snapshots.
858 The advantage of thin snapshots is, that they support discards, and will free
859 blocks which are not claimed by the filesystem. In this use case this means,
860 that memory is given back to the kernel, when the filesystem does not claim it
861 anymore.
863 **rd.writable.fsimg=**1::
864 Enables writable filesystem support.  The system will boot with a fully 
865 writable filesystem without snapshots __(see notes above about available live boot options)__.
866 You can use the **rootflags** option to set mount options for the live
867 filesystem as well __(see documentation about rootflags in the **Standard** section above)__.
868 This implies that the whole image is copied to RAM before the boot continues.
870 NOTE: There must be enough free RAM available to hold the complete image.
872 This method is very suitable for diskless boots.
875 Plymouth Boot Splash
876 ~~~~~~~~~~~~~~~~~~~~
877 **plymouth.enable=0**::
878     disable the plymouth bootsplash completely.
880 **rd.plymouth=0**::
881     disable the plymouth bootsplash only for the initramfs.
883 Kernel keys
884 ~~~~~~~~~~~
885 **masterkey=**__<kernel master key path name>__::
886     Set the path name of the kernel master key.
888 [listing]
889 .Example
891 masterkey=/etc/keys/kmk-trusted.blob
894 **masterkeytype=**__<kernel master key type>__::
895     Set the type of the kernel master key.
897 [listing]
898 .Example
900 masterkeytype=trusted
903 **evmkey=**__<EVM key path name>__::
904     Set the path name of the EVM key.
906 [listing]
907 .Example
909 evmkey=/etc/keys/evm-trusted.blob
912 **ecryptfskey=**__<eCryptfs key path name>__::
913     Set the path name of the eCryptfs key.
915 [listing]
916 .Example
918 ecryptfskey=/etc/keys/ecryptfs-trusted.blob
921 Deprecated, renamed Options
922 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
923 Here is a list of options, which were used in dracut prior to version 008, and
924 their new replacement.
926 rdbreak:: rd.break
928 rd_CCW:: rd.ccw
930 rd_DASD_MOD:: rd.dasd
932 rd_DASD:: rd.dasd
934 rdinitdebug rdnetdebug:: rd.debug
936 rd_NO_DM:: rd.dm=0
938 rd_DM_UUID:: rd.dm.uuid
940 rdblacklist:: rd.driver.blacklist
942 rdinsmodpost:: rd.driver.post
944 rdloaddriver:: rd.driver.pre
946 rd_NO_FSTAB:: rd.fstab=0
948 rdinfo:: rd.info
950 check:: rd.live.check
952 rdlivedebug:: rd.live.debug
954 live_dir:: rd.live.dir
956 liveimg:: rd.live.image
958 overlay:: rd.live.overlay
960 readonly_overlay:: rd.live.overlay.readonly
962 reset_overlay:: rd.live.overlay.reset
964 live_ram:: rd.live.ram
966 rd_NO_CRYPTTAB:: rd.luks.crypttab=0
968 rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid
970 rd_LUKS_KEYPATH:: rd.luks.keypath
972 rd_NO_LUKS:: rd.luks=0
974 rd_LUKS_UUID:: rd.luks.uuid
976 rd_NO_LVMCONF:: rd.lvm.conf
978 rd_LVM_LV:: rd.lvm.lv
980 rd_NO_LVM:: rd.lvm=0
982 rd_LVM_SNAPSHOT:: rd.lvm.snapshot
984 rd_LVM_SNAPSIZE:: rd.lvm.snapsize
986 rd_LVM_VG:: rd.lvm.vg
988 rd_NO_MDADMCONF:: rd.md.conf=0
990 rd_NO_MDIMSM:: rd.md.imsm=0
992 rd_NO_MD:: rd.md=0
994 rd_MD_UUID:: rd.md.uuid
996 rd_NO_MULTIPATH: rd.multipath=0
998 rd_NFS_DOMAIN:: rd.nfs.domain
1000 iscsi_initiator:: rd.iscsi.initiator
1002 iscsi_target_name:: rd.iscsi.target.name
1004 iscsi_target_ip:: rd.iscsi.target.ip
1006 iscsi_target_port:: rd.iscsi.target.port
1008 iscsi_target_group:: rd.iscsi.target.group
1010 iscsi_username:: rd.iscsi.username
1012 iscsi_password:: rd.iscsi.password
1014 iscsi_in_username:: rd.iscsi.in.username
1016 iscsi_in_password:: rd.iscsi.in.password
1018 iscsi_firmware:: rd.iscsi.firmware=0
1020 rd_NO_PLYMOUTH:: rd.plymouth=0
1022 rd_retry:: rd.retry
1024 rdshell:: rd.shell
1026 rd_NO_SPLASH:: rd.splash
1028 rdudevdebug:: rd.udev.debug
1030 rdudevinfo:: rd.udev.info
1032 rd_NO_ZFCPCONF:: rd.zfcp.conf=0
1034 rd_ZFCP:: rd.zfcp
1036 rd_ZNET:: rd.znet
1038 KEYMAP:: vconsole.keymap
1040 KEYTABLE:: vconsole.keymap
1042 SYSFONT:: vconsole.font
1044 CONTRANS:: vconsole.font.map
1046 UNIMAP:: vconsole.font.unimap
1048 UNICODE:: vconsole.unicode
1050 EXT_KEYMAP:: vconsole.keymap.ext
1052 Configuration in the Initramfs
1053 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1054 _/etc/conf.d/_::
1055     Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
1056     set initial values. Command line options will override these values
1057     set in the configuration files.
1059 _/etc/cmdline_::
1060     Can contain additional command line options. Deprecated, better use
1061     /etc/cmdline.d/*.conf.
1063 _/etc/cmdline.d/*.conf_::
1064     Can contain additional command line options.
1066 AUTHOR
1067 ------
1068 Harald Hoyer
1070 SEE ALSO
1071 --------
1072 *dracut*(8) *dracut.conf*(5)