From Fedora Project Wiki

Dracut kernel command line parameters

Limitations

  • Command line length: 2048
  • dhcp root-path: 255

Configuration in initrd

/conf/conf.d/* 
Command line options can override values set here

Standard

init=<path to real init>
root=<path to blockdevice>
Specify e.g. /dev/sda1 or /dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1

DHCP

  • root=dhcp
Get IP from dhcp server, root-path option from dhcp specifies root location.

NFSv3

  • root=[<server-ip>:]<root-dir>[:<nfs-options>]
Mount nfs share from <server-ip>:/<root-dir> If no server-ip is given use dhcp next_server. nfs-options can be appended with the prefix ":" or ","
  • root=dhcp
  • root-path=<server-ip>:<root-dir>[,<nfs-options>]
  • Deprecated root=/dev/nfs nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
Kernel Documentation/filesystems/nfsroot.txt defines this method. This is supported by dracut but not recommended.

NFSv4

  • root=nfs4:[<server-ip>:]<root-dir>[:<nfs-options>]
mount nfsv4 share from <server-ip>:/<root-dir>. If no server-ip is given, use dhcp next_server. nfs-options can be appended with the prefix ":" or ","
  • root=dhcp

iSCSI

  • root=iscsi:[<servername>]:[<protocol>]:[<port>]:[<LUN>]:<targetname>::
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 (Section 7). 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.[RFC4173]
  • root=??? iscsiroot=...::
  • root=??? iscsi_initiator= iscsi_target_name= iscsi_target_ip= iscsi_target_port= iscsi_target_group= iscsi_username= iscsi_password= iscsi_in_username= iscsi_in_password=::
  • root=??? iscsi_firmware::

NBD

  • root=nbd:<server>:<port>[:<fstype>][:<mountopts>]
Mount nbd share from <server>.
  • root=dhcp

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.

Network

  • ip=[dhcp|on|any]
  • ip=<interface>:[dhcp|on|any]
Get ip from dhcp server on a specific interface.
  • ip=<client-IP-number>:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:[dhcp|on|any|]
Explicit network configuration

Misc

  • rdblacklist=<modulename>
TBD: do not load modulename.

Debug ¶

   * rdinitdebug
         o set -x for the dracut shell 
   * rdbreak=[pre-udev|pre-mount|mount|pre-pivot|]
         o drop the shell on defined breakpoint 
   * rdudevinfo
         o set udev to loglevel info 
   * rdudevdebug
         o set udev to loglevel debug 
   * rdnetdebug
         o debug network scripts in dracut