]> git.ipfire.org Git - thirdparty/dracut.git/blame - man/dracut.cmdline.7.asc
feat(livenet): add memory size check depending on live image size
[thirdparty/dracut.git] / man / 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--
fc182ed8 59rootfstype=ext4
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]__::
27071e9a 137 specify, what action to execute in case of a critical failure. rd.shell=0 must also
5db79ae4 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.
4855242c 154 The default is 180 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}__::
61275141 224 drop to a shell before the defined breakpoint starts
888d53f2
HH
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 455
65e41b54
NP
456**rd.luks.key.tout=0**::
457 specify how many times dracut will try to read the keys specified in in
458 rd.luk.key. This gives a chance to the removable device containing the key
459 to initialise.
460
888d53f2
HH
461MD RAID
462~~~~~~~
463**rd.md=0**::
464 disable MD RAID detection
465
466**rd.md.imsm=0**::
467 disable MD RAID for imsm/isw raids, use DM RAID instead
468
469**rd.md.ddf=0**::
470 disable MD RAID for SNIA ddf raids, use DM RAID instead
471
472**rd.md.conf=0**::
473 ignore mdadm.conf included in initramfs
474
475**rd.md.waitclean=1**::
ef9ddb91
HH
476 wait for any resync, recovery, or reshape activity to finish before
477 continuing
888d53f2 478
b6c89768 479**rd.md.uuid=**__<md raid uuid>__::
888d53f2
HH
480 only activate the raid sets with the given UUID. This parameter can be
481 specified multiple times.
482
483DM RAID
484~~~~~~~
485**rd.dm=0**::
486 disable DM RAID detection
487
b6c89768 488**rd.dm.uuid=**__<dm raid uuid>__::
888d53f2
HH
489 only activate the raid sets with the given UUID. This parameter can be
490 specified multiple times.
491
778b3543
HH
492MULTIPATH
493~~~~~~~~~
494**rd.multipath=0**::
495 disable multipath detection
496
b8a92b71
BH
497**rd.multipath=default**::
498 use default multipath settings
499
888d53f2
HH
500FIPS
501~~~~
502**rd.fips**::
503 enable FIPS
504
b6c89768
HH
505**boot=**__<boot device>__::
506 specify the device, where /boot is located.
888d53f2 507+
b6c89768
HH
508[listing]
509.Example
510--
888d53f2
HH
511boot=/dev/sda1
512boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1
513boot=UUID=<uuid>
514boot=LABEL=<label>
b6c89768 515--
888d53f2
HH
516
517**rd.fips.skipkernel**::
518 skip checksum check of the kernel image. Useful, if the kernel image is not
519 in a separate boot partition.
520
521Network
522~~~~~~~
b6c89768
HH
523
524[IMPORTANT]
525=====================
ef9ddb91
HH
526It is recommended to either bind an interface to a MAC with the **ifname**
527argument, or to use the systemd-udevd predictable network interface names.
b6c89768
HH
528
529Predictable network interface device names based on:
530
531- firmware/bios-provided index numbers for on-board devices
532- firmware-provided pci-express hotplug slot index number
533- physical/geographical location of the hardware
534- the interface's MAC address
535
ef9ddb91
HH
536See:
537http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
b6c89768
HH
538
539Two character prefixes based on the type of interface:
540
541en:: ethernet
542wl:: wlan
543ww:: wwan
544
545Type of names:
546
547o<index>:: on-board device index number
548s<slot>[f<function>][d<dev_id>]:: hotplug slot index number
549x<MAC>:: MAC address
550[P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]:: PCI geographical location
551[P<domain>]p<bus>s<slot>[f<function>][u<port>][..][c<config>][i<interface>]:: USB port number chain
552
553All multi-function PCI devices will carry the [f<function>] number in the
554device name, including the function 0 device.
555
556When using PCI geography, The PCI domain is only prepended when it is not 0.
557
558For USB devices the full chain of port numbers of hubs is composed. If the
559name gets longer than the maximum number of 15 characters, the name is not
560exported.
561The usual USB configuration == 1 and interface == 0 values are suppressed.
562
563PCI ethernet card with firmware index "1"::
564* eno1
565
566PCI ethernet card in hotplug slot with firmware index number::
567* ens1
568
569PCI ethernet multi-function card with 2 ports::
570* enp2s0f0
571* enp2s0f1
572
573PCI wlan card::
574* wlp3s0
575
576USB built-in 3G modem::
577* wwp0s29u1u4i6
578
579USB Android phone::
580* enp0s29u1u2
581=====================
582
c868feb1
BG
583The following options are supported by the 'network-legacy' dracut
584module. Other network modules might support a slightly different set of
585options; refer to the documentation of the specific network module in use. For
586NetworkManager, see *nm-initrd-generator*(8).
587
b12f8188 588**ip=**__{dhcp|on|any|dhcp6|auto6|either6|link6|single-dhcp}__::
bb69aff1 589 dhcp|on|any::: get ip from dhcp server from all interfaces. If netroot=dhcp,
ef9ddb91
HH
590 loop sequentially through all interfaces (eth0, eth1, ...) and use the first
591 with a valid DHCP root-path.
888d53f2 592
4026cd3b
AK
593 single-dhcp::: Send DHCP on all available interfaces in parallel, as
594 opposed to one after another. After the first DHCP response is received,
67bcc493 595 stop DHCP on all other interfaces. This gives the fastest boot time by
4026cd3b 596 using the IP on interface for which DHCP succeeded first during early boot.
9dbbebb1 597 Caveat: Does not apply to Network Manager.
4026cd3b 598
888d53f2
HH
599 auto6::: IPv6 autoconfiguration
600
601 dhcp6::: IPv6 DHCP
602
67354eeb
PL
603 either6::: if auto6 fails, then dhcp6
604
b12f8188
JJ
605 link6::: bring up interface for IPv6 link-local addressing
606
607**ip=**__<interface>__:__{dhcp|on|any|dhcp6|auto6|link6}__[:[__<mtu>__][:__<macaddr>__]]::
888d53f2
HH
608 This parameter can be specified multiple times.
609+
1760dfc0 610=====================
888d53f2
HH
611dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface
612auto6::: do IPv6 autoconfiguration
b12f8188 613link6::: bring up interface for IPv6 link local address
1760dfc0
HH
614<macaddr>::: optionally **set** <macaddr> on the <interface>. This
615cannot be used in conjunction with the **ifname** argument for the
616same <interface>.
617=====================
618
0a7d7f63 619**ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<mtu>__][:__<macaddr>__]]::
888d53f2
HH
620 explicit network configuration. If you want do define a IPv6 address, put it
621 in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
e38e73d5 622 times. __<peer>__ is optional and is the address of the remote endpoint
ef9ddb91
HH
623 for pointopoint interfaces and it may be followed by a slash and a decimal
624 number, encoding the network prefix length.
990e945f 625+
1760dfc0
HH
626=====================
627<macaddr>::: optionally **set** <macaddr> on the <interface>. This
628cannot be used in conjunction with the **ifname** argument for the
629same <interface>.
630=====================
631
1982098e
HH
632**ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]::
633 explicit network configuration. If you want do define a IPv6 address, put it
634 in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
635 times. __<peer>__ is optional and is the address of the remote endpoint
636 for pointopoint interfaces and it may be followed by a slash and a decimal
637 number, encoding the network prefix length.
638
b6c89768 639**ifname=**__<interface>__:__<MAC>__::
ead8729b 640 Assign network device name <interface> (i.e. "bootnet") to the NIC with
ef9ddb91 641 MAC <MAC>.
1760dfc0 642+
b6c89768 643WARNING: Do **not** use the default kernel naming scheme for the interface name,
1760dfc0
HH
644as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the
645interface name. Better name it "bootnet" or "bluesocket".
888d53f2 646
7b46244b
HH
647**rd.route=**__<net>__/__<netmask>__:__<gateway>__[:__<interface>__]::
648 Add a static route with route options, which are separated by a colon.
649 IPv6 addresses have to be put in brackets.
650+
651[listing]
652.Example
653--
654 rd.route=192.168.200.0/24:192.168.100.222:ens10
655 rd.route=192.168.200.0/24:192.168.100.222
656 rd.route=192.168.200.0/24::ens10
657 rd.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10
658--
659
b6c89768 660**bootdev=**__<interface>__::
888d53f2
HH
661 specify network interface to use routing and netroot information from.
662 Required if multiple ip= lines are used.
663
ee993857
HH
664**BOOTIF=**__<MAC>__::
665 specify network interface to use routing and netroot information from.
666
667**rd.bootif=0**::
668 Disable BOOTIF parsing, which is provided by PXE
669
888d53f2
HH
670**nameserver=**__<IP>__ [**nameserver=**__<IP>__ ...]::
671 specify nameserver(s) to use
672
df0bdd5a
HH
673**rd.peerdns=0**::
674 Disable DNS setting of DHCP parameters.
675
888d53f2
HH
676**biosdevname=0**::
677 boolean, turn off biosdevname network interface renaming
678
48dba7f9
HH
679**rd.neednet=1**::
680 boolean, bring up network even without netroot set
681
b6c89768 682**vlan=**__<vlanname>__:__<phydevice>__::
f87605e3 683 Setup vlan device named <vlanname> on <phydevice>.
ef9ddb91
HH
684 We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005),
685 VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0.0005),
686 DEV_PLUS_VID_NO_PAD (eth0.5)
144787fe 687
65960fda 688**bond=**__<bondname>__[:__<bondslaves>__:[:__<options>__[:<mtu>]]]::
c438bdb0
AW
689 Setup bonding device <bondname> on top of <bondslaves>.
690 <bondslaves> is a comma-separated list of physical (ethernet) interfaces.
ef9ddb91
HH
691 <options> is a comma-separated list on bonding options (modinfo bonding for
692 details) in format compatible with initscripts. If <options> includes
693 multi-valued arp_ip_target option, then its values should be separated by
65960fda
HH
694 semicolon. if the mtu is specified, it will be set on the bond master.
695 Bond without parameters assumes
ef9ddb91 696 bond=bond0:eth0,eth1:mode=balance-rr
c438bdb0 697
e4483e59 698**team=**__<teammaster>__:__<teamslaves>__[:__<teamrunner>__]::
3baa150b
CW
699 Setup team device <teammaster> on top of <teamslaves>.
700 <teamslaves> is a comma-separated list of physical (ethernet) interfaces.
e4483e59
RT
701 <teamrunner> is the runner type to be used (see *teamd.conf*(5)); defaults to
702 activebackup.
703 Team without parameters assumes
704 team=team0:eth0,eth1:activebackup
3baa150b 705
b6c89768 706**bridge=**__<bridgename>__:__<ethnames>__::
21928b97 707 Setup bridge <bridgename> with <ethnames>. <ethnames> is a comma-separated
ef9ddb91
HH
708 list of physical (ethernet) interfaces. Bridge without parameters assumes
709 bridge=br0:eth0
9337c692 710
888d53f2
HH
711NFS
712~~~
b6c89768 713**root=**\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
888d53f2 714 mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
7b46244b 715 dhcp next_server. If server-ip is an IPv6 address it has to be put in
888d53f2 716 brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
d0921882 717 ":" or "," and are separated by ",".
888d53f2 718
b6c89768 719**root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
bb69aff1 720 netroot=dhcp alone directs initrd to look at the DHCP root-path where NFS
888d53f2
HH
721 options can be specified.
722+
b6c89768
HH
723[listing]
724.Example
725--
888d53f2
HH
726 root-path=<server-ip>:<root-dir>[,<nfs-options>]
727 root-path=nfs:<server-ip>:<root-dir>[,<nfs-options>]
728 root-path=nfs4:<server-ip>:<root-dir>[,<nfs-options>]
b6c89768 729--
888d53f2 730
b6c89768 731**root=**_/dev/nfs_ nfsroot=\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__]::
888d53f2
HH
732 _Deprecated!_ kernel Documentation_/filesystems/nfsroot.txt_ defines this
733 method. This is supported by dracut, but not recommended.
734
b6c89768 735**rd.nfs.domain=**__<NFSv4 domain name>__::
85c8217d 736 Set the NFSv4 domain name. Will override the settings in _/etc/idmap.conf_.
888d53f2 737
2448fbf1
HH
738**rd.net.dhcp.retry=**__<cnt>__::
739 If this option is set, dracut will try to connect via dhcp <cnt> times before failing.
740 Default is 1.
741
742**rd.net.timeout.dhcp=**__<arg>__::
699e3945 743 If this option is set, dhclient is called with "--timeout <arg>".
2448fbf1
HH
744
745**rd.net.timeout.iflink=**__<seconds>__::
746 Wait <seconds> until link shows up. Default is 60 seconds.
747
748**rd.net.timeout.ifup=**__<seconds>__::
749 Wait <seconds> until link has state "UP". Default is 20 seconds.
750
751**rd.net.timeout.route=**__<seconds>__::
752 Wait <seconds> until route shows up. Default is 20 seconds.
753
754**rd.net.timeout.ipv6dad=**__<seconds>__::
755 Wait <seconds> until IPv6 DAD is finished. Default is 50 seconds.
756
757**rd.net.timeout.ipv6auto=**__<seconds>__::
758 Wait <seconds> until IPv6 automatic addresses are assigned. Default is 40 seconds.
759
760**rd.net.timeout.carrier=**__<seconds>__::
579fbb9f 761 Wait <seconds> until carrier is recognized. Default is 10 seconds.
2448fbf1 762
d580636e
MG
763CIFS
764~~~
b6c89768 765**root=**cifs://[__<username>__[:__<password>__]@]__<server-ip>__:__<root-dir>__::
d580636e
MG
766 mount cifs share from <server-ip>:/<root-dir>, if no server-ip is given, use
767 dhcp next_server. if server-ip is an IPv6 address it has to be put in
768 brackets, e.g. [2001:DB8::1]. If a username or password are not specified
769as part of the root, then they must be passed on the command line through
770cifsuser/cifspass.
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
b6c89768 776**cifsuser**=__<username>__::
d580636e
MG
777 Set the cifs username, if not specified as part of the root.
778
b6c89768 779**cifspass**=__<password>__::
d580636e 780 Set the cifs password, if not specified as part of the root.
833685de 781+
ef9ddb91
HH
782WARNING: Passwords specified on the kernel command line are visible for all
783users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
784network, when using DHCP with DHCP root-path.
d580636e 785
888d53f2
HH
786iSCSI
787~~~~~
b6c89768 788**root=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__::
888d53f2
HH
789 protocol defaults to "6", LUN defaults to "0". If the "servername" field is
790 provided by BOOTP or DHCP, then that field is used in conjunction with other
791 associated fields to contact the boot server in the Boot stage. However, if
792 the "servername" field is not provided, then the "targetname" field is then
793 used in the Discovery Service stage in conjunction with other associated
794 fields. See
795 link:$$http://tools.ietf.org/html/rfc4173#section-5$$[rfc4173].
888d53f2 796+
ef9ddb91
HH
797WARNING: Passwords specified on the kernel command line are visible for all
798users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
799network, when using DHCP with DHCP root-path.
b6c89768
HH
800+
801[listing]
802.Example
803--
888d53f2 804root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
b6c89768 805--
888d53f2 806+
b6c89768 807If servername is an IPv6 address, it has to be put in brackets:
888d53f2 808+
b6c89768
HH
809[listing]
810.Example
811--
888d53f2 812root=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
b6c89768 813--
888d53f2 814
b6c89768
HH
815**root=**__???__ **netroot=**iscsi:[__<username>__:__<password>__[:__<reverse>__:__<password>__]@][__<servername>__]:[__<protocol>__]:[__<port>__][:[__<iscsi_iface_name>__]:[__<netdev_name>__]]:[__<LUN>__]:__<targetname>__ ...::
816 multiple netroot options allow setting up multiple iscsi disks:
888d53f2 817+
b6c89768
HH
818[listing]
819.Example
820--
888d53f2
HH
821root=UUID=12424547
822netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0
823netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target1
b6c89768 824--
888d53f2 825+
b6c89768 826If servername is an IPv6 address, it has to be put in brackets:
888d53f2 827+
b6c89768
HH
828[listing]
829.Example
830--
888d53f2 831netroot=iscsi:[2001:DB8::1]::::iqn.2009-06.dracut:target0
b6c89768 832--
833685de 833+
ef9ddb91
HH
834WARNING: Passwords specified on the kernel command line are visible for all
835users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
836network, when using DHCP with DHCP root-path.
837You may want to use rd.iscsi.firmware.
888d53f2 838
b6c89768 839**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 840 manually specify all iscsistart parameter (see **+iscsistart --help+**)
833685de 841+
ef9ddb91
HH
842WARNING: Passwords specified on the kernel command line are visible for all
843users via the file _/proc/cmdline_ and via dmesg or can be sniffed on the
844network, when using DHCP with DHCP root-path.
845You may want to use rd.iscsi.firmware.
888d53f2
HH
846
847**root=**_???_ **netroot=**iscsi **rd.iscsi.firmware=1**::
848 will read the iscsi parameter from the BIOS firmware
849
6ccb58a5
HH
850**rd.iscsi.login_retry_max=**__<num>__::
851 maximum number of login retries
852
b6c89768 853**rd.iscsi.param=**__<param>__::
8d51acbb
HH
854 <param> will be passed as "--param <param>" to iscsistart.
855 This parameter can be specified multiple times.
8d51acbb 856+
b6c89768
HH
857[listing]
858.Example
859--
833685de 860"netroot=iscsi rd.iscsi.firmware=1 rd.iscsi.param=node.session.timeo.replacement_timeout=30"
b6c89768 861--
8d51acbb
HH
862+
863will result in
864+
b6c89768
HH
865[listing]
866--
8d51acbb 867iscsistart -b --param node.session.timeo.replacement_timeout=30
b6c89768 868--
8d51acbb 869
5580e4c1
HH
870**rd.iscsi.ibft** **rd.iscsi.ibft=1**:
871 Turn on iBFT autoconfiguration for the interfaces
872
c7ee6b3d
ES
873**rd.iscsi.mp** **rd.iscsi.mp=1**:
874 Configure all iBFT interfaces, not only used for booting (multipath)
875
69171aa8
HH
876**rd.iscsi.waitnet=0**:
877 Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets.
878
879**rd.iscsi.testroute=0**:
880 Turn off checking, if the route to the iSCSI target IP is possible before trying to login.
881
888d53f2
HH
882FCoE
883~~~~
6f7823bc 884**rd.fcoe=0**::
7c6d2ad9
PT
885 disable FCoE and lldpad
886
c75196e1 887**fcoe=**__<edd|interface|MAC>__:__{dcb|nodcb}__:__{fabric|vn2vn}__::
888d53f2 888 Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
c75196e1
HR
889 _<MAC>_ or EDD settings. The second argument specifies if DCB
890 should be used. The optional third argument specifies whether
891 fabric or VN2VN mode should be used.
892 This parameter can be specified multiple times.
1760dfc0 893+
b6c89768 894NOTE: letters in the MAC-address must be lowercase!
888d53f2 895
e9a614b5
HR
896NVMf
897~~~~
4b69e63b 898**rd.nonvmf**::
77420527
AAF
899 Disable NVMf
900
b490f6f7
MW
901**rd.nvmf.nonbft**::
902 Disable connecting to targets from the NVMe Boot Firmware Table. Without
903 this parameter, NBFT connections will take precedence over _rd.nvmf.discover_.
904
905**rd.nvmf.nostatic**::
906 Disable connecting to targets that have been statically configured when
907 the initramfs was built. Targets specified with rd.nvmf.discover on the
908 kernel command line will still be tried.
909
e9a614b5
HR
910**rd.nvmf.hostnqn=**__<hostNQN>__::
911 NVMe host NQN to use
912
913**rd.nvmf.hostid=**__<hostID>__::
914 NVMe host id to use
915
916**rd.nvmf.discover=**__{rdma|fc|tcp}__,__<traddr>__,[__<host_traddr>__],[__<trsvcid>__]::
917 Discover and connect to a NVMe-over-Fabric controller specified by
918 _<traddr>_ and the optionally _<host_traddr>_ or _<trsvcid>_.
919 The first argument specifies the transport to use; currently only
920 'rdma', 'fc', or 'tcp' are supported.
921 This parameter can be specified multiple times.
a90efdd7
MW
922+
923[listing]
924.Examples
925--
926rd.nvmf.discover=tcp,192.168.10.10,,4420
927rd.nvmf.discover=fc,nn-0x201700a05634f5bf:pn-0x201900a05634f5bf,nn-0x200000109b579ef3:pn-0x100000109b579ef3
928--
929
930**rd.nvmf.discover=fc,auto**::
931 This special syntax determines that Fibre Channel autodiscovery
932 is to be used rather than regular NVMe discovery. It takes precedence
933 over all other _rd.nvmf.discover=_ arguments.
e9a614b5 934
888d53f2
HH
935NBD
936~~~
b070c1d3
HH
937**root=**??? **netroot=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
938 mount nbd share from <server>.
939+
940NOTE:
941 If "exportname" instead of "port" is given the standard port is used.
942 Newer versions of nbd are only supported with "exportname".
888d53f2 943
bb69aff1
HH
944**root=/dev/root netroot=dhcp** with **dhcp** **root-path=**nbd:__<server>__:__<port/exportname>__[:__<fstype>__[:__<mountopts>__[:__<nbdopts>__]]]::
945 netroot=dhcp alone directs initrd to look at the DHCP root-path where NBD
888d53f2
HH
946 options can be specified. This syntax is only usable in cases where you are
947 directly mounting the volume as the rootfs.
b070c1d3
HH
948+
949NOTE:
950 If "exportname" instead of "port" is given the standard port is used.
951 Newer versions of nbd are only supported with "exportname".
888d53f2 952
4632f799
GM
953VIRTIOFS
954~~~~~~~~
955**root=**virtiofs:__<mount-tag>__::
956 mount virtiofs share using the tag <mount-tag>.
957 The tag name is arbitrary and must match the tag given in the qemu '-device' command.
958
959**rootfstype=**virtiofs **root=**__<mount-tag>__::
960 mount virtiofs share using the tag <mount-tag>.
961 The tag name is arbitrary and must match the tag given in the qemu '-device' command.
962
963Both formats are supported by the 'virtiofs' dracut module.
964See https://gitlab.com/virtio-fs/virtiofsd for more information.
965
966[listing]
967.Example
968--
969root=virtiofs:host rw
970--
971
888d53f2
HH
972DASD
973~~~~
4d76a85d 974**rd.dasd=**....::
888d53f2
HH
975 same syntax as the kernel module parameter (s390 only)
976
888d53f2
HH
977ZFCP
978~~~~
b6c89768 979**rd.zfcp=**__<zfcp adaptor device bus ID>__,__<WWPN>__,__<FCPLUN>__::
c8aa1d94
HR
980 rd.zfcp can be specified multiple times on the kernel command
981 line.
982
983**rd.zfcp=**__<zfcp adaptor device bus ID>__::
984 If NPIV is enabled and the 'allow_lun_scan' parameter to the zfcp
985 module is set to 'Y' then the zfcp adaptor will be initiating a
986 scan internally and the <WWPN> and <FCPLUN> parameters can be omitted.
888d53f2 987+
b6c89768
HH
988[listing]
989.Example
990--
888d53f2 991rd.zfcp=0.0.4000,0x5005076300C213e9,0x5022000000000000
c8aa1d94 992rd.zfcp=0.0.4000
b6c89768 993--
888d53f2
HH
994
995**rd.zfcp.conf=0**::
996 ignore zfcp.conf included in the initramfs
997
998ZNET
999~~~~
b6c89768 1000**rd.znet=**__<nettype>__,__<subchannels>__,__<options>__::
a5420672
HH
1001 The whole parameter is appended to /etc/ccw.conf, which is used on
1002 RHEL/Fedora with ccw_init, which is called from udev for certain
1003 devices on z-series.
b6c89768 1004 rd.znet can be specified multiple times on the kernel command line.
872eb699
KS
1005
1006**rd.znet_ifname=**__<ifname>__:__<subchannels>__::
1007 Assign network device name <interface> (i.e. "bootnet") to the NIC
1008 corresponds to the subchannels. This is useful when dracut's default
1009 "ifname=" doesn't work due to device having a changing MAC address.
888d53f2 1010+
b6c89768
HH
1011[listing]
1012.Example
1013--
888d53f2 1014rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
62fd2b36 1015rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar
b6c89768 1016--
888d53f2 1017
504c0a8f
MH
1018Booting live images
1019~~~~~~~~~~~~~~~~~~~
1020Dracut offers multiple options for live booted images:
1021
1022=====================
789668de
FG
1023SquashFS with read-only filesystem image::: The system will boot with a
1024read-only filesystem from the SquashFS and apply a writable Device-mapper
1025snapshot or an OverlayFS overlay mount for the read-only base filesystem. This
1026method ensures a relatively fast boot and lower RAM usage. Users **must be
1027careful** to avoid writing too many blocks to a snapshot volume. Once the
1028blocks of the snapshot overlay are exhausted, the root filesystem becomes
1029read-only and may cause application failures. The snapshot overlay file is
1030marked 'Overflow', and a difficult recovery is required to repair and enlarge
1031the overlay offline. Non-persistent overlays are sparse files in RAM that only
1032consume content space as required blocks are allocated. They default to an
1033apparent size of 32 GiB in RAM. The size can be adjusted with the
1034**rd.live.overlay.size=** kernel command line option.
504c0a8f 1035+
789668de 1036The filesystem structure is traditionally expected to be:
504c0a8f
MH
1037+
1038[listing]
1039--
789668de 1040squashfs.img | SquashFS from LiveCD .iso
504c0a8f
MH
1041 !(mount)
1042 /LiveOS
ea288240 1043 |- rootfs.img | Filesystem image to mount read-only
504c0a8f
MH
1044 !(mount)
1045 /bin | Live filesystem
1046 /boot |
1047 /dev |
1048 ... |
1049--
1050+
789668de
FG
1051For OverlayFS mount overlays, the filesystem structure may also be a direct
1052compression of the root filesystem:
1053+
1054[listing]
1055--
1056squashfs.img | SquashFS from LiveCD .iso
1057 !(mount)
1058 /bin | Live filesystem
1059 /boot |
1060 /dev |
1061 ... |
1062--
1063+
1064Dracut uses one of the overlay methods of live booting by default. No
1065additional command line options are required other than **root=live:<URL>** to
1066specify the location of your squashed filesystem.
504c0a8f 1067+
33a4198e
FG
1068- The compressed SquashFS image can be copied during boot to RAM at
1069`/run/initramfs/squashed.img` by using the **rd.live.ram=1** option.
789668de 1070- A device with a persistent overlay can be booted read-only by using the
33a4198e 1071**rd.live.overlay.readonly** option on the kernel command line. This will
789668de
FG
1072either cause a temporary, writable overlay to be stacked over a read-only
1073snapshot of the root filesystem or the OverlayFS mount will use an additional
1074lower layer with the root filesystem.
33a4198e
FG
1075+
1076Uncompressed live filesystem image:::
1077When the live system was installed with the '--skipcompress' option of the
1078__livecd-iso-to-disk__ installation script for Live USB devices, the root
789668de 1079filesystem image, __rootfs.img__, is expanded on installation and no SquashFS
33a4198e
FG
1080is involved during boot.
1081+
1082- If **rd.live.ram=1** is used in this situation, the full, uncompressed
1083root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the
1084`/run` tmpfs.
1085+
1086- If **rd.live.overlay=none** is provided as a kernel command line option,
789668de 1087a writable, linear Device-mapper target is created on boot with no overlay.
33a4198e 1088
789668de 1089Writable filesystem image:::
33a4198e
FG
1090The system will retrieve a compressed filesystem image, extract it to
1091`/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a
789668de 1092writable, linear Device-mapper target at `/dev/mapper/live-rw`, and mount that
33a4198e
FG
1093as a writable volume at `/`. More RAM is required during boot but the live
1094filesystem is easier to manage if it becomes full. Users can make a filesystem
1095image of any size and that size will be maintained when the system boots. There
1096is no persistence of root filesystem changes between boots with this option.
504c0a8f
MH
1097+
1098The filesystem structure is expected to be:
1099+
1100[listing]
1101--
789668de 1102rootfs.tgz | Compressed tarball containing filesystem image
504c0a8f 1103 !(unpack)
33a4198e 1104 /rootfs.img | Filesystem image at /run/initramfs/fsimg/
504c0a8f
MH
1105 !(mount)
1106 /bin | Live filesystem
1107 /boot |
1108 /dev |
1109 ... |
1110--
1111+
33a4198e 1112To use this boot option, ensure that **rd.writable.fsimg=1** is in your kernel
504c0a8f 1113command line and add the **root=live:<URL>** to specify the location
33a4198e 1114of your compressed filesystem image tarball or SquashFS image.
504c0a8f
MH
1115=====================
1116
33a4198e
FG
1117**rd.writable.fsimg=**1::
1118Enables writable filesystem support. The system will boot with a fully
1119writable (but non-persistent) filesystem without snapshots __(see notes above
1120about available live boot options)__. You can use the **rootflags** option to
1121set mount options for the live filesystem as well __(see documentation about
1122rootflags in the **Standard** section above)__.
1123This implies that the whole image is copied to RAM before the boot continues.
1124+
1125NOTE: There must be enough free RAM available to hold the complete image.
1126+
1127This method is very suitable for diskless boots.
1128
52351cfa
TB
1129**rd.minmem=**__<megabyte>__::
1130Specify minimum free RAM in MB after copying a live disk image into memory.
1131The default is 1024.
1132+
1133This parameter only applies together with the parameters rd.writable.fsimg
1134or rd.live.ram.
1135
504c0a8f 1136**root=**live:__<url>__::
789668de
FG
1137Boots a live image retrieved from __<url>__. Requires the dracut 'livenet'
1138module. Valid handlers: __http, https, ftp, torrent, tftp__.
504c0a8f
MH
1139+
1140[listing]
789668de 1141.Examples
504c0a8f
MH
1142--
1143root=live:http://example.com/liveboot.img
1144root=live:ftp://ftp.example.com/liveboot.img
338bad63 1145root=live:torrent://example.com/liveboot.img.torrent
504c0a8f
MH
1146--
1147
1148**rd.live.debug=**1::
1149Enables debug output from the live boot process.
1150
1151**rd.live.dir=**__<path>__::
ea288240 1152Specifies the directory within the boot device where the squashfs.img or
789668de 1153rootfs.img can be found. By default, this is `/LiveOS`.
504c0a8f 1154
33a4198e
FG
1155**rd.live.squashimg=**__<filename of SquashFS image>__::
1156Specifies the filename for a SquashFS image of the root filesystem.
1157By default, this is __squashfs.img__.
1158
b0472eac
FD
1159**rd.live.ram=**1::
1160Copy the complete image to RAM and use this for booting. This is useful
789668de 1161when the image resides on, e.g., a DVD which needs to be ejected later on.
b0472eac 1162
e791d753 1163**rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
789668de
FG
1164Manage the usage of a permanent overlay.
1165+
1166--
1167* _<devspec>_ specifies the path to a device with a mountable filesystem.
1168* _<pathspec>_ is the path to a file within that filesystem, which shall be
33a4198e
FG
1169used to persist the changes made to the device specified by the
1170**root=live:__<url>__** option.
789668de
FG
1171+
1172The default _pathspec_, when _auto_ or no _:<pathspec>_ is given, is
67bcc493 1173`/<rd.live.dir>/overlay-<label>-<uuid>`, where _<label>_ is the
789668de
FG
1174device LABEL, and _<uuid>_ is the device UUID.
1175* _none_ (the word itself) specifies that no overlay will be used, such as when
1176an uncompressed, writable live root filesystem is available.
1177+
1178If a persistent overlay __is detected__ at the standard LiveOS path, the
1179overlay & overlay type detected, whether Device-mapper or OverlayFS, will be
1180used.
1181--
a1b4efe6
FD
1182+
1183[listing]
789668de 1184.Examples
a1b4efe6
FD
1185--
1186rd.live.overlay=/dev/sdb1:persistent-overlay.img
789668de 1187rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4
a1b4efe6
FD
1188--
1189
a3c67d27
MC
1190**rd.live.overlay.cowfs=**__[btrfs|ext4|xfs]__::
1191Specifies the filesystem to use when formatting the overlay partition.
1192The default is ext4.
1193
33a4198e 1194**rd.live.overlay.size=**__<size_MiB>__::
789668de
FG
1195Specifies a non-persistent Device-mapper overlay size in MiB. The default is
1196_32768_.
33a4198e
FG
1197
1198**rd.live.overlay.readonly=**1::
789668de
FG
1199This is used to boot with a normally read-write persistent overlay in a
1200read-only mode. With this option, either an additional, non-persistent,
1201writable snapshot overlay will be stacked over a read-only snapshot,
1202`/dev/mapper/live‑ro`, of the base filesystem with the persistent overlay, or a
1203read-only loop device, in the case of a writable __rootfs.img__, or an OverlayFS
1204mount will use the persistent overlay directory linked at `/run/overlayfs‑r` as
1205an additional lower layer along with the base root filesystem and apply a
1206transient, writable upper directory overlay, in order to complete the booted
1207root filesystem.
33a4198e
FG
1208
1209**rd.live.overlay.reset=**1::
789668de 1210Specifies that a persistent overlay should be reset on boot. All previous root
33a4198e
FG
1211filesystem changes are vacated by this action.
1212
d6e34d36
FD
1213**rd.live.overlay.thin=**1::
1214Enables the usage of thin snapshots instead of classic dm snapshots.
33a4198e
FG
1215The advantage of thin snapshots is that they support discards, and will free
1216blocks that are not claimed by the filesystem. In this use case, this means
1217that memory is given back to the kernel when the filesystem does not claim it
d6e34d36
FD
1218anymore.
1219
ea288240 1220**rd.live.overlay.overlayfs=**1::
789668de 1221Enables the use of the *OverlayFS* kernel module, if available, to provide a
ea288240
FG
1222copy-on-write union directory for the root filesystem. OverlayFS overlays are
1223directories of the files that have changed on the read-only base (lower)
1224filesystem. The root filesystem is provided through a special overlay type
1225mount that merges the lower and upper directories. If an OverlayFS upper
1226directory is not present on the boot device, a tmpfs directory will be created
789668de 1227at `/run/overlayfs` to provide temporary storage. Persistent storage can be
ea288240
FG
1228provided on vfat or msdos formatted devices by supplying the OverlayFS upper
1229directory within an embedded filesystem that supports the creation of trusted.*
1230extended attributes and provides a valid d_type in readdir responses, such as
1231with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
1232overlay can extend the available root filesystem storage up to the capacity of
789668de 1233the LiveOS disk device.
e791d753 1234+
ea288240 1235If a persistent overlay is detected at the standard LiveOS path, the overlay &
789668de 1236overlay type detected, whether OverlayFS or Device-mapper, will be used.
e791d753 1237+
ea288240 1238The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
789668de 1239be mounted read-only through a higher level transient overlay directory, has
ea288240
FG
1240been implemented through the multiple lower layers feature of OverlayFS.
1241
504c0a8f 1242
ea7ffef1
HR
1243ZIPL
1244~~~~
1245**rd.zipl=**__<path to blockdevice>__::
1246 Update the dracut commandline with the values found in the
1247 _dracut-cmdline.conf_ file on the given device.
1248 The values are merged into the existing commandline values
1249 and the udev events are regenerated.
1250+
1251[listing]
1252.Example
1253--
1254rd.zipl=UUID=0fb28157-99e3-4395-adef-da3f7d44835a
1255--
1256
637fb762
HR
1257CIO_IGNORE
1258~~~~~~~~~~
1259**rd.cio_accept=**__<device-ids>__::
1260 Remove the devices listed in <device-ids> from the default
1261 cio_ignore kernel command-line settings.
1262 <device-ids> is a list of comma-separated CCW device ids.
1263 The default for this value is taken from the
1264 _/boot/zipl/active_devices.txt_ file.
1265+
1266[listing]
1267.Example
1268--
1269rd.cio_accept=0.0.0180,0.0.0800,0.0.0801,0.0.0802
1270--
1271
888d53f2
HH
1272Plymouth Boot Splash
1273~~~~~~~~~~~~~~~~~~~~
1274**plymouth.enable=0**::
504c0a8f 1275 disable the plymouth bootsplash completely.
888d53f2
HH
1276
1277**rd.plymouth=0**::
1278 disable the plymouth bootsplash only for the initramfs.
1279
1280Kernel keys
1281~~~~~~~~~~~
b6c89768
HH
1282**masterkey=**__<kernel master key path name>__::
1283 Set the path name of the kernel master key.
888d53f2 1284+
b6c89768
HH
1285[listing]
1286.Example
1287--
888d53f2 1288masterkey=/etc/keys/kmk-trusted.blob
b6c89768 1289--
888d53f2 1290
b6c89768
HH
1291**masterkeytype=**__<kernel master key type>__::
1292 Set the type of the kernel master key.
888d53f2 1293+
b6c89768
HH
1294[listing]
1295.Example
1296--
888d53f2 1297masterkeytype=trusted
b6c89768 1298--
888d53f2 1299
b4522705
AAF
1300**evmkey=**__<EVM HMAC key path name>__::
1301 Set the path name of the EVM HMAC key.
888d53f2 1302+
b6c89768
HH
1303[listing]
1304.Example
1305--
888d53f2 1306evmkey=/etc/keys/evm-trusted.blob
b6c89768 1307--
888d53f2 1308
b4522705
AAF
1309**evmx509=**__<EVM X.509 cert path name>__::
1310 Set the path name of the EVM X.509 certificate.
1311+
1312[listing]
1313.Example
1314--
1315evmx509=/etc/keys/x509_evm.der
1316--
1317
b6c89768
HH
1318**ecryptfskey=**__<eCryptfs key path name>__::
1319 Set the path name of the eCryptfs key.
888d53f2 1320+
b6c89768
HH
1321[listing]
1322.Example
1323--
888d53f2 1324ecryptfskey=/etc/keys/ecryptfs-trusted.blob
b6c89768 1325--
888d53f2
HH
1326
1327Deprecated, renamed Options
1328~~~~~~~~~~~~~~~~~~~~~~~~~~~
ef9ddb91
HH
1329Here is a list of options, which were used in dracut prior to version 008, and
1330their new replacement.
888d53f2
HH
1331
1332rdbreak:: rd.break
1333
a5420672
HH
1334rd.ccw:: rd.znet
1335rd_CCW:: rd.znet
888d53f2 1336
4d76a85d 1337rd_DASD_MOD:: rd.dasd
888d53f2
HH
1338
1339rd_DASD:: rd.dasd
1340
1341rdinitdebug rdnetdebug:: rd.debug
1342
1343rd_NO_DM:: rd.dm=0
1344
1345rd_DM_UUID:: rd.dm.uuid
1346
1347rdblacklist:: rd.driver.blacklist
1348
1349rdinsmodpost:: rd.driver.post
1350
1351rdloaddriver:: rd.driver.pre
1352
1353rd_NO_FSTAB:: rd.fstab=0
1354
1355rdinfo:: rd.info
1356
1357check:: rd.live.check
1358
1359rdlivedebug:: rd.live.debug
1360
1361live_dir:: rd.live.dir
1362
1363liveimg:: rd.live.image
1364
1365overlay:: rd.live.overlay
1366
1367readonly_overlay:: rd.live.overlay.readonly
1368
1369reset_overlay:: rd.live.overlay.reset
1370
1371live_ram:: rd.live.ram
1372
1373rd_NO_CRYPTTAB:: rd.luks.crypttab=0
1374
1375rd_LUKS_KEYDEV_UUID:: rd.luks.keydev.uuid
1376
1377rd_LUKS_KEYPATH:: rd.luks.keypath
1378
1379rd_NO_LUKS:: rd.luks=0
1380
1381rd_LUKS_UUID:: rd.luks.uuid
1382
1383rd_NO_LVMCONF:: rd.lvm.conf
1384
1385rd_LVM_LV:: rd.lvm.lv
1386
1387rd_NO_LVM:: rd.lvm=0
1388
888d53f2
HH
1389rd_LVM_VG:: rd.lvm.vg
1390
1391rd_NO_MDADMCONF:: rd.md.conf=0
1392
1393rd_NO_MDIMSM:: rd.md.imsm=0
1394
1395rd_NO_MD:: rd.md=0
1396
1397rd_MD_UUID:: rd.md.uuid
1398
778b3543
HH
1399rd_NO_MULTIPATH: rd.multipath=0
1400
888d53f2
HH
1401rd_NFS_DOMAIN:: rd.nfs.domain
1402
1403iscsi_initiator:: rd.iscsi.initiator
1404
1405iscsi_target_name:: rd.iscsi.target.name
1406
1407iscsi_target_ip:: rd.iscsi.target.ip
1408
1409iscsi_target_port:: rd.iscsi.target.port
1410
1411iscsi_target_group:: rd.iscsi.target.group
1412
1413iscsi_username:: rd.iscsi.username
1414
1415iscsi_password:: rd.iscsi.password
1416
1417iscsi_in_username:: rd.iscsi.in.username
1418
1419iscsi_in_password:: rd.iscsi.in.password
1420
1421iscsi_firmware:: rd.iscsi.firmware=0
1422
1423rd_NO_PLYMOUTH:: rd.plymouth=0
1424
1425rd_retry:: rd.retry
1426
1427rdshell:: rd.shell
1428
1429rd_NO_SPLASH:: rd.splash
1430
1431rdudevdebug:: rd.udev.debug
1432
1433rdudevinfo:: rd.udev.info
1434
1435rd_NO_ZFCPCONF:: rd.zfcp.conf=0
1436
1437rd_ZFCP:: rd.zfcp
1438
1439rd_ZNET:: rd.znet
1440
1441KEYMAP:: vconsole.keymap
1442
1443KEYTABLE:: vconsole.keymap
1444
1445SYSFONT:: vconsole.font
1446
1447CONTRANS:: vconsole.font.map
1448
1449UNIMAP:: vconsole.font.unimap
1450
1451UNICODE:: vconsole.unicode
1452
1453EXT_KEYMAP:: vconsole.keymap.ext
1454
1455Configuration in the Initramfs
1456~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1457_/etc/conf.d/_::
1458 Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
1459 set initial values. Command line options will override these values
1460 set in the configuration files.
1461
1462_/etc/cmdline_::
ef9ddb91
HH
1463 Can contain additional command line options. Deprecated, better use
1464 /etc/cmdline.d/*.conf.
888d53f2
HH
1465
1466_/etc/cmdline.d/*.conf_::
1467 Can contain additional command line options.
1468
1469AUTHOR
1470------
9f355169 1471Harald Hoyer
888d53f2
HH
1472
1473SEE ALSO
1474--------
1475*dracut*(8) *dracut.conf*(5)