DRACUT(8)

NAME
switch_root - switch to another filesystem as the root of the mount tree.

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

DESCRIPTION
switch_root 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 include 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 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

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.

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. http://tools.ietf.org/html/rfc4173

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

root=??? netroot=iscsi:[<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

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

specify the network interface to boot from

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-number>:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:[dhcp|on|any|]
    explicit network configuration

Misc

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

Debug

rdshell
    drop to a shell, if the imitramfs fails

rdinitdebug
    set -x for the dracut shell

rdbreak=[pre-udev|pre-mount|mount|pre-pivot|]
    drop the 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.

AUTHORS
Andreas Thienemann <andreas@bawue.net>
Bill Nottingham <notting@redhat.com>
Dave Jones <davej@redhat.com>
David Dillow <dave@thedillows.org>
Harald Hoyer <harald@redhat.com>
Jeremy Katz <katzj@redhat.com>
Peter Jones <pjones@redhat.com>
Seewer Philippe <philippe.seewer@bfh.ch>
Victor Lowther <victor.lowther@gmail.com>
Warren Togami <wtogami@redhat.com>

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