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