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