DRACUT(8)

NAME
dracut - create initial ramdisk images for preloading modules

SYNOPSIS
dracut [OPTION]... <image> <kernel-version>

DESCRIPTION
dracut creates an initial image used by the kernel for preloading the block device modules (such as IDE, SCSI or RAID) which are needed to access the root filesystem.

OPTIONS

-f, --force
    overwrite existing initramfs file.

-m, --modules LIST
    specify a space-separated list of dracut modules to call when building the initramfs. Modules are located in /usr/share/dracut/modules.d.

-o, --omit LIST
    omit a space-separated list of dracut modules.

-a, --add LIST
    add a space-separated list of dracut modules.

-d, --drivers LIST
    specify a space-separated list of kernel modules to exclusively include in the initramfs. --add-drivers LIST specify a space-separated list of kernel modules to add to the initramfs.

--filesystems LIST
    specify a space-separated list of kernel filesystem modules to exclusively include in the generic initramfs.

-k, --kmoddir {DIR}
    specify the directory, where to look for kernel modules

--fwdir {DIR}
    specify additional directory, where to look for firmwares

--kernel-only
    only install kernel drivers and firmware files

--no-kernel
    do not install kernel drivers and firmware files

--mdadmconf
    include local /etc/mdadm.conf

--nomdadmconf
    do not include local /etc/mdadm.conf

--strip
    strip binaries in the initramfs (default)

--nostrip
    do not strip binaries in the initramfs

-h, --help
    display help text and exit.

--debug
    output debug information of the build process

-v, --verbose
    verbose output during the build process

-c, --conf FILE
    specify configuration file to use. Default: /etc/dracut.conf

-l, --local
    local mode. Use modules from the current working directory instead of the system-wide installed in /usr/share/dracut/modules.d. Useful when running dracut from a git checkout.

-H, --hostonly
    Host-Only mode: Install only what is needed for booting the local host instead of a generic host.

-i, --include SOURCE TARGET
    include the files in the SOURCE directory into the target directory in the final initramfs.

-I, --install LIST
    install the space separated list of files into the initramfs.

KERNEL COMMAND LINE
The root filesystem used by the kernel is specified in the boot configuration file, as always. The traditional root=/dev/hda1 style device specification is allowed. If a label is used, as in root=LABEL=rootPart the initrd will search all available devices for an ext2 or ext3 filesystem with the appropriate label, and mount that device as the root filesystem. root=UUID=uuidnumber will mount the partition with that UUID as the root filesystem.

Standard

init=<path to real init>

root=<path to blockdevice>
    specify blockdevice to use as root filesystem. e.g. /dev/sda1 e.g. /dev/disk/by-path/pci-0000:00:1f.1-scsi-0:0:1:0-part1

rootfstype=<filesystem type>
    "auto" if not specified, e.g. rootfstype=ext3

rootflags=<mount options>
    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.

rd_NO_FSTAB
    do not honor special mount options for the root filesystem found in /etc/fstab of the real root.

I18N
e.g. LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=de-latin1-nodeadkeys

KEYBOARDTYPE=sun|pc
    will be written to /etc/sysconfig/keyboard in the initramfs

KEYTABLE=<keytable filename>
    will be written to /etc/sysconfig/keyboard in the initramfs

SYSFONT= Console font
    will be written to /etc/sysconfig/i18n in the initramfs

SYSFONTACM= Unicode font map
    will be written to /etc/sysconfig/i18n in the initramfs

UNIMAP= Unicode font map
    will be written to /etc/sysconfig/i18n in the initramfs

LANG=<locale>
    will be written to /etc/sysconfig/i18n in the initramfs

LVM

rd_NO_LVM
    disable LVM detection

rd_LVM_VG=<volume group name>
    only activate the volume groups with the given name

rd_NO_LVMCONF
    remove any /etc/lvm/lvm.conf, which may exist in the initramfs

crypto LUKS

rd_NO_LUKS
    disable crypto LUKS detection

rd_LUKS_UUID=<luks uuid>
    only activate the LUKS partitions with the given UUID Any "luks-" of the LUKS UUID is removed before comparing to <luks uuid>. The comparisons also matches, if <luks uuid> is only the beginning of the LUKS UUID, so you don't have to specify the full UUID. rd_NO_CRYPTTAB do not check if LUKS partition is in /etc/crypttab

MD

rd_NO_MD
    disable MD RAID detection

rd_NO_MDIMSM
    no MD RAID for imsm/isw raids, use dmraid instead

rd_NO_MDADMCONF
    ignore mdadm.conf included in initramfs

rd_MD_UUID=<md uuid>
    only activate the raid sets with the given UUID

DMRAID

rd_NO_DM
    disable DM RAID detection

rd_DM_UUID=<dmraid uuid>
    only activate the raid sets with the given UUID

DASD

rd_DASD_MOD=....
    same syntax as the kernel module parameter (s390 only)

rd_DASD=<dasd adaptor device bus ID>[,readonly=X][,use_diag=X][,erplog=X][,failfast=X]
    activate DASD device with the given adaptor device bus ID and setting the sysfs attributes to the specified values

ZFCP

rd_ZFCP=<zfcp adaptor device bus ID>,<WWPN>,<FCPLUN>
    rd_ZFCP can be specified multiple times on the kernel command line. example: rd_ZFCP=0.0.4000,0x5005076300C213e9,0x5022000000000000

rd_NO_ZFCPCONF
    ignore zfcp.conf included in the initramfs

CCW

rd_CCW=<nettype>,<subchannels>,<options>
    rd_CCW can be specified multiple times on the kernel command line. Examples:
        rd_CCW=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo
        rd_CCW=ctc,0.0.0600,0.0.0601,0.0.0602,protocol=bar

DHCP

root=dhcp
    get IP from dhcp server, root-path option from dhcp specifies root location

NFS

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=nfs:[<server-ip>:]<root-dir>[:<nfs-options>]

root=nfs4:[<server-ip>:]<root-dir>[:<nfs-options>]

root=dhcp
    root=dhcp alone directs initrd to look at the DHCP root-path where NFS options can be specified.
        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>]

root=/dev/nfs nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
    Deprecated! kernel Documentation/filesystems/nfsroot.txt defines this method. This is supported by dracut but not recommended.

rd_NFS_DOMAIN=<NFSv4 domain name>
    Set the NFSv4 domain name. Will overwrite the settings in /etc/idmap.conf.

iSCSI

root=iscsi:[username:password[:reverse:password]@][<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. http://tools.ietf.org/html/rfc4173

root=iscsi:[username:password[:reverse:password]@][<servername>]:[<protocol>]:[<port>]:[<LUN>]:<targetname>
    e.g. root=iscsi:192.168.50.1::::iqn.2009-06.dracut:target0

root=??? netroot=iscsi:[username:password[:reverse:password]@][<servername>]:[<protocol>]:[<port>]:[<LUN>]:<targetname> ...
    multiple netroot options allow setting up multiple iscsi disks e.g.
       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 not yet implemented!

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
    will read the iscsi parameter from the BIOS firmware

FCoE

netroot=fcoe:<interface|MAC>:<dcb|nodcb>
    Try to connect to a FCoE SAN through the NIC specified by <interface> or <MAC>, for the second argument, currently only nodcb is supported. Note letters in the MAC-address must be lowercase!

NBD

root=nbd:<server>:<port>[:<fstype>][:<mountopts>]
    mount nbd share from <server>

root=dhcp
    with dhcp root-path=nbd:<server>:<port>[:<fstype>][:<mountopts>] 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}
    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.

ip=<interface>:{dhcp|on|any}
    get ip from dhcp server on a specific interface

ip=<client-IP>:[<server-id>]:<gateway-IP>:<netmask>:<clienthostname>:<interface>:{none|off}
    explicit network configuration

ifname=<interface>:<MAC>
    Assign network device name <interface> (ie eth0) to the NIC with MAC <MAC>. Note letters in the MAC-address must be lowercase! Note that if you use this option you must specify an ifname= argument for all interfaces used in ip= or fcoe= arguments

bootdev=<interface>
    specify network interface to use routing and netroot information from. Required if multiple ip= lines are used.

Plymouth Boot Splash

rd_NO_PLYMOUTH
    do not start plymouth. This will not work with encrypted partitions.

Misc

rdblacklist=<drivername>
    do not load kernel module <drivername>

Debug

rdinfo
    print informational output though "quiet" is set

rdshell
    allow dropping to a shell, if root mounting fails

rdinitdebug
    set -x for the dracut shell and logs to dmesg, console and /init.log

rdbreak
    drop to a shell at the end

rdbreak={cmdline | pre-udev | pre-trigger | initqueue | pre-mount | mount | pre-pivot}
    drop to a shell on defined breakpoint

rdudevinfo
    set udev to loglevel info

rdudevdebug
    set udev to loglevel debug

rdnetdebug
    debug network scripts in dracut. Output is written to /tmp/

CONFIGURATION IN INITRAMFS

/conf/conf.d/
    Any files found in /conf/conf.d/ will be sourced in the initramfs to set initial values. Command line options will override these values set in the configuration files.

FILES

/var/log/dracut.log

/tmp/dracut.log

/etc/dracut.conf

AUTHORS
Harald Hoyer <harald@redhat.com>
Victor Lowther <victor.lowther@gmail.com>
Warren Togami <wtogami@redhat.com>
Jeremy Katz <katzj@redhat.com>
Philippe Seewer <philippe.seewer@bfh.ch>
David Dillow <dave@thedillows.org>

AVAILABILITY
The dracut command is part of the dracut package and is available from http://sourceforge.net/apps/trac/dracut/wiki

SEE ALSO
dracut.conf(5)