DRACUT.CMDLINE(7) ================= :doctype: manpage :man source: dracut :man manual: dracut NAME ---- dracut.cmdline - dracut kernel command line options DESCRIPTION ----------- The root device used by the kernel is specified in the boot configuration file on the kernel command line, as always. The traditional _root=/dev/sda1_ 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 _root=LABEL=_ the initramfs will search all available devices for a filesystem with the appropriate label, and mount that device as the root filesystem. _root=UUID=_ will mount the partition with that UUID as the root filesystem. In the following all kernel command line parameters, which are processed by dracut, are described. "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 _rd.info_ can be turned off with _rd.info=0_ or turned on with _rd.info=1_ or _rd.info_. The last value in the kernel command line is the value, which is honored. Standard ~~~~~~~~ **init=**__:: specify the path to the init programm to be started after the initramfs has finished **root=**__:: specify the block device to use as the root filesystem. + E.g.: + ---- 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 ---- **rootfstype=**__:: "auto" if not specified, e.g.: + ---- rootfstype=ext3 ---- **rootflags=**__:: specify additional mount options for the root filesystem. If not set, _/etc/fstab_ of the real root will be parsed for special mount options and mounted accordingly. **ro**:: force mounting _/_ and _/usr_ (if it is a separate device) read-only. If none of ro and rw is present, both are mounted according to _/etc/fstab_. **rw**:: force mounting _/_ and _/usr_ (if it is a separate device) read-write. See also ro option. **rd.auto** **rd.auto=1**:: enable autoassembly of special devices like cryptoLUKS, dmraid, mdraid or lvm. Default is off as of dracut version >= 024. **rd.fstab=0**:: do not honor special mount options for the root filesystem found in _/etc/fstab_ of the real root. **resume=**__:: resume from a swap partition + E.g.: + ---- 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 ---- **rd.skipfsck**:: skip fsck for rootfs and _/usr_. If you're mounting _/usr_ read-only and the init system performs fsck before remount, you might want to use this option to avoid duplication. Misc ~~~~ **rd.driver.blacklist=**_[,,...]_:: do not load kernel module . This parameter can be specified multiple times. **rd.driver.pre=**_[,,...]_:: force loading kernel module . This parameter can be specified multiple times. **rd.driver.post=**_[,,...]_:: force loading kernel module after all automatic loading modules have been loaded. This parameter can be specified multiple times. **rd.retry=**__:: specify how long dracut should wait for devices to appear. 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. **rd.noverifyssl**:: accept self-signed certificates for ssl downloads. **rd.ctty=**__**:: specify the controlling terminal for the console. This is useful, if you have multiple "console=" arguments. [[dracutkerneldebug]] Debug ~~~~~ If you are dropped to an emergency shell, the file _/run/initramfs/sosreport.txt_ is created, which can be safed to a (to be mounted by hand) partition (usually /boot) or a USB stick. Additional debugging info can be produced by adding **rd.debug** to the kernel command line. _/run/initramfs/sosreport.txt_ contains all logs and the output of some tools. It should be attached to any report about dracut problems. **rd.info**:: print informational output though "quiet" is set **rd.shell**:: allow dropping to a shell, if root mounting fails **rd.debug**:: 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 _/run/initramfs/init.log_. If "quiet" is set, it also logs to the console. **rd.memdebug=[0-3]**:: print memory usage debug info, set the verbose level from 1 to 3 print nothing when set rd.memdebug=0 **rd.break**:: drop to a shell at the end **rd.break=**_{cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}_:: drop to a shell on defined breakpoint **rd.udev.info**:: set udev to loglevel info **rd.udev.debug**:: set udev to loglevel debug I18N ~~~~ **vconsole.keymap=**__:: keyboard translation table loaded by loadkeys; taken from keymaps directory; will be written as KEYMAP to _/etc/vconsole.conf_ in the initramfs, e.g.: + ---- vconsole.keymap=de-latin1-nodeadkeys ---- **vconsole.keymap.ext=**__:: list of extra keymaps to bo loaded (sep. by space); will be written as EXT_KEYMAP to _/etc/vconsole.conf_ in the initramfs **vconsole.unicode**[=_{0|1}_]:: boolean, indicating UTF-8 mode; will be written as UNICODE to _/etc/vconsole.conf_ in the initramfs **vconsole.font=**__:: console font; taken from consolefonts directory; will be written as FONT to _/etc/vconsole.conf_ in the initramfs; e.g.: + ---- vconsole.font=LatArCyrHeb-16 ---- **vconsole.font.map=**__:: see description of '-m' parameter in setfont manual; taken from consoletrans directory; will be written as FONT_MAP to _/etc/vconsole.conf_ in the initramfs **vconsole.font.unimap=**__:: see description of '-u' parameter in setfont manual; taken from unimaps directory; will be written as FONT_UNIMAP to _/etc/vconsole.conf_ in the initramfs **locale.LANG=**__:: 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 _/etc/locale.conf_ in the initramfs; e.g.: + ---- locale.LANG=pl_PL.utf8 ---- **locale.LC_ALL=**__:: taken from the environment; will be written as LC_ALL to _/etc/locale.conf_ in the initramfs LVM ~~~ **rd.lvm=0**:: disable LVM detection **rd.lvm.vg=**__:: only activate the volume groups with the given name. rd.lvm.vg can be specified multiple times on the kernel command line. **rd.lvm.lv=**__:: only activate the logical volumes with the given name. rd.lvm.lv can be specified multiple times on the kernel command line. **rd.lvm.conf=0**:: remove any _/etc/lvm/lvm.conf_, which may exist in the initramfs crypto LUKS ~~~~~~~~~~~ **rd.luks=0**:: disable crypto LUKS detection **rd.luks.uuid=**__:: only activate the LUKS partitions with the given UUID. Any "luks-" of the LUKS UUID is removed before comparing to __. The comparisons also matches, if __ is only the beginning of the LUKS UUID, so you don't have to specify the full UUID. This parameter can be specified multiple times. **rd.luks.allow-discards=**__:: Allow using of discards (TRIM) requests for LUKS partitions with the given UUID. Any "luks-" of the LUKS UUID is removed before comparing to __. The comparisons also matches, if __ is only the beginning of the LUKS UUID, so you don't have to specify the full UUID. This parameter can be specified multiple times. **rd.luks.allow-discards**:: Allow using of discards (TRIM) requests on all LUKS partitions. **rd.luks.crypttab=0**:: do not check, if LUKS partition is in _/etc/crypttab_ crypto LUKS - key on removable device support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **rd.luks.key=**_::_:: _keypath_ is a path to key file to look for. It's REQUIRED. When _keypath_ ends with '.gpg' it's considered to be key encrypted symmetrically with GPG. You will be prompted for password on boot. GPG support comes with 'crypt-gpg' module which needs to be added explicitly. + _keydev_ 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't 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. + If _luksdev_ is given, the specified key will only be applied for that LUKS device. Possible values are the same as for _keydev_. Unless you have several LUKS devices, you don't have to specify this parameter. The simplest usage is: + ---- rd.luks.key=/foo/bar.key ---- + As you see, you can skip colons in such a case. + [NOTE] =============================== dracut pipes key to cryptsetup with _-d -_ argument, therefore you need to pipe to crypsetup luksFormat with _-d -_, too! Here follows example for key encrypted with GPG: ---- gpg --quiet --decrypt rootkey.gpg \ | cryptsetup -d - -v \ --cipher serpent-cbc-essiv:sha256 \ --key-size 256 luksFormat /dev/sda3 ---- If you use plain keys, just add path to _-d_ option: ---- cryptsetup -d rootkey.key -v \ --cipher serpent-cbc-essiv:sha256 \ --key-size 256 luksFormat /dev/sda3 ---- =============================== MD RAID ~~~~~~~ **rd.md=0**:: disable MD RAID detection **rd.md.imsm=0**:: disable MD RAID for imsm/isw raids, use DM RAID instead **rd.md.ddf=0**:: disable MD RAID for SNIA ddf raids, use DM RAID instead **rd.md.conf=0**:: ignore mdadm.conf included in initramfs **rd.md.waitclean=1**:: wait for any resync, recovery, or reshape activity to finish before continuing **rd.md.uuid=**__:: only activate the raid sets with the given UUID. This parameter can be specified multiple times. DM RAID ~~~~~~~ **rd.dm=0**:: disable DM RAID detection **rd.dm.uuid=**__:: only activate the raid sets with the given UUID. This parameter can be specified multiple times. FIPS ~~~~ **rd.fips**:: enable FIPS **boot=**__:: specify the device, where /boot is located. e.g. + ---- boot=/dev/sda1 boot=/dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1 boot=UUID= boot=LABEL=