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