'\" t
.\" Title: dracut.cmdline
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
.\" Date: 10/09/2018
.\" Manual: dracut
.\" Source: dracut
.\" Language: English
.\"
.TH "DRACUT\&.CMDLINE" "7" "10/09/2018" "dracut" "dracut"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
dracut.cmdline \- dracut kernel command line options
.SH "DESCRIPTION"
.sp
The root device used by the kernel is specified in the boot configuration file on the kernel command line, as always\&.
.sp
The traditional \fIroot=/dev/sda1\fR style device specification is allowed, but not encouraged\&. The root device should better be identified by LABEL or UUID\&. If a label is used, as in \fIroot=LABEL=<label_of_root>\fR the initramfs will search all available devices for a filesystem with the appropriate label, and mount that device as the root filesystem\&. \fIroot=UUID=<uuidnumber>\fR will mount the partition with that UUID as the root filesystem\&.
.sp
In the following all kernel command line parameters, which are processed by dracut, are described\&.
.sp
"rd\&.*" parameters mentioned without "=" are boolean parameters\&. They can be turned on/off by setting them to {0|1}\&. If the assignment with "=" is missing "=1" is implied\&. For example \fIrd\&.info\fR can be turned off with \fIrd\&.info=0\fR or turned on with \fIrd\&.info=1\fR or \fIrd\&.info\fR\&. The last value in the kernel command line is the value, which is honored\&.
.SS "Standard"
.PP
\fBinit=\fR\fI<path to real init>\fR
.RS 4
specify the path to the init program to be started after the initramfs has finished
.RE
.PP
\fBroot=\fR\fI<path to blockdevice>\fR
.RS 4
specify the block device to use as the root filesystem\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
root=/dev/sda1
root=/dev/disk/by\-path/pci\-0000:00:1f\&.1\-scsi\-0:0:1:0\-part1
root=/dev/disk/by\-label/Root
root=LABEL=Root
root=/dev/disk/by\-uuid/3f5ad593\-4546\-4a94\-a374\-bcfb68aa11f7
root=UUID=3f5ad593\-4546\-4a94\-a374\-bcfb68aa11f7
root=PARTUUID=3f5ad593\-4546\-4a94\-a374\-bcfb68aa11f7
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrootfstype=\fR\fI<filesystem type>\fR
.RS 4
"auto" if not specified\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rootfstype=ext3
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrootflags=\fR\fI<mount options>\fR
.RS 4
specify additional mount options for the root filesystem\&. If not set,
\fI/etc/fstab\fR
of the real root will be parsed for special mount options and mounted accordingly\&.
.RE
.PP
\fBro\fR
.RS 4
force mounting
\fI/\fR
and
\fI/usr\fR
(if it is a separate device) read\-only\&. If none of ro and rw is present, both are mounted according to
\fI/etc/fstab\fR\&.
.RE
.PP
\fBrw\fR
.RS 4
force mounting
\fI/\fR
and
\fI/usr\fR
(if it is a separate device) read\-write\&. See also ro option\&.
.RE
.PP
\fBrootfallback=\fR\fI<path to blockdevice>\fR
.RS 4
specify the block device to use as the root filesystem, if the normal root cannot be found\&. This can only be a simple block device with a simple file system, for which the filesystem driver is either compiled in, or added manually to the initramfs\&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.auto\fR \fBrd\&.auto=1\fR
.RS 4
enable autoassembly of special devices like cryptoLUKS, dmraid, mdraid or lvm\&. Default is off as of dracut version >= 024\&.
.RE
.PP
\fBrd\&.hostonly=0\fR
.RS 4
removes all compiled in configuration of the host system the initramfs image was built on\&. This helps booting, if any disk layout changed, especially in combination with rd\&.auto or other parameters specifying the layout\&.
.RE
.PP
\fBrd\&.cmdline=ask\fR
.RS 4
prompts the user for additional kernel command line parameters
.RE
.PP
\fBrd\&.fstab=0\fR
.RS 4
do not honor special mount options for the root filesystem found in
\fI/etc/fstab\fR
of the real root\&.
.RE
.PP
\fBresume=\fR\fI<path to resume partition>\fR
.RS 4
resume from a swap partition
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
resume=/dev/disk/by\-path/pci\-0000:00:1f\&.1\-scsi\-0:0:1:0\-part1
resume=/dev/disk/by\-uuid/3f5ad593\-4546\-4a94\-a374\-bcfb68aa11f7
resume=UUID=3f5ad593\-4546\-4a94\-a374\-bcfb68aa11f7
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.skipfsck\fR
.RS 4
skip fsck for rootfs and
\fI/usr\fR\&. If you\(cqre mounting
\fI/usr\fR
read\-only and the init system performs fsck before remount, you might want to use this option to avoid duplication\&.
.RE
.SS "iso\-scan/filename"
.sp
Using iso\-scan/filename with a Fedora/Red Hat/CentOS Live iso should just work by copying the original kernel cmdline parameters\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
menuentry \*(AqLive Fedora 20\*(Aq \-\-class fedora \-\-class gnu\-linux \-\-class gnu \-\-class os {
set isolabel=Fedora\-Live\-LXDE\-x86_64\-20\-1
set isofile="/boot/iso/Fedora\-Live\-LXDE\-x86_64\-20\-1\&.iso"
loopback loop $isofile
linux (loop)/isolinux/vmlinuz0 boot=isolinux iso\-scan/filename=$isofile root=live:LABEL=$isolabel ro rd\&.live\&.image quiet rhgb
initrd (loop)/isolinux/initrd0\&.img
}
.fi
.if n \{\
.RE
.\}
.sp
.SS "Misc"
.PP
\fBrd\&.emergency=\fR\fI[reboot|poweroff|halt]\fR
.RS 4
specify, what action to execute in case of a critical failure\&. rd\&.shell=0 also be specified\&.
.RE
.PP
\fBrd\&.driver\&.blacklist=\fR\fI<drivername>\fR[,\fI<drivername>\fR,\&...]
.RS 4
do not load kernel module <drivername>\&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.driver\&.pre=\fR\fI<drivername>\fR[,\fI<drivername>\fR,\&...]
.RS 4
force loading kernel module <drivername>\&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.driver\&.post=\fR\fI<drivername>\fR[,\fI<drivername>\fR,\&...]
.RS 4
force loading kernel module <drivername> after all automatic loading modules have been loaded\&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.retry=\fR\fI<seconds>\fR
.RS 4
specify how long dracut should retry the initqueue to configure devices\&. The default is 30 seconds\&. After 2/3 of the time, degraded raids are force started\&. If you have hardware, which takes a very long time to announce its drives, you might want to extend this value\&.
.RE
.PP
\fBrd\&.timeout=\fR\fI<seconds>\fR
.RS 4
specify how long dracut should wait for devices to appear\&. The default is
\fI0\fR, which means
\fIforever\fR\&. Note that this timeout should be longer than rd\&.retry to allow for proper configuration\&.
.RE
.PP
\fBrd\&.noverifyssl\fR
.RS 4
accept self\-signed certificates for ssl downloads\&.
.RE
.PP
\fBrd\&.ctty=\fR\fI<terminal device>\fR
.RS 4
specify the controlling terminal for the console\&. This is useful, if you have multiple "console=" arguments\&.
.RE
.SS "Debug"
.sp
If you are dropped to an emergency shell, the file \fI/run/initramfs/rdsosreport\&.txt\fR is created, which can be saved to a (to be mounted by hand) partition (usually /boot) or a USB stick\&. Additional debugging info can be produced by adding \fBrd\&.debug\fR to the kernel command line\&. \fI/run/initramfs/rdsosreport\&.txt\fR contains all logs and the output of some tools\&. It should be attached to any report about dracut problems\&.
.PP
\fBrd\&.info\fR
.RS 4
print informational output though "quiet" is set
.RE
.PP
\fBrd\&.shell\fR
.RS 4
allow dropping to a shell, if root mounting fails
.RE
.PP
\fBrd\&.debug\fR
.RS 4
set \-x for the dracut shell\&. If systemd is active in the initramfs, all output is logged to the systemd journal, which you can inspect with "journalctl \-ab"\&. If systemd is not active, the logs are written to dmesg and
\fI/run/initramfs/init\&.log\fR\&. If "quiet" is set, it also logs to the console\&.
.RE
.PP
\fBrd\&.memdebug=[0\-4]\fR
.RS 4
Print memory usage info at various points, set the verbose level from 0 to 4\&.
.sp
.if n \{\
.RS 4
.\}
.nf
Higher level means more debugging output:
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.RS 4
.\}
.nf
0 \- no output
1 \- partial /proc/meminfo
2 \- /proc/meminfo
3 \- /proc/meminfo + /proc/slabinfo
4 \- /proc/meminfo + /proc/slabinfo + tracekomem
NOTE: tracekomem is a shell script utilizing kernel trace to track
the rough total memory consumption of kernel modules during
loading\&. It may override other trace configurations\&.
.fi
.if n \{\
.RE
.\}
.RE
.PP
\fBrd\&.break\fR
.RS 4
drop to a shell at the end
.RE
.PP
\fBrd\&.break=\fR\fI{cmdline|pre\-udev|pre\-trigger|initqueue|pre\-mount|mount|pre\-pivot|cleanup}\fR
.RS 4
drop to a shell on defined breakpoint
.RE
.PP
\fBrd\&.udev\&.info\fR
.RS 4
set udev to loglevel info
.RE
.PP
\fBrd\&.udev\&.debug\fR
.RS 4
set udev to loglevel debug
.RE
.SS "I18N"
.PP
\fBrd\&.vconsole\&.keymap=\fR\fI<keymap base file name>\fR
.RS 4
keyboard translation table loaded by loadkeys; taken from keymaps directory; will be written as KEYMAP to
\fI/etc/vconsole\&.conf\fR
in the initramfs\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.vconsole\&.keymap=de\-latin1\-nodeadkeys
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.vconsole\&.keymap\&.ext=\fR\fI<list of keymap base file names>\fR
.RS 4
list of extra keymaps to bo loaded (sep\&. by space); will be written as EXT_KEYMAP to
\fI/etc/vconsole\&.conf\fR
in the initramfs
.RE
.PP
\fBrd\&.vconsole\&.unicode\fR
.RS 4
boolean, indicating UTF\-8 mode; will be written as UNICODE to
\fI/etc/vconsole\&.conf\fR
in the initramfs
.RE
.PP
\fBrd\&.vconsole\&.font=\fR\fI<font base file name>\fR
.RS 4
console font; taken from consolefonts directory; will be written as FONT to
\fI/etc/vconsole\&.conf\fR
in the initramfs\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.vconsole\&.font=LatArCyrHeb\-16
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.vconsole\&.font\&.map=\fR\fI<console map base file name>\fR
.RS 4
see description of
\fI\-m\fR
parameter in setfont manual; taken from consoletrans directory; will be written as FONT_MAP to
\fI/etc/vconsole\&.conf\fR
in the initramfs
.RE
.PP
\fBrd\&.vconsole\&.font\&.unimap=\fR\fI<unicode table base file name>\fR
.RS 4
see description of
\fI\-u\fR
parameter in setfont manual; taken from unimaps directory; will be written as FONT_UNIMAP to
\fI/etc/vconsole\&.conf\fR
in the initramfs
.RE
.PP
\fBrd\&.locale\&.LANG=\fR\fI<locale>\fR
.RS 4
taken from the environment; if no UNICODE is defined we set its value in basis of LANG value (whether it ends with "\&.utf8" (or similar) or not); will be written as LANG to
\fI/etc/locale\&.conf\fR
in the initramfs\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.locale\&.LANG=pl_PL\&.utf8
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.locale\&.LC_ALL=\fR\fI<locale>\fR
.RS 4
taken from the environment; will be written as LC_ALL to
\fI/etc/locale\&.conf\fR
in the initramfs
.RE
.SS "LVM"
.PP
\fBrd\&.lvm=0\fR
.RS 4
disable LVM detection
.RE
.PP
\fBrd\&.lvm\&.vg=\fR\fI<volume group name>\fR
.RS 4
only activate the volume groups with the given name\&. rd\&.lvm\&.vg can be specified multiple times on the kernel command line\&.
.RE
.PP
\fBrd\&.lvm\&.lv=\fR\fI<logical volume name>\fR
.RS 4
only activate the logical volumes with the given name\&. rd\&.lvm\&.lv can be specified multiple times on the kernel command line\&.
.RE
.PP
\fBrd\&.lvm\&.conf=0\fR
.RS 4
remove any
\fI/etc/lvm/lvm\&.conf\fR, which may exist in the initramfs
.RE
.SS "crypto LUKS"
.PP
\fBrd\&.luks=0\fR
.RS 4
disable crypto LUKS detection
.RE
.PP
\fBrd\&.luks\&.uuid=\fR\fI<luks uuid>\fR
.RS 4
only activate the LUKS partitions with the given UUID\&. Any "luks\-" of the LUKS UUID is removed before comparing to
\fI<luks uuid>\fR\&. The comparisons also matches, if
\fI<luks uuid>\fR
is only the beginning of the LUKS UUID, so you don\(cqt have to specify the full UUID\&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.luks\&.allow\-discards=\fR\fI<luks uuid>\fR
.RS 4
Allow using of discards (TRIM) requests for LUKS partitions with the given UUID\&. Any "luks\-" of the LUKS UUID is removed before comparing to
\fI<luks uuid>\fR\&. The comparisons also matches, if
\fI<luks uuid>\fR
is only the beginning of the LUKS UUID, so you don\(cqt have to specify the full UUID\&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.luks\&.allow\-discards\fR
.RS 4
Allow using of discards (TRIM) requests on all LUKS partitions\&.
.RE
.PP
\fBrd\&.luks\&.crypttab=0\fR
.RS 4
do not check, if LUKS partition is in
\fI/etc/crypttab\fR
.RE
.PP
\fBrd\&.luks\&.timeout=\fR\fI<seconds>\fR
.RS 4
specify how long dracut should wait when waiting for the user to enter the password\&. This avoid blocking the boot if no password is entered\&. It does not apply to luks key\&. The default is
\fI0\fR, which means
\fIforever\fR\&.
.RE
.SS "crypto LUKS \- key on removable device support"
.PP
\fBrd\&.luks\&.key=\fR\fI<keypath>\fR:\fI<keydev>\fR:\fI<luksdev>\fR
.RS 4
\fIkeypath\fR
is a path to key file to look for\&. It\(cqs REQUIRED\&. When
\fIkeypath\fR
ends with
\fI\&.gpg\fR
it\(cqs considered to be key encrypted symmetrically with GPG\&. You will be prompted for password on boot\&. GPG support comes with
\fIcrypt\-gpg\fR
module which needs to be added explicitly\&.
.sp
\fIkeydev\fR
is a device on which key file resides\&. It might be kernel name of devices (should start with "/dev/"), UUID (prefixed with "UUID=") or label (prefix with "LABEL=")\&. You don\(cqt have to specify full UUID\&. Just its beginning will suffice, even if its ambiguous\&. All matching devices will be probed\&. This parameter is recommended, but not required\&. If not present, all block devices will be probed, which may significantly increase boot time\&.
.sp
If
\fIluksdev\fR
is given, the specified key will only be applied for that LUKS device\&. Possible values are the same as for
\fIkeydev\fR\&. Unless you have several LUKS devices, you don\(cqt have to specify this parameter\&. The simplest usage is:
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.luks\&.key=/foo/bar\&.key
.fi
.if n \{\
.RE
.\}
.sp
As you see, you can skip colons in such a case\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
dracut pipes key to cryptsetup with
\fI\-d \-\fR
argument, therefore you need to pipe to crypsetup luksFormat with
\fI\-d \-\fR, too!
.sp
Here follows example for key encrypted with GPG:
.sp
.if n \{\
.RS 4
.\}
.nf
gpg \-\-quiet \-\-decrypt rootkey\&.gpg | \e
cryptsetup \-d \- \-v \-\-cipher serpent\-cbc\-essiv:sha256 \e
\-\-key\-size 256 luksFormat /dev/sda3
.fi
.if n \{\
.RE
.\}
.sp
If you use plain keys, just add path to
\fI\-d\fR
option:
.sp
.if n \{\
.RS 4
.\}
.nf
cryptsetup \-d rootkey\&.key \-v \-\-cipher serpent\-cbc\-essiv:sha256 \e
\-\-key\-size 256 luksFormat /dev/sda3
.fi
.if n \{\
.RE
.\}
.sp .5v
.RE
.RE
.SS "MD RAID"
.PP
\fBrd\&.md=0\fR
.RS 4
disable MD RAID detection
.RE
.PP
\fBrd\&.md\&.imsm=0\fR
.RS 4
disable MD RAID for imsm/isw raids, use DM RAID instead
.RE
.PP
\fBrd\&.md\&.ddf=0\fR
.RS 4
disable MD RAID for SNIA ddf raids, use DM RAID instead
.RE
.PP
\fBrd\&.md\&.conf=0\fR
.RS 4
ignore mdadm\&.conf included in initramfs
.RE
.PP
\fBrd\&.md\&.waitclean=1\fR
.RS 4
wait for any resync, recovery, or reshape activity to finish before continuing
.RE
.PP
\fBrd\&.md\&.uuid=\fR\fI<md raid uuid>\fR
.RS 4
only activate the raid sets with the given UUID\&. This parameter can be specified multiple times\&.
.RE
.SS "DM RAID"
.PP
\fBrd\&.dm=0\fR
.RS 4
disable DM RAID detection
.RE
.PP
\fBrd\&.dm\&.uuid=\fR\fI<dm raid uuid>\fR
.RS 4
only activate the raid sets with the given UUID\&. This parameter can be specified multiple times\&.
.RE
.SS "MULTIPATH"
.PP
\fBrd\&.multipath=0\fR
.RS 4
disable multipath detection
.RE
.SS "FIPS"
.PP
\fBrd\&.fips\fR
.RS 4
enable FIPS
.RE
.PP
\fBboot=\fR\fI<boot device>\fR
.RS 4
specify the device, where /boot is located\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
boot=/dev/sda1
boot=/dev/disk/by\-path/pci\-0000:00:1f\&.1\-scsi\-0:0:1:0\-part1
boot=UUID=<uuid>
boot=LABEL=<label>
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.fips\&.skipkernel\fR
.RS 4
skip checksum check of the kernel image\&. Useful, if the kernel image is not in a separate boot partition\&.
.RE
.SS "Network"
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBImportant\fR
.ps -1
.br
.sp
It is recommended to either bind an interface to a MAC with the \fBifname\fR argument, or to use the systemd\-udevd predictable network interface names\&.
.sp
Predictable network interface device names based on:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
firmware/bios\-provided index numbers for on\-board devices
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
firmware\-provided pci\-express hotplug slot index number
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
physical/geographical location of the hardware
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
the interface\(cqs MAC address
.RE
.sp
See: \m[blue]\fBhttp://www\&.freedesktop\&.org/wiki/Software/systemd/PredictableNetworkInterfaceNames\fR\m[]
.sp
Two character prefixes based on the type of interface:
.PP
en
.RS 4
ethernet
.RE
.PP
wl
.RS 4
wlan
.RE
.PP
ww
.RS 4
wwan
.RE
.sp
Type of names:
.PP
o<index>
.RS 4
on\-board device index number
.RE
.PP
s<slot>[f<function>][d<dev_id>]
.RS 4
hotplug slot index number
.RE
.PP
x<MAC>
.RS 4
MAC address
.RE
.PP
[P<domain>]p<bus>s<slot>[f<function>][d<dev_id>]
.RS 4
PCI geographical location
.RE
.PP
[P<domain>]p<bus>s<slot>[f<function>][u<port>][\&.\&.][c<config>][i<interface>]
.RS 4
USB port number chain
.RE
.sp
All multi\-function PCI devices will carry the [f<function>] number in the device name, including the function 0 device\&.
.sp
When using PCI geography, The PCI domain is only prepended when it is not 0\&.
.sp
For USB devices the full chain of port numbers of hubs is composed\&. If the name gets longer than the maximum number of 15 characters, the name is not exported\&. The usual USB configuration == 1 and interface == 0 values are suppressed\&.
.PP
PCI ethernet card with firmware index "1"
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
eno1
.RE
.RE
.PP
PCI ethernet card in hotplug slot with firmware index number
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
ens1
.RE
.RE
.PP
PCI ethernet multi\-function card with 2 ports
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
enp2s0f0
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
enp2s0f1
.RE
.RE
.PP
PCI wlan card
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
wlp3s0
.RE
.RE
.PP
USB built\-in 3G modem
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
wwp0s29u1u4i6
.RE
.RE
.PP
USB Android phone
.RS 4
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
enp0s29u1u2
.RE
.RE
.sp .5v
.RE
.PP
\fBip=\fR\fI{dhcp|on|any|dhcp6|auto6|either6}\fR
.RS 4
.PP
dhcp|on|any
.RS 4
get ip from dhcp server from all interfaces\&. If root=dhcp, loop sequentially through all interfaces (eth0, eth1, \&...) and use the first with a valid DHCP root\-path\&.
.RE
.PP
auto6
.RS 4
IPv6 autoconfiguration
.RE
.PP
dhcp6
.RS 4
IPv6 DHCP
.RE
.PP
either6
.RS 4
if auto6 fails, then dhcp6
.RE
.RE
.PP
\fBip=\fR\fI<interface>\fR:\fI{dhcp|on|any|dhcp6|auto6}\fR[:[\fI<mtu>\fR][:\fI<macaddr>\fR]]
.RS 4
This parameter can be specified multiple times\&.
.PP
dhcp|on|any|dhcp6
.RS 4
get ip from dhcp server on a specific interface
.RE
.PP
auto6
.RS 4
do IPv6 autoconfiguration
.RE
.PP
<macaddr>
.RS 4
optionally
\fBset\fR
<macaddr> on the <interface>\&. This cannot be used in conjunction with the
\fBifname\fR
argument for the same <interface>\&.
.RE
.RE
.PP
\fBip=\fR\fI<client\-IP>\fR:[\fI<peer>\fR]:\fI<gateway\-IP>\fR:\fI<netmask>\fR:\fI<client_hostname>\fR:\fI<interface>\fR:\fI{none|off|dhcp|on|any|dhcp6|auto6|ibft}\fR[:[\fI<mtu>\fR][:\fI<macaddr>\fR]]
.RS 4
explicit network configuration\&. If you want do define a IPv6 address, put it in brackets (e\&.g\&. [2001:DB8::1])\&. This parameter can be specified multiple times\&.
\fI<peer>\fR
is optional and is the address of the remote endpoint for pointopoint interfaces and it may be followed by a slash and a decimal number, encoding the network prefix length\&.
.PP
<macaddr>
.RS 4
optionally
\fBset\fR
<macaddr> on the <interface>\&. This cannot be used in conjunction with the
\fBifname\fR
argument for the same <interface>\&.
.RE
.RE
.PP
\fBip=\fR\fI<client\-IP>\fR:[\fI<peer>\fR]:\fI<gateway\-IP>\fR:\fI<netmask>\fR:\fI<client_hostname>\fR:\fI<interface>\fR:\fI{none|off|dhcp|on|any|dhcp6|auto6|ibft}\fR[:[\fI<dns1>\fR][:\fI<dns2>\fR]]
.RS 4
explicit network configuration\&. If you want do define a IPv6 address, put it in brackets (e\&.g\&. [2001:DB8::1])\&. This parameter can be specified multiple times\&.
\fI<peer>\fR
is optional and is the address of the remote endpoint for pointopoint interfaces and it may be followed by a slash and a decimal number, encoding the network prefix length\&.
.RE
.PP
\fBifname=\fR\fI<interface>\fR:\fI<MAC>\fR
.RS 4
Assign network device name <interface> (ie "bootnet") to the NIC with MAC <MAC>\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
Do
\fBnot\fR
use the default kernel naming scheme for the interface name, as it can conflict with the kernel names\&. So, don\(cqt use "eth[0\-9]+" for the interface name\&. Better name it "bootnet" or "bluesocket"\&.
.sp .5v
.RE
.RE
.PP
\fBrd\&.route=\fR\fI<net>\fR/\fI<netmask>\fR:\fI<gateway>\fR[:\fI<interface>\fR]
.RS 4
Add a static route with route options, which are separated by a colon\&. IPv6 addresses have to be put in brackets\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.route=192\&.168\&.200\&.0/24:192\&.168\&.100\&.222:ens10
rd\&.route=192\&.168\&.200\&.0/24:192\&.168\&.100\&.222
rd\&.route=192\&.168\&.200\&.0/24::ens10
rd\&.route=[2001:DB8:3::/8]:[2001:DB8:2::1]:ens10
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBbootdev=\fR\fI<interface>\fR
.RS 4
specify network interface to use routing and netroot information from\&. Required if multiple ip= lines are used\&.
.RE
.PP
\fBBOOTIF=\fR\fI<MAC>\fR
.RS 4
specify network interface to use routing and netroot information from\&.
.RE
.PP
\fBrd\&.bootif=0\fR
.RS 4
Disable BOOTIF parsing, which is provided by PXE
.RE
.PP
\fBnameserver=\fR\fI<IP>\fR [\fBnameserver=\fR\fI<IP>\fR \&...]
.RS 4
specify nameserver(s) to use
.RE
.PP
\fBrd\&.peerdns=0\fR
.RS 4
Disable DNS setting of DHCP parameters\&.
.RE
.PP
\fBbiosdevname=0\fR
.RS 4
boolean, turn off biosdevname network interface renaming
.RE
.PP
\fBrd\&.neednet=1\fR
.RS 4
boolean, bring up network even without netroot set
.RE
.PP
\fBvlan=\fR\fI<vlanname>\fR:\fI<phydevice>\fR
.RS 4
Setup vlan device named <vlanname> on <phydeivce>\&. We support the four styles of vlan names: VLAN_PLUS_VID (vlan0005), VLAN_PLUS_VID_NO_PAD (vlan5), DEV_PLUS_VID (eth0\&.0005), DEV_PLUS_VID_NO_PAD (eth0\&.5)
.RE
.PP
\fBbond=\fR\fI<bondname>\fR[:\fI<bondslaves>\fR:[:\fI<options>\fR[:<mtu>]]]
.RS 4
Setup bonding device <bondname> on top of <bondslaves>\&. <bondslaves> is a comma\-separated list of physical (ethernet) interfaces\&. <options> is a comma\-separated list on bonding options (modinfo bonding for details) in format compatible with initscripts\&. If <options> includes multi\-valued arp_ip_target option, then its values should be separated by semicolon\&. if the mtu is specified, it will be set on the bond master\&. Bond without parameters assumes bond=bond0:eth0,eth1:mode=balance\-rr
.RE
.PP
\fBteam=\fR\fI<teammaster>\fR:\fI<teamslaves>\fR
.RS 4
Setup team device <teammaster> on top of <teamslaves>\&. <teamslaves> is a comma\-separated list of physical (ethernet) interfaces\&.
.RE
.PP
\fBbridge=\fR\fI<bridgename>\fR:\fI<ethnames>\fR
.RS 4
Setup bridge <bridgename> with <ethnames>\&. <ethnames> is a comma\-separated list of physical (ethernet) interfaces\&. Bridge without parameters assumes bridge=br0:eth0
.RE
.SS "NFS"
.PP
\fBroot=\fR[\fI<server\-ip>\fR:]\fI<root\-dir>\fR[:\fI<nfs\-options>\fR]
.RS 4
mount nfs share from <server\-ip>:/<root\-dir>, if no server\-ip is given, use dhcp next_server\&. If server\-ip is an IPv6 address it has to be put in brackets, e\&.g\&. [2001:DB8::1]\&. NFS options can be appended with the prefix ":" or "," and are separated by ","\&.
.RE
.PP
\fBroot=\fRnfs:[\fI<server\-ip>\fR:]\fI<root\-dir>\fR[:\fI<nfs\-options>\fR], \fBroot=\fRnfs4:[\fI<server\-ip>\fR:]\fI<root\-dir>\fR[:\fI<nfs\-options>\fR], \fBroot=\fR\fI{dhcp|dhcp6}\fR
.RS 4
root=dhcp alone directs initrd to look at the DHCP root\-path where NFS options can be specified\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
root\-path=<server\-ip>:<root\-dir>[,<nfs\-options>]
root\-path=nfs:<server\-ip>:<root\-dir>[,<nfs\-options>]
root\-path=nfs4:<server\-ip>:<root\-dir>[,<nfs\-options>]
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBroot=\fR\fI/dev/nfs\fR nfsroot=[\fI<server\-ip>\fR:]\fI<root\-dir>\fR[:\fI<nfs\-options>\fR]
.RS 4
\fIDeprecated!\fR
kernel Documentation_/filesystems/nfsroot\&.txt_ defines this method\&. This is supported by dracut, but not recommended\&.
.RE
.PP
\fBrd\&.nfs\&.domain=\fR\fI<NFSv4 domain name>\fR
.RS 4
Set the NFSv4 domain name\&. Will override the settings in
\fI/etc/idmap\&.conf\fR\&.
.RE
.PP
\fBrd\&.net\&.dhcp\&.retry=\fR\fI<cnt>\fR
.RS 4
If this option is set, dracut will try to connect via dhcp <cnt> times before failing\&. Default is 1\&.
.RE
.PP
\fBrd\&.net\&.timeout\&.dhcp=\fR\fI<arg>\fR
.RS 4
If this option is set, dhclient is called with "\-timeout <arg>"\&.
.RE
.PP
\fBrd\&.net\&.timeout\&.iflink=\fR\fI<seconds>\fR
.RS 4
Wait <seconds> until link shows up\&. Default is 60 seconds\&.
.RE
.PP
\fBrd\&.net\&.timeout\&.ifup=\fR\fI<seconds>\fR
.RS 4
Wait <seconds> until link has state "UP"\&. Default is 20 seconds\&.
.RE
.PP
\fBrd\&.net\&.timeout\&.route=\fR\fI<seconds>\fR
.RS 4
Wait <seconds> until route shows up\&. Default is 20 seconds\&.
.RE
.PP
\fBrd\&.net\&.timeout\&.ipv6dad=\fR\fI<seconds>\fR
.RS 4
Wait <seconds> until IPv6 DAD is finished\&. Default is 50 seconds\&.
.RE
.PP
\fBrd\&.net\&.timeout\&.ipv6auto=\fR\fI<seconds>\fR
.RS 4
Wait <seconds> until IPv6 automatic addresses are assigned\&. Default is 40 seconds\&.
.RE
.PP
\fBrd\&.net\&.timeout\&.carrier=\fR\fI<seconds>\fR
.RS 4
Wait <seconds> until carrier is recognized\&. Default is 5 seconds\&.
.RE
.SS "CIFS"
.PP
\fBroot=\fRcifs://[\fI<username>\fR[:\fI<password>\fR]@]\fI<server\-ip>\fR:\fI<root\-dir>\fR
.RS 4
mount cifs share from <server\-ip>:/<root\-dir>, if no server\-ip is given, use dhcp next_server\&. if server\-ip is an IPv6 address it has to be put in brackets, e\&.g\&. [2001:DB8::1]\&. If a username or password are not specified as part of the root, then they must be passed on the command line through cifsuser/cifspass\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
Passwords specified on the kernel command line are visible for all users via the file
\fI/proc/cmdline\fR
and via dmesg or can be sniffed on the network, when using DHCP with DHCP root\-path\&.
.sp .5v
.RE
.RE
.PP
\fBcifsuser\fR=\fI<username>\fR
.RS 4
Set the cifs username, if not specified as part of the root\&.
.RE
.PP
\fBcifspass\fR=\fI<password>\fR
.RS 4
Set the cifs password, if not specified as part of the root\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
Passwords specified on the kernel command line are visible for all users via the file
\fI/proc/cmdline\fR
and via dmesg or can be sniffed on the network, when using DHCP with DHCP root\-path\&.
.sp .5v
.RE
.RE
.SS "iSCSI"
.PP
\fBroot=\fRiscsi:[\fI<username>\fR:\fI<password>\fR[:\fI<reverse>\fR:\fI<password>\fR]@][\fI<servername>\fR]:[\fI<protocol>\fR]:[\fI<port>\fR][:[\fI<iscsi_iface_name>\fR]:[\fI<netdev_name>\fR]]:[\fI<LUN>\fR]:\fI<targetname>\fR
.RS 4
protocol defaults to "6", LUN defaults to "0"\&. If the "servername" field is provided by BOOTP or DHCP, then that field is used in conjunction with other associated fields to contact the boot server in the Boot stage\&. However, if the "servername" field is not provided, then the "targetname" field is then used in the Discovery Service stage in conjunction with other associated fields\&. See
\m[blue]\fBrfc4173\fR\m[]\&\s-2\u[1]\d\s+2\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
Passwords specified on the kernel command line are visible for all users via the file
\fI/proc/cmdline\fR
and via dmesg or can be sniffed on the network, when using DHCP with DHCP root\-path\&.
.sp .5v
.RE
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
root=iscsi:192\&.168\&.50\&.1::::iqn\&.2009\-06\&.dracut:target0
.fi
.if n \{\
.RE
.\}
.sp
If servername is an IPv6 address, it has to be put in brackets:
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
root=iscsi:[2001:DB8::1]::::iqn\&.2009\-06\&.dracut:target0
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBroot=\fR\fI???\fR \fBnetroot=\fRiscsi:[\fI<username>\fR:\fI<password>\fR[:\fI<reverse>\fR:\fI<password>\fR]@][\fI<servername>\fR]:[\fI<protocol>\fR]:[\fI<port>\fR][:[\fI<iscsi_iface_name>\fR]:[\fI<netdev_name>\fR]]:[\fI<LUN>\fR]:\fI<targetname>\fR \&...
.RS 4
multiple netroot options allow setting up multiple iscsi disks:
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
root=UUID=12424547
netroot=iscsi:192\&.168\&.50\&.1::::iqn\&.2009\-06\&.dracut:target0
netroot=iscsi:192\&.168\&.50\&.1::::iqn\&.2009\-06\&.dracut:target1
.fi
.if n \{\
.RE
.\}
.sp
If servername is an IPv6 address, it has to be put in brackets:
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
netroot=iscsi:[2001:DB8::1]::::iqn\&.2009\-06\&.dracut:target0
.fi
.if n \{\
.RE
.\}
.sp
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
Passwords specified on the kernel command line are visible for all users via the file
\fI/proc/cmdline\fR
and via dmesg or can be sniffed on the network, when using DHCP with DHCP root\-path\&. You may want to use rd\&.iscsi\&.firmware\&.
.sp .5v
.RE
.RE
.PP
\fBroot=\fR\fI???\fR \fBrd\&.iscsi\&.initiator=\fR\fI<initiator>\fR \fBrd\&.iscsi\&.target\&.name=\fR\fI<target name>\fR \fBrd\&.iscsi\&.target\&.ip=\fR\fI<target ip>\fR \fBrd\&.iscsi\&.target\&.port=\fR\fI<target port>\fR \fBrd\&.iscsi\&.target\&.group=\fR\fI<target group>\fR \fBrd\&.iscsi\&.username=\fR\fI<username>\fR \fBrd\&.iscsi\&.password=\fR\fI<password>\fR \fBrd\&.iscsi\&.in\&.username=\fR\fI<in username>\fR \fBrd\&.iscsi\&.in\&.password=\fR\fI<in password>\fR
.RS 4
manually specify all iscsistart parameter (see
\fBiscsistart\ \&\-\-help\fR)
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBWarning\fR
.ps -1
.br
Passwords specified on the kernel command line are visible for all users via the file
\fI/proc/cmdline\fR
and via dmesg or can be sniffed on the network, when using DHCP with DHCP root\-path\&. You may want to use rd\&.iscsi\&.firmware\&.
.sp .5v
.RE
.RE
.PP
\fBroot=\fR\fI???\fR \fBnetroot=\fRiscsi \fBrd\&.iscsi\&.firmware=1\fR
.RS 4
will read the iscsi parameter from the BIOS firmware
.RE
.PP
\fBrd\&.iscsi\&.login_retry_max=\fR\fI<num>\fR
.RS 4
maximum number of login retries
.RE
.PP
\fBrd\&.iscsi\&.param=\fR\fI<param>\fR
.RS 4
<param> will be passed as "\-\-param <param>" to iscsistart\&. This parameter can be specified multiple times\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
"netroot=iscsi rd\&.iscsi\&.firmware=1 rd\&.iscsi\&.param=node\&.session\&.timeo\&.replacement_timeout=30"
.fi
.if n \{\
.RE
.\}
.sp
will result in
.sp
.if n \{\
.RS 4
.\}
.nf
iscsistart \-b \-\-param node\&.session\&.timeo\&.replacement_timeout=30
.fi
.if n \{\
.RE
.\}
.RE
.sp
\fBrd\&.iscsi\&.ibft\fR \fBrd\&.iscsi\&.ibft=1\fR: Turn on iBFT autoconfiguration for the interfaces
.sp
\fBrd\&.iscsi\&.waitnet=0\fR: Turn off waiting for all interfaces to be up before trying to login to the iSCSI targets\&.
.sp
\fBrd\&.iscsi\&.testroute=0\fR: Turn off checking, if the route to the iSCSI target IP is possible before trying to login\&.
.SS "FCoE"
.PP
\fBfcoe=\fR\fI<edd|interface|MAC>\fR:\fI{dcb|nodcb}\fR:\fI{fabric|vn2vn}\fR
.RS 4
Try to connect to a FCoE SAN through the NIC specified by
\fI<interface>\fR
or
\fI<MAC>\fR
or EDD settings\&. The second argument specifies if DCB should be used\&. The optional third argument specifies whether fabric or VN2VN mode should be used\&. This parameter can be specified multiple times\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
letters in the MAC\-address must be lowercase!
.sp .5v
.RE
.RE
.SS "NBD"
.PP
\fBroot=\fR??? \fBnetroot=\fRnbd:\fI<server>\fR:\fI<port/exportname>\fR[:\fI<fstype>\fR[:\fI<mountopts>\fR[:\fI<nbdopts>\fR]]]
.RS 4
mount nbd share from <server>\&.
.sp
NOTE: If "exportname" instead of "port" is given the standard port is used\&. Newer versions of nbd are only supported with "exportname"\&.
.RE
.PP
\fBroot=dhcp\fR with \fBdhcp\fR \fBroot\-path=\fRnbd:\fI<server>\fR:\fI<port/exportname>\fR[:\fI<fstype>\fR[:\fI<mountopts>\fR[:\fI<nbdopts>\fR]]]
.RS 4
root=dhcp alone directs initrd to look at the DHCP root\-path where NBD options can be specified\&. This syntax is only usable in cases where you are directly mounting the volume as the rootfs\&.
.sp
NOTE: If "exportname" instead of "port" is given the standard port is used\&. Newer versions of nbd are only supported with "exportname"\&.
.RE
.SS "DASD"
.PP
\fBrd\&.dasd=\fR\&...\&.
.RS 4
same syntax as the kernel module parameter (s390 only)
.RE
.SS "ZFCP"
.PP
\fBrd\&.zfcp=\fR\fI<zfcp adaptor device bus ID>\fR,\fI<WWPN>\fR,\fI<FCPLUN>\fR
.RS 4
rd\&.zfcp can be specified multiple times on the kernel command line\&.
.RE
.PP
\fBrd\&.zfcp=\fR\fI<zfcp adaptor device bus ID>\fR
.RS 4
If NPIV is enabled and the
\fIallow_lun_scan\fR
parameter to the zfcp module is set to
\fIY\fR
then the zfcp adaptor will be initiating a scan internally and the <WWPN> and <FCPLUN> parameters can be omitted\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.zfcp=0\&.0\&.4000,0x5005076300C213e9,0x5022000000000000
rd\&.zfcp=0\&.0\&.4000
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.zfcp\&.conf=0\fR
.RS 4
ignore zfcp\&.conf included in the initramfs
.RE
.SS "ZNET"
.PP
\fBrd\&.znet=\fR\fI<nettype>\fR,\fI<subchannels>\fR,\fI<options>\fR
.RS 4
The whole parameter is appended to /etc/ccw\&.conf, which is used on RHEL/Fedora with ccw_init, which is called from udev for certain devices on z\-series\&. rd\&.znet can be specified multiple times on the kernel command line\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.znet=qeth,0\&.0\&.0600,0\&.0\&.0601,0\&.0\&.0602,layer2=1,portname=foo
rd\&.znet=ctc,0\&.0\&.0600,0\&.0\&.0601,protocol=bar
.fi
.if n \{\
.RE
.\}
.sp
.RE
.SS "Booting live images"
.sp
Dracut offers multiple options for live booted images:
.PP
SquashFS with read\-only filesystem image
.RS 4
The system will boot with a read\-only filesystem from the SquashFS and apply a writable Device\-mapper snapshot or an OverlayFS overlay mount for the read\-only base filesystem\&. This method ensures a relatively fast boot and lower RAM usage\&. Users
\fBmust be careful\fR
to avoid writing too many blocks to a snapshot volume\&. Once the blocks of the snapshot overlay are exhausted, the root filesystem becomes read\-only and may cause application failures\&. The snapshot overlay file is marked
\fIOverflow\fR, and a difficult recovery is required to repair and enlarge the overlay offline\&. Non\-persistent overlays are sparse files in RAM that only consume content space as required blocks are allocated\&. They default to an apparent size of 32 GiB in RAM\&. The size can be adjusted with the
\fBrd\&.live\&.overlay\&.size=\fR
kernel command line option\&.
.sp
The filesystem structure is traditionally expected to be:
.sp
.if n \{\
.RS 4
.\}
.nf
squashfs\&.img | SquashFS from LiveCD \&.iso
!(mount)
/LiveOS
|\- rootfs\&.img | Filesystem image to mount read\-only
!(mount)
/bin | Live filesystem
/boot |
/dev |
\&.\&.\&. |
.fi
.if n \{\
.RE
.\}
.sp
For OverlayFS mount overlays, the filesystem structure may also be a direct compression of the root filesystem:
.sp
.if n \{\
.RS 4
.\}
.nf
squashfs\&.img | SquashFS from LiveCD \&.iso
!(mount)
/bin | Live filesystem
/boot |
/dev |
\&.\&.\&. |
.fi
.if n \{\
.RE
.\}
.sp
Dracut uses one of the overlay methods of live booting by default\&. No additional command line options are required other than
\fBroot=live:<URL>\fR
to specify the location of your squashed filesystem\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
The compressed SquashFS image can be copied during boot to RAM at
/run/initramfs/squashed\&.img
by using the
\fBrd\&.live\&.ram=1\fR
option\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
A device with a persistent overlay can be booted read\-only by using the
\fBrd\&.live\&.overlay\&.readonly\fR
option on the kernel command line\&. This will either cause a temporary, writable overlay to be stacked over a read\-only snapshot of the root filesystem or the OverlayFS mount will use an additional lower layer with the root filesystem\&.
.RE
.RE
.PP
Uncompressed live filesystem image
.RS 4
When the live system was installed with the
\fI\-\-skipcompress\fR
option of the
\fIlivecd\-iso\-to\-disk\fR
installation script for Live USB devices, the root filesystem image,
\fIrootfs\&.img\fR, is expanded on installation and no SquashFS is involved during boot\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If
\fBrd\&.live\&.ram=1\fR
is used in this situation, the full, uncompressed root filesystem is copied during boot to
/run/initramfs/rootfs\&.img
in the
/run
tmpfs\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If
\fBrd\&.live\&.overlay=none\fR
is provided as a kernel command line option, a writable, linear Device\-mapper target is created on boot with no overlay\&.
.RE
.RE
.PP
Writable filesystem image
.RS 4
The system will retrieve a compressed filesystem image, extract it to
/run/initramfs/fsimg/rootfs\&.img, connect it to a loop device, create a writable, linear Device\-mapper target at
/dev/mapper/live\-rw, and mount that as a writable volume at
/\&. More RAM is required during boot but the live filesystem is easier to manage if it becomes full\&. Users can make a filesystem image of any size and that size will be maintained when the system boots\&. There is no persistence of root filesystem changes between boots with this option\&.
.sp
The filesystem structure is expected to be:
.sp
.if n \{\
.RS 4
.\}
.nf
rootfs\&.tgz | Compressed tarball containing filesystem image
!(unpack)
/rootfs\&.img | Filesystem image at /run/initramfs/fsimg/
!(mount)
/bin | Live filesystem
/boot |
/dev |
\&.\&.\&. |
.fi
.if n \{\
.RE
.\}
.sp
To use this boot option, ensure that
\fBrd\&.writable\&.fsimg=1\fR
is in your kernel command line and add the
\fBroot=live:<URL>\fR
to specify the location of your compressed filesystem image tarball or SquashFS image\&.
.RE
.PP
\fBrd\&.writable\&.fsimg=\fR1
.RS 4
Enables writable filesystem support\&. The system will boot with a fully writable (but non\-persistent) filesystem without snapshots
\fI(see notes above about available live boot options)\fR\&. You can use the
\fBrootflags\fR
option to set mount options for the live filesystem as well
\fI(see documentation about rootflags in the \fR\fI\fBStandard\fR\fR\fI section above)\fR\&. This implies that the whole image is copied to RAM before the boot continues\&.
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
There must be enough free RAM available to hold the complete image\&.
.sp .5v
.RE
This method is very suitable for diskless boots\&.
.RE
.PP
\fBroot=\fRlive:\fI<url>\fR
.RS 4
Boots a live image retrieved from
\fI<url>\fR\&. Requires the dracut
\fIlivenet\fR
module\&. Valid handlers:
\fIhttp, https, ftp, torrent, tftp\fR\&.
.PP
\fBExamples\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
root=live:http://example\&.com/liveboot\&.img
root=live:ftp://ftp\&.example\&.com/liveboot\&.img
root=live:torrent://example\&.com/liveboot\&.img\&.torrent
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.live\&.debug=\fR1
.RS 4
Enables debug output from the live boot process\&.
.RE
.PP
\fBrd\&.live\&.dir=\fR\fI<path>\fR
.RS 4
Specifies the directory within the boot device where the squashfs\&.img or rootfs\&.img can be found\&. By default, this is
/LiveOS\&.
.RE
.PP
\fBrd\&.live\&.squashimg=\fR\fI<filename of SquashFS image>\fR
.RS 4
Specifies the filename for a SquashFS image of the root filesystem\&. By default, this is
\fIsquashfs\&.img\fR\&.
.RE
.PP
\fBrd\&.live\&.ram=\fR1
.RS 4
Copy the complete image to RAM and use this for booting\&. This is useful when the image resides on, e\&.g\&., a DVD which needs to be ejected later on\&.
.RE
.PP
\fBrd\&.live\&.overlay={\fR\fI<devspec>\fR[:\fI{<pathspec>|auto}\fR]|\fInone\fR}
.RS 4
Manage the usage of a permanent overlay\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fI<devspec>\fR
specifies the path to a device with a mountable filesystem\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fI<pathspec>\fR
is the path to a file within that filesystem, which shall be used to persist the changes made to the device specified by the
\fBroot=live:\fR\fB\fI<url>\fR\fR
option\&.
.sp
The default
\fIpathspec\fR, when
\fIauto\fR
or no
\fI:<pathspec>\fR
is given, is
/<<b>rd\&.live\&.dir</b>>/overlay\-<label>\-<uuid>, where
\fI<label>\fR
is the device LABEL, and
\fI<uuid>\fR
is the device UUID\&. *
\fInone\fR
(the word itself) specifies that no overlay will be used, such as when an uncompressed, writable live root filesystem is available\&.
.sp
If a persistent overlay
\fIis detected\fR
at the standard LiveOS path, the overlay & overlay type detected, whether Device\-mapper or OverlayFS, will be used\&.
.RE
.PP
\fBExamples\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.live\&.overlay=/dev/sdb1:persistent\-overlay\&.img
rd\&.live\&.overlay=UUID=99440c1f\-8daa\-41bf\-b965\-b7240a8996f4
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBrd\&.live\&.overlay\&.size=\fR\fI<size_MiB>\fR
.RS 4
Specifies a non\-persistent Device\-mapper overlay size in MiB\&. The default is
\fI32768\fR\&.
.RE
.PP
\fBrd\&.live\&.overlay\&.readonly=\fR1
.RS 4
This is used to boot with a normally read\-write persistent overlay in a read\-only mode\&. With this option, either an additional, non\-persistent, writable snapshot overlay will be stacked over a read\-only snapshot,
/dev/mapper/live\-ro, of the base filesystem with the persistent overlay, or a read\-only loop device, in the case of a writable
\fIrootfs\&.img\fR, or an OverlayFS mount will use the persistent overlay directory linked at
/run/overlayfs\-r
as an additional lower layer along with the base root filesystem and apply a transient, writable upper directory overlay, in order to complete the booted root filesystem\&.
.RE
.PP
\fBrd\&.live\&.overlay\&.reset=\fR1
.RS 4
Specifies that a persistent overlay should be reset on boot\&. All previous root filesystem changes are vacated by this action\&.
.RE
.PP
\fBrd\&.live\&.overlay\&.thin=\fR1
.RS 4
Enables the usage of thin snapshots instead of classic dm snapshots\&. The advantage of thin snapshots is that they support discards, and will free blocks that are not claimed by the filesystem\&. In this use case, this means that memory is given back to the kernel when the filesystem does not claim it anymore\&.
.RE
.PP
\fBrd\&.live\&.overlay\&.overlayfs=\fR1
.RS 4
Enables the use of the
\fBOverlayFS\fR
kernel module, if available, to provide a copy\-on\-write union directory for the root filesystem\&. OverlayFS overlays are directories of the files that have changed on the read\-only base (lower) filesystem\&. The root filesystem is provided through a special overlay type mount that merges the lower and upper directories\&. If an OverlayFS upper directory is not present on the boot device, a tmpfs directory will be created at
/run/overlayfs
to provide temporary storage\&. Persistent storage can be provided on vfat or msdos formatted devices by supplying the OverlayFS upper directory within an embedded filesystem that supports the creation of trusted\&.* extended attributes and provides a valid d_type in readdir responses, such as with ext4 and xfs\&. On non\-vfat\-formatted devices, a persistent OverlayFS overlay can extend the available root filesystem storage up to the capacity of the LiveOS disk device\&.
.sp
If a persistent overlay is detected at the standard LiveOS path, the overlay & overlay type detected, whether OverlayFS or Device\-mapper, will be used\&.
.sp
The
\fBrd\&.live\&.overlay\&.readonly\fR
option, which allows a persistent overlayfs to be mounted read\-only through a higher level transient overlay directory, has been implemented through the multiple lower layers feature of OverlayFS\&.
.RE
.SS "ZIPL"
.PP
\fBrd\&.zipl=\fR\fI<path to blockdevice>\fR
.RS 4
Update the dracut commandline with the values found in the
\fIdracut\-cmdline\&.conf\fR
file on the given device\&. The values are merged into the existing commandline values and the udev events are regenerated\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.zipl=UUID=0fb28157\-99e3\-4395\-adef\-da3f7d44835a
.fi
.if n \{\
.RE
.\}
.sp
.RE
.SS "CIO_IGNORE"
.PP
\fBrd\&.cio_accept=\fR\fI<device\-ids>\fR
.RS 4
Remove the devices listed in <device\-ids> from the default cio_ignore kernel command\-line settings\&. <device\-ids> is a list of comma\-separated CCW device ids\&. The default for this value is taken from the
\fI/boot/zipl/active_devices\&.txt\fR
file\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
rd\&.cio_accept=0\&.0\&.0180,0\&.0\&.0800,0\&.0\&.0801,0\&.0\&.0802
.fi
.if n \{\
.RE
.\}
.sp
.RE
.SS "Plymouth Boot Splash"
.PP
\fBplymouth\&.enable=0\fR
.RS 4
disable the plymouth bootsplash completely\&.
.RE
.PP
\fBrd\&.plymouth=0\fR
.RS 4
disable the plymouth bootsplash only for the initramfs\&.
.RE
.SS "Kernel keys"
.PP
\fBmasterkey=\fR\fI<kernel master key path name>\fR
.RS 4
Set the path name of the kernel master key\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
masterkey=/etc/keys/kmk\-trusted\&.blob
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBmasterkeytype=\fR\fI<kernel master key type>\fR
.RS 4
Set the type of the kernel master key\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
masterkeytype=trusted
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBevmkey=\fR\fI<EVM key path name>\fR
.RS 4
Set the path name of the EVM key\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
evmkey=/etc/keys/evm\-trusted\&.blob
.fi
.if n \{\
.RE
.\}
.sp
.RE
.PP
\fBecryptfskey=\fR\fI<eCryptfs key path name>\fR
.RS 4
Set the path name of the eCryptfs key\&.
.PP
\fBExample\fR.
.sp
.if n \{\
.RS 4
.\}
.nf
ecryptfskey=/etc/keys/ecryptfs\-trusted\&.blob
.fi
.if n \{\
.RE
.\}
.sp
.RE
.SS "Deprecated, renamed Options"
.sp
Here is a list of options, which were used in dracut prior to version 008, and their new replacement\&.
.PP
rdbreak
.RS 4
rd\&.break
.RE
.PP
rd\&.ccw
.RS 4
rd\&.znet
.RE
.PP
rd_CCW
.RS 4
rd\&.znet
.RE
.PP
rd_DASD_MOD
.RS 4
rd\&.dasd
.RE
.PP
rd_DASD
.RS 4
rd\&.dasd
.RE
.PP
rdinitdebug rdnetdebug
.RS 4
rd\&.debug
.RE
.PP
rd_NO_DM
.RS 4
rd\&.dm=0
.RE
.PP
rd_DM_UUID
.RS 4
rd\&.dm\&.uuid
.RE
.PP
rdblacklist
.RS 4
rd\&.driver\&.blacklist
.RE
.PP
rdinsmodpost
.RS 4
rd\&.driver\&.post
.RE
.PP
rdloaddriver
.RS 4
rd\&.driver\&.pre
.RE
.PP
rd_NO_FSTAB
.RS 4
rd\&.fstab=0
.RE
.PP
rdinfo
.RS 4
rd\&.info
.RE
.PP
check
.RS 4
rd\&.live\&.check
.RE
.PP
rdlivedebug
.RS 4
rd\&.live\&.debug
.RE
.PP
live_dir
.RS 4
rd\&.live\&.dir
.RE
.PP
liveimg
.RS 4
rd\&.live\&.image
.RE
.PP
overlay
.RS 4
rd\&.live\&.overlay
.RE
.PP
readonly_overlay
.RS 4
rd\&.live\&.overlay\&.readonly
.RE
.PP
reset_overlay
.RS 4
rd\&.live\&.overlay\&.reset
.RE
.PP
live_ram
.RS 4
rd\&.live\&.ram
.RE
.PP
rd_NO_CRYPTTAB
.RS 4
rd\&.luks\&.crypttab=0
.RE
.PP
rd_LUKS_KEYDEV_UUID
.RS 4
rd\&.luks\&.keydev\&.uuid
.RE
.PP
rd_LUKS_KEYPATH
.RS 4
rd\&.luks\&.keypath
.RE
.PP
rd_NO_LUKS
.RS 4
rd\&.luks=0
.RE
.PP
rd_LUKS_UUID
.RS 4
rd\&.luks\&.uuid
.RE
.PP
rd_NO_LVMCONF
.RS 4
rd\&.lvm\&.conf
.RE
.PP
rd_LVM_LV
.RS 4
rd\&.lvm\&.lv
.RE
.PP
rd_NO_LVM
.RS 4
rd\&.lvm=0
.RE
.PP
rd_LVM_SNAPSHOT
.RS 4
rd\&.lvm\&.snapshot
.RE
.PP
rd_LVM_SNAPSIZE
.RS 4
rd\&.lvm\&.snapsize
.RE
.PP
rd_LVM_VG
.RS 4
rd\&.lvm\&.vg
.RE
.PP
rd_NO_MDADMCONF
.RS 4
rd\&.md\&.conf=0
.RE
.PP
rd_NO_MDIMSM
.RS 4
rd\&.md\&.imsm=0
.RE
.PP
rd_NO_MD
.RS 4
rd\&.md=0
.RE
.PP
rd_MD_UUID
.RS 4
rd\&.md\&.uuid
.RE
.sp
rd_NO_MULTIPATH: rd\&.multipath=0
.PP
rd_NFS_DOMAIN
.RS 4
rd\&.nfs\&.domain
.RE
.PP
iscsi_initiator
.RS 4
rd\&.iscsi\&.initiator
.RE
.PP
iscsi_target_name
.RS 4
rd\&.iscsi\&.target\&.name
.RE
.PP
iscsi_target_ip
.RS 4
rd\&.iscsi\&.target\&.ip
.RE
.PP
iscsi_target_port
.RS 4
rd\&.iscsi\&.target\&.port
.RE
.PP
iscsi_target_group
.RS 4
rd\&.iscsi\&.target\&.group
.RE
.PP
iscsi_username
.RS 4
rd\&.iscsi\&.username
.RE
.PP
iscsi_password
.RS 4
rd\&.iscsi\&.password
.RE
.PP
iscsi_in_username
.RS 4
rd\&.iscsi\&.in\&.username
.RE
.PP
iscsi_in_password
.RS 4
rd\&.iscsi\&.in\&.password
.RE
.PP
iscsi_firmware
.RS 4
rd\&.iscsi\&.firmware=0
.RE
.PP
rd_NO_PLYMOUTH
.RS 4
rd\&.plymouth=0
.RE
.PP
rd_retry
.RS 4
rd\&.retry
.RE
.PP
rdshell
.RS 4
rd\&.shell
.RE
.PP
rd_NO_SPLASH
.RS 4
rd\&.splash
.RE
.PP
rdudevdebug
.RS 4
rd\&.udev\&.debug
.RE
.PP
rdudevinfo
.RS 4
rd\&.udev\&.info
.RE
.PP
rd_NO_ZFCPCONF
.RS 4
rd\&.zfcp\&.conf=0
.RE
.PP
rd_ZFCP
.RS 4
rd\&.zfcp
.RE
.PP
rd_ZNET
.RS 4
rd\&.znet
.RE
.PP
KEYMAP
.RS 4
vconsole\&.keymap
.RE
.PP
KEYTABLE
.RS 4
vconsole\&.keymap
.RE
.PP
SYSFONT
.RS 4
vconsole\&.font
.RE
.PP
CONTRANS
.RS 4
vconsole\&.font\&.map
.RE
.PP
UNIMAP
.RS 4
vconsole\&.font\&.unimap
.RE
.PP
UNICODE
.RS 4
vconsole\&.unicode
.RE
.PP
EXT_KEYMAP
.RS 4
vconsole\&.keymap\&.ext
.RE
.SS "Configuration in the Initramfs"
.PP
\fI/etc/conf\&.d/\fR
.RS 4
Any files found in
\fI/etc/conf\&.d/\fR
will be sourced in the initramfs to set initial values\&. Command line options will override these values set in the configuration files\&.
.RE
.PP
\fI/etc/cmdline\fR
.RS 4
Can contain additional command line options\&. Deprecated, better use /etc/cmdline\&.d/*\&.conf\&.
.RE
.PP
\fI/etc/cmdline\&.d/*\&.conf\fR
.RS 4
Can contain additional command line options\&.
.RE
.SH "AUTHOR"
.sp
Harald Hoyer
.SH "SEE ALSO"
.sp
\fBdracut\fR(8) \fBdracut\&.conf\fR(5)
.SH "NOTES"
.IP " 1." 4
rfc4173
.RS 4
\%http://tools.ietf.org/html/rfc4173#section-5
.RE