'\" t
.\" Title: dracut.cmdline
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.79.1
.\" Date: 2018-01-18
.\" Manual: dracut
.\" Source: dracut
.\" Language: English
.\"
.TH "DRACUT\&.CMDLINE" "7" "2018\-01\-18" "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=\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=\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\fR
.RS 4
specify the path to the init program to be started after the initramfs has finished
.RE
.PP
\fBroot=\fR\fI\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\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\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\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\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\fR[,\fI\fR,\&...]
.RS 4
do not load kernel module \&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.driver\&.pre=\fR\fI\fR[,\fI\fR,\&...]
.RS 4
force loading kernel module \&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.driver\&.post=\fR\fI\fR[,\fI\fR,\&...]
.RS 4
force loading kernel module after all automatic loading modules have been loaded\&. This parameter can be specified multiple times\&.
.RE
.PP
\fBrd\&.retry=\fR\fI\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\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\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\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\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\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\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\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\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\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\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\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\fR
.RS 4
only activate the LUKS partitions with the given UUID\&. Any "luks\-" of the LUKS UUID is removed before comparing to
\fI\fR\&. The comparisons also matches, if
\fI\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\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\fR\&. The comparisons also matches, if
\fI\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\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\fR:\fI\fR:\fI\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\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\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\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=
boot=LABEL=