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.

-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

--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 e.g. /dev/sda1 or /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

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

Bootsplash - plymouth

rd_plytheme=<theme name>
    specify the plymouth bootsplash theme (fallback is text)

LVM

rd_NO_LVM
    disable LVM detection

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

crypto LUKS

rd_NO_LUKS
    disable crypto LUKS detection

rd_LUKS_UUID=<luks uuid>
    only activate the LUKS partitions with the given UUID

MD

rd_NO_MD
    disable MD RAID detection

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

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

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

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:[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

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>:[<server-id>]:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:{none|off}
    explicit network configuration

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

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.

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