]> git.ipfire.org Git - thirdparty/dracut.git/blob - dracut.cmdline.7.asc
mdraid/mdraid_start.sh: tell mainloop if we make progress.
[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 programm 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.driver.blacklist=**__<drivername>__[,__<drivername>__,...]::
133 do not load kernel module <drivername>. This parameter can be specified
134 multiple times.
135
136 **rd.driver.pre=**__<drivername>__[,__<drivername>__,...]::
137 force loading kernel module <drivername>. This parameter can be specified
138 multiple times.
139
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.
143
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.
149
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.
154
155 **rd.noverifyssl**::
156 accept self-signed certificates for ssl downloads.
157
158 **rd.ctty=**__<terminal device>__::
159 specify the controlling terminal for the console.
160 This is useful, if you have multiple "console=" arguments.
161
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.
171
172 **rd.info**::
173 print informational output though "quiet" is set
174
175 **rd.shell**::
176 allow dropping to a shell, if root mounting fails
177
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.
185
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:
190 +
191 ----
192 0 - no output
193 1 - partial /proc/meminfo
194 2 - /proc/meminfo
195 3 - /proc/meminfo + /proc/slabinfo
196 ----
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 ~~~~
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.
215 +
216 [listing]
217 .Example
218 --
219 rd.vconsole.keymap=de-latin1-nodeadkeys
220 --
221
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
225
226 **rd.vconsole.unicode**::
227 boolean, indicating UTF-8 mode; will be written as UNICODE to
228 _/etc/vconsole.conf_ in the initramfs
229
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.
233 +
234 [listing]
235 .Example
236 --
237 rd.vconsole.font=LatArCyrHeb-16
238 --
239
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
244
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
249
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.
254 +
255 [listing]
256 .Example
257 --
258 rd.locale.LANG=pl_PL.utf8
259 --
260
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
264
265 LVM
266 ~~~
267 **rd.lvm=0**::
268 disable LVM detection
269
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.
273
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.
277
278 **rd.lvm.conf=0**::
279 remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs
280
281 crypto LUKS
282 ~~~~~~~~~~~
283 **rd.luks=0**::
284 disable crypto LUKS detection
285
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.
292
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.
299
300 **rd.luks.allow-discards**::
301 Allow using of discards (TRIM) requests on all LUKS partitions.
302
303 **rd.luks.crypttab=0**::
304 do not check, if LUKS partition is in _/etc/crypttab_
305
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.
313 +
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.
320 +
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:
324 +
325 [listing]
326 .Example
327 --
328 rd.luks.key=/foo/bar.key
329 --
330 +
331 As you see, you can skip colons in such a case.
332 +
333 [NOTE]
334 ===============================
335 dracut pipes key to cryptsetup with _-d -_ argument, therefore you need to pipe
336 to crypsetup luksFormat with _-d -_, too!
337
338 Here follows example for key encrypted with GPG:
339
340 [listing]
341 --
342 gpg --quiet --decrypt rootkey.gpg | \
343 cryptsetup -d - -v --cipher serpent-cbc-essiv:sha256 \
344 --key-size 256 luksFormat /dev/sda3
345 --
346
347 If you use plain keys, just add path to _-d_ option:
348
349 [listing]
350 --
351 cryptsetup -d rootkey.key -v --cipher serpent-cbc-essiv:sha256 \
352 --key-size 256 luksFormat /dev/sda3
353 --
354 ===============================
355
356 MD RAID
357 ~~~~~~~
358 **rd.md=0**::
359 disable MD RAID detection
360
361 **rd.md.imsm=0**::
362 disable MD RAID for imsm/isw raids, use DM RAID instead
363
364 **rd.md.ddf=0**::
365 disable MD RAID for SNIA ddf raids, use DM RAID instead
366
367 **rd.md.conf=0**::
368 ignore mdadm.conf included in initramfs
369
370 **rd.md.waitclean=1**::
371 wait for any resync, recovery, or reshape activity to finish before
372 continuing
373
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.
377
378 DM RAID
379 ~~~~~~~
380 **rd.dm=0**::
381 disable DM RAID detection
382
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.
386
387 MULTIPATH
388 ~~~~~~~~~
389 **rd.multipath=0**::
390 disable multipath detection
391
392 FIPS
393 ~~~~
394 **rd.fips**::
395 enable FIPS
396
397 **boot=**__<boot device>__::
398 specify the device, where /boot is located.
399 +
400 [listing]
401 .Example
402 --
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>
407 --
408
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.
412
413 Network
414 ~~~~~~~
415
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.
420
421 Predictable network interface device names based on:
422
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
427
428 See:
429 http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
430
431 Two character prefixes based on the type of interface:
432
433 en:: ethernet
434 wl:: wlan
435 ww:: wwan
436
437 Type of names:
438
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
444
445 All multi-function PCI devices will carry the [f<function>] number in the
446 device name, including the function 0 device.
447
448 When using PCI geography, The PCI domain is only prepended when it is not 0.
449
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.
454
455 PCI ethernet card with firmware index "1"::
456 * eno1
457
458 PCI ethernet card in hotplug slot with firmware index number::
459 * ens1
460
461 PCI ethernet multi-function card with 2 ports::
462 * enp2s0f0
463 * enp2s0f1
464
465 PCI wlan card::
466 * wlp3s0
467
468 USB built-in 3G modem::
469 * wwp0s29u1u4i6
470
471 USB Android phone::
472 * enp0s29u1u2
473 =====================
474
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.
479
480 auto6::: IPv6 autoconfiguration
481
482 dhcp6::: IPv6 DHCP
483
484 **ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6}__[:[__<mtu>__][:__<macaddr>__]]::
485 This parameter can be specified multiple times.
486 +
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 =====================
494
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.
501 +
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 =====================
507
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.
514
515 **ifname=**__<interface>__:__<MAC>__::
516 Assign network device name <interface> (ie "bootnet") to the NIC with
517 MAC <MAC>.
518 +
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".
522
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.
526 +
527 [listing]
528 .Example
529 --
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
534 --
535
536 **bootdev=**__<interface>__::
537 specify network interface to use routing and netroot information from.
538 Required if multiple ip= lines are used.
539
540 **BOOTIF=**__<MAC>__::
541 specify network interface to use routing and netroot information from.
542
543 **rd.bootif=0**::
544 Disable BOOTIF parsing, which is provided by PXE
545
546 **nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]::
547 specify nameserver(s) to use
548
549 **biosdevname=0**::
550 boolean, turn off biosdevname network interface renaming
551
552 **rd.neednet=1**::
553 boolean, bring up network even without netroot set
554
555 **vlan=**__<vlanname>__:__<phydevice>__::
556 Setup vlan device named <vlanname> on <phydeivce>.
557 We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005),
558 VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005),
559 DEV_PLUS_VID_NO_PAD (eth0.5)
560
561 **bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__]]::
562 Setup bonding device <bondname> on top of <bondslaves>.
563 <bondslaves> is a comma-separated list of physical (ethernet) interfaces.
564 <options> is a comma-separated list on bonding options (modinfo bonding for
565 details) in format compatible with initscripts. If <options> includes
566 multi-valued arp_ip_target option, then its values should be separated by
567 semicolon. Bond without parameters assumes
568 bond=bond0:eth0,eth1:mode=balance-rr
569
570 **team=**__<teammaster>__:__<teamslaves>__::
571 Setup team device <teammaster> on top of <teamslaves>.
572 <teamslaves> is a comma-separated list of physical (ethernet) interfaces.
573
574 **bridge=**__<bridgename>__:__<ethnames>__::
575 Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated
576 list of physical (ethernet) interfaces. Bridge without parameters assumes
577 bridge=br0:eth0
578
579 NFS
580 ~~~
581 **root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
582 mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
583 dhcp next_server. If server-ip is an IPv6 address it has to be put in
584 brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
585 ":" or "," and are seperated by ",".
586
587 **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
588 root=dhcp alone directs initrd to look at the DHCP root-path where NFS
589 options can be specified.
590 +
591 [listing]
592 .Example
593 --
594 root-path=<server-ip>:<root-dir>[,<nfs-options>]
595 root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
596 root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>]
597 --
598
599 **root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
600 _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this
601 method. This is supported by dracut, but not recommended.
602
603 **rd.nfs.domain=**__<NFSv4 domain name>__::
604 Set the NFSv4 domain name. Will overwrite the settings in _/etc/idmap.conf_.
605
606 CIFS
607 ~~~
608 **root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__::
609 mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
610 dhcp next_server. if server-ip is an IPv6 address it has to be put in
611 brackets, e.g. [2001:DB8::1]. If a username or password are not specified
612 as part of the root, then they must be passed on the command line through
613 cifsuser/cifspass.
614 +
615 WARNING: Passwords specified on the kernel command line are visible for all
616 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
617 network, when using DHCP with DHCP root-path.
618
619 **cifsuser**=__<username>__::
620 Set the cifs username, if not specified as part of the root.
621
622 **cifspass**=__<password>__::
623 Set the cifs password, if not specified as part of the root.
624 +
625 WARNING: Passwords specified on the kernel command line are visible for all
626 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
627 network, when using DHCP with DHCP root-path.
628
629 iSCSI
630 ~~~~~
631 **root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__::
632 protocol defaults to "6", LUN defaults to "0". If the "servername" field is
633 provided by BOOTP or DHCP, then that field is used in conjunction with other
634 associated fields to contact the boot server in the Boot stage. However, if
635 the "servername" field is not provided, then the "targetname" field is then
636 used in the Discovery Service stage in conjunction with other associated
637 fields. See
638 link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173].
639 +
640 WARNING: Passwords specified on the kernel command line are visible for all
641 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
642 network, when using DHCP with DHCP root-path.
643 +
644 [listing]
645 .Example
646 --
647 root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
648 --
649 +
650 If servername is an IPv6 address, it has to be put in brackets:
651 +
652 [listing]
653 .Example
654 --
655 root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
656 --
657
658 **root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...::
659 multiple netroot options allow setting up multiple iscsi disks:
660 +
661 [listing]
662 .Example
663 --
664 root=UUID=12424547
665 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
666 netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1
667 --
668 +
669 If servername is an IPv6 address, it has to be put in brackets:
670 +
671 [listing]
672 .Example
673 --
674 netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
675 --
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 You may want to use rd.iscsi.firmware.
681
682 **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>__::
683 manually specify all iscsistart parameter (see **+iscsistart --help+**)
684 +
685 WARNING: Passwords specified on the kernel command line are visible for all
686 users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
687 network, when using DHCP with DHCP root-path.
688 You may want to use rd.iscsi.firmware.
689
690 **root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
691 will read the iscsi parameter from the BIOS firmware
692
693 **rd.iscsi.param=**__<param>__::
694 <param> will be passed as "--param <param>" to iscsistart.
695 This parameter can be specified multiple times.
696 +
697 [listing]
698 .Example
699 --
700 "netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30"
701 --
702 +
703 will result in
704 +
705 [listing]
706 --
707 iscsistart -b --param node.session.timeo.replacement_timeout=30
708 --
709
710 **rd.iscsi.ibft** **rd.iscsi.ibft=1**:
711 Turn on iBFT autoconfiguration for the interfaces
712
713 FCoE
714 ~~~~
715 **fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__::
716 Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
717 _<MAC>_ or EDD settings. For the second argument, currently only nodcb is
718 supported. This parameter can be specified multiple times.
719 +
720 NOTE: letters in the MAC-address must be lowercase!
721
722 NBD
723 ~~~
724 **root=**??? **netroot=**nbd:__<server>__:__<port>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
725 mount nbd share from <server>
726
727 **root=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
728 root=dhcp alone directs initrd to look at the DHCP root-path where NBD
729 options can be specified. This syntax is only usable in cases where you are
730 directly mounting the volume as the rootfs.
731
732 DASD
733 ~~~~
734 **rd.dasd=**....::
735 same syntax as the kernel module parameter (s390 only)
736
737 ZFCP
738 ~~~~
739 **rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
740 rd.zfcp can be specified multiple times on the kernel command line.
741 +
742 [listing]
743 .Example
744 --
745 rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
746 --
747
748 **rd.zfcp.conf=0**::
749 ignore zfcp.conf included in the initramfs
750
751 ZNET
752 ~~~~
753 **rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
754 rd.znet can be specified multiple times on the kernel command line.
755 +
756 [listing]
757 .Example
758 --
759 rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
760 rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
761 --
762
763 Booting live images
764 ~~~~~~~~~~~~~~~~~~~
765 Dracut offers multiple options for live booted images:
766
767 =====================
768 squashfs with read-only filesystem image::: The system will boot with a read
769 only filesystem from the squashfs and apply a writable device mapper snapshot
770 over the read only filesystem. Using this method ensures a relatively fast
771 boot and lower RAM usage. Users **must be careful** to avoid writing too many
772 blocks to the snapshot volume. Once the blocks of the snapshot are exhaused,
773 the live filesystem becomes unusable and requires a reboot.
774 +
775 The filesystem structure is expected to be:
776 +
777 [listing]
778 --
779 squashfs.img | Squashfs downloaded via network
780 !(mount)
781 /LiveOS
782 |- ext3fs.img | Filesystem image to mount read-only
783 !(mount)
784 /bin | Live filesystem
785 /boot |
786 /dev |
787 ... |
788 --
789 +
790 Dracut uses this method of live booting by default. No additional command line
791 options are required other than **root=live:<URL>** to specify the location
792 of your squashed filesystem.
793 +
794 writable filesystem image::: The system will retrieve a compressed filesystem
795 image, connect it to a loopback device, and mount it as a writable volume. More
796 RAM is required during boot but the live filesystem is easier to manage if it
797 becomes full. Users can make a filesystem image of any size and that size will
798 be maintained when the system boots.
799 +
800 The filesystem structure is expected to be:
801 +
802 [listing]
803 --
804 rootfs.tgz | Compressed tarball containing fileystem image
805 !(unpack)
806 /rootfs.img | Filesystem image
807 !(mount)
808 /bin | Live filesystem
809 /boot |
810 /dev |
811 ... |
812 --
813 +
814 To use this boot option, ensure that **rd.writable_fsimg=1** is in your kernel
815 command line and add the **root=live:<URL>** to specify the location
816 of your compressed filesystem image tarball.
817 =====================
818
819 **root=**live:__<url>__::
820 Boots a live image retrieved from __<url>__. Valid handlers: __http, https, ftp, torrent, tftp__.
821 +
822 [listing]
823 .Example
824 --
825 root=live:http://example.com/liveboot.img
826 root=live:ftp://ftp.example.com/liveboot.img
827 root=live:torrent://example.com/liveboot.img.torrent
828 --
829
830 **rd.live.debug=**1::
831 Enables debug output from the live boot process.
832
833 **rd.live.dir=**__<path>__::
834 Specifies the directory within the squashfs where the ext3fs.img or rootfs.img
835 can be found. By default, this is __LiveOS__.
836
837 **rd.live.ram=**1::
838 Copy the complete image to RAM and use this for booting. This is useful
839 when the image resides on i.e. a DVD which needs to be ejected later on.
840
841 **rd.live.overlay.thin=**1::
842 Enables the usage of thin snapshots instead of classic dm snapshots.
843 The advantage of thin snapshots is, that they support discards, and will free
844 blocks which are not claimed by the filesystem. In this use case this means,
845 that memory is given back to the kernel, when the filesystem does not claim it
846 anymore.
847
848 **rd.writable.fsimg=**1::
849 Enables writable filesystem support. The system will boot with a fully
850 writable filesystem without snapshots __(see notes above about available live boot options)__.
851 You can use the **rootflags** option to set mount options for the live
852 filesystem as well __(see documentation about rootflags in the **Standard** section above)__.
853 This implies that the whole image is copied to RAM before the boot continues.
854 +
855 NOTE: There must be enough free RAM available to hold the complete image.
856 +
857 This method is very suitable for diskless boots.
858
859
860 Plymouth Boot Splash
861 ~~~~~~~~~~~~~~~~~~~~
862 **plymouth.enable=0**::
863 disable the plymouth bootsplash completely.
864
865 **rd.plymouth=0**::
866 disable the plymouth bootsplash only for the initramfs.
867
868 Kernel keys
869 ~~~~~~~~~~~
870 **masterkey=**__<kernel master key path name>__::
871 Set the path name of the kernel master key.
872 +
873 [listing]
874 .Example
875 --
876 masterkey=/etc/keys/kmk-trusted.blob
877 --
878
879 **masterkeytype=**__<kernel master key type>__::
880 Set the type of the kernel master key.
881 +
882 [listing]
883 .Example
884 --
885 masterkeytype=trusted
886 --
887
888 **evmkey=**__<EVM key path name>__::
889 Set the path name of the EVM key.
890 +
891 [listing]
892 .Example
893 --
894 evmkey=/etc/keys/evm-trusted.blob
895 --
896
897 **ecryptfskey=**__<eCryptfs key path name>__::
898 Set the path name of the eCryptfs key.
899 +
900 [listing]
901 .Example
902 --
903 ecryptfskey=/etc/keys/ecryptfs-trusted.blob
904 --
905
906 Deprecated, renamed Options
907 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
908 Here is a list of options, which were used in dracut prior to version 008, and
909 their new replacement.
910
911 rdbreak:: rd.break
912
913 rd_CCW:: rd.ccw
914
915 rd_DASD_MOD:: rd.dasd
916
917 rd_DASD:: rd.dasd
918
919 rdinitdebug rdnetdebug:: rd.debug
920
921 rd_NO_DM:: rd.dm=0
922
923 rd_DM_UUID:: rd.dm.uuid
924
925 rdblacklist:: rd.driver.blacklist
926
927 rdinsmodpost:: rd.driver.post
928
929 rdloaddriver:: rd.driver.pre
930
931 rd_NO_FSTAB:: rd.fstab=0
932
933 rdinfo:: rd.info
934
935 check:: rd.live.check
936
937 rdlivedebug:: rd.live.debug
938
939 live_dir:: rd.live.dir
940
941 liveimg:: rd.live.image
942
943 overlay:: rd.live.overlay
944
945 readonly_overlay:: rd.live.overlay.readonly
946
947 reset_overlay:: rd.live.overlay.reset
948
949 live_ram:: rd.live.ram
950
951 rd_NO_CRYPTTAB:: rd.luks.crypttab=0
952
953 rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid
954
955 rd_LUKS_KEYPATH:: rd.luks.keypath
956
957 rd_NO_LUKS:: rd.luks=0
958
959 rd_LUKS_UUID:: rd.luks.uuid
960
961 rd_NO_LVMCONF:: rd.lvm.conf
962
963 rd_LVM_LV:: rd.lvm.lv
964
965 rd_NO_LVM:: rd.lvm=0
966
967 rd_LVM_SNAPSHOT:: rd.lvm.snapshot
968
969 rd_LVM_SNAPSIZE:: rd.lvm.snapsize
970
971 rd_LVM_VG:: rd.lvm.vg
972
973 rd_NO_MDADMCONF:: rd.md.conf=0
974
975 rd_NO_MDIMSM:: rd.md.imsm=0
976
977 rd_NO_MD:: rd.md=0
978
979 rd_MD_UUID:: rd.md.uuid
980
981 rd_NO_MULTIPATH: rd.multipath=0
982
983 rd_NFS_DOMAIN:: rd.nfs.domain
984
985 iscsi_initiator:: rd.iscsi.initiator
986
987 iscsi_target_name:: rd.iscsi.target.name
988
989 iscsi_target_ip:: rd.iscsi.target.ip
990
991 iscsi_target_port:: rd.iscsi.target.port
992
993 iscsi_target_group:: rd.iscsi.target.group
994
995 iscsi_username:: rd.iscsi.username
996
997 iscsi_password:: rd.iscsi.password
998
999 iscsi_in_username:: rd.iscsi.in.username
1000
1001 iscsi_in_password:: rd.iscsi.in.password
1002
1003 iscsi_firmware:: rd.iscsi.firmware=0
1004
1005 rd_NO_PLYMOUTH:: rd.plymouth=0
1006
1007 rd_retry:: rd.retry
1008
1009 rdshell:: rd.shell
1010
1011 rd_NO_SPLASH:: rd.splash
1012
1013 rdudevdebug:: rd.udev.debug
1014
1015 rdudevinfo:: rd.udev.info
1016
1017 rd_NO_ZFCPCONF:: rd.zfcp.conf=0
1018
1019 rd_ZFCP:: rd.zfcp
1020
1021 rd_ZNET:: rd.znet
1022
1023 KEYMAP:: vconsole.keymap
1024
1025 KEYTABLE:: vconsole.keymap
1026
1027 SYSFONT:: vconsole.font
1028
1029 CONTRANS:: vconsole.font.map
1030
1031 UNIMAP:: vconsole.font.unimap
1032
1033 UNICODE:: vconsole.unicode
1034
1035 EXT_KEYMAP:: vconsole.keymap.ext
1036
1037 Configuration in the Initramfs
1038 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1039 _/etc/conf.d/_::
1040 Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
1041 set initial values. Command line options will override these values
1042 set in the configuration files.
1043
1044 _/etc/cmdline_::
1045 Can contain additional command line options. Deprecated, better use
1046 /etc/cmdline.d/*.conf.
1047
1048 _/etc/cmdline.d/*.conf_::
1049 Can contain additional command line options.
1050
1051 AUTHOR
1052 ------
1053 Harald Hoyer
1054
1055 SEE ALSO
1056 --------
1057 *dracut*(8) *dracut.conf*(5)