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>]

Template:Admin/note

  • root=dhcp

๐Ÿ”— iSCSI

  • root=iscsi:[<servername>]:[<protocol>]:[<port>]:[<LUN>]:<targetname>::

{{admon/note|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

๐Ÿ”— 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