MKINITRD.CONF(5)

NAME
mkinitrd.conf(5)

SYNOPSIS
mkinitrd.conf - optional configuration file for mkinitrd(8)

DESCRIPTION
The mkinitrd.conf file contains options to be passed to mkinitrd(8) on every run if mkinitrd is executed with the -F flag.
It is intended as a fast and easy way for the system administrator to pass options to mkinitrd without having to type them on each execution. Options passed to mkinitrd(8) on the command line will override any values set in the config file.

OPTIONS AND SYNTAX
All options are in the format of OPTION="value"
Unset variables have no effect.

SOURCE_TREE
    This is the location for the initrd's source tree.
    Defaults to "/boot/initrd-tree"

CLEAR_TREE
    This option specifies whether to clear the initrd source tree prior to creating the initrd.
    This requires a value of either "0" or "1" where 0=no and 1=yes
    Examples:
    CLEAR_TREE="0"    # Do not clear initrd tree first
    CLEAR_TREE="1"    # Clear initrd tree first
    It is recommended to leave this unset and pass "-c" on the command line when clearing the tree is desired. Clearing the tree is not desirable if you wish to build support for more than one kernel into the initrd image.

OUTPUT_IMAGE
    This is the location for the initrd image that is created.
    Defaults to "/boot/initrd.gz"
    If %KVER% and/or %SLACKVER% are present in the string, they will be replaced with $KERNEL_VERSION (e.g. "4.4.75-smp") and Slackware Version (e.g. "14.2") respectively in the name of the generated file.

KERNEL_VERSION
    This is the kernel version for which the initrd should be created.
    Defaults to "$(uname -r)"

KEYMAP
    This is the custom keyboard map that should be loaded instead of the default 'us' keymap.
    The file /usr/share/mkinitrd/keymaps.tar.gz contains all possible keymaps to choose from (omit the '.bmap' extension in the mkinitrd command)
    Example: KEYMAP="nl"

MODULE_LIST
    This should be a colon-separated list of modules you wish to be included in the initrd image.
    Example: MODULE_LIST="ext3:mbcache:jbd" If you have loadtime options that you need to specify when loading kernel modules, those can be added here as well.
    Example: MODULE_LIST="module1:module2 option=1:module3"

LUKSDEV
    Contains a colon (:) delimited list of luks encrypted block devices to be unlocked by the initrd using cryptsetup. The list may include any of: device node path, UUID, or LABEL. All devices that must be unlocked in order to access the root filesystem must be specified.

    Example: LUKSDEV="/dev/sda2:/dev/sda3"
    Example: LUKSDEV="UUID=ec6dea40-c8d8-4590-850a-a757be60e45a"
    Example: LUKSDEV="LABEL=darkstar" Each unlocked device will be assigned an automatically generated luks device name of the form luks<device> where '<device>' will be the basename of the encrypted device. e.g.
      /dev/mapper/lukssda2 As a convenience to users, if ROOTDEV (see below) specifies one of the device names listed in the LUKSDEV option, then it will be automatically adjusted to use the correct luks device name. i.e. when specifying LUKSDEV=/dev/sda2 then ROOTDEV=/dev/sda2 and ROOTDEV=/dev/mapper/lukssda2 are equivalent.

LUKSKEY
    When using cryptsetup to encrypt your partition, you can use a keyfile instead of a passphrase to unlock the LUKS volume. The LUKSKEY variable holds the filename of a keyfile, as well as the label (or uuid) of the partition this file is on. This way, you can unlock your computer automatically if you have a USB stick with your LUKS key inserted at boot. A passphrase will still be asked if the LUKS key can not be found.
    For example, if your USB thumb drive has a FAT partition with label "TRAVELSTICK" and the actual keyfile is called "/keys/alien.luks", then you need to set:
    LUKSKEY="LABEL=TRAVELSTICK:/keys/alien.luks"

LUKSTRIM
    Contains a colon (:) delimited list of luks encrypted block devices to be passed the "--allow-discards" option when unlocked by the initrd using cryptsetup. This has the effect of allowing TRIM on SSD drives. Be sure your SSD supports this feature (correctly) before enabling it.
    See fstrim(8) for more information.
    Example: LUKSTRIM="/dev/sda2:/dev/sda4"

ROOTDEV
    The device on which your root filesystem is located. May be a device node path, UUID, or LABEL. See LUKSDEV examples.
    Example: ROOTDEV="/dev/sda2" If you are using cryptsetup and an encrypted root filesystem, be sure to read the option above for LUKSDEV or Bad Things will happen.

ROOTFS
    The filesystem type of your root filesystem
    Example: ROOTFS="ext3"

RAID
    This option adds the mdadm binary to the initrd to support RAID. Additional modules may be required, depending on your kernel configuration. If you wish to add LVM support to the initrd, then set this to 1; otherwise, leave it unset or set it to 0.
    Examples:
    RAID="0" # Do not add RAID support to initrd
    RAID="1" # Add RAID support to initrd

LVM This option adds support for LVM partitions into the initrd. If you wish to add LVM support to the initrd, then set this to 1; otherwise, leave it unset or set it to 0.
    Examples:
    LVM="0" # Do not add LVM support to initrd
    LVM="1" # Add LVM support to initrd

UDEV
    Use UDEV in the initrd.
    Examples:
    UDEV="0"    # Do not use udev in the initrd
    UDEV="1"    # Use udev in the initrd (this is the default)

WAIT
    This defines the time to wait, in seconds, until all disks are detected.
    This is useful for allowing extra time that might be needed for slow usb disks or systems with large amounts of storage to become ready.
    If not defined, the default is 1 second.

RESUMEDEV
    The swap partition holding your hibernation image.
    Example: RESUMEDEV="/dev/sda2"

MODCONF
    This option defines whether to copy the module-init-tools config files from /etc/modprobe.d/ into the initrd. This will not usually be necessary, but if you need certain modules to be loaded with special options, and you have this configured in a file in /etc/modprobe.d/, this is one way to accomplish the desired goal.
    Examples:
    MODCONF="0"    # Do not add /etc/modprobe.d/* to the initrd
    MODCONF="1"    # Add /etc/modprobe.d/* to the initrd

MICROCODE_ARCH
    This option specifies a cpio archive containing updated microcode for your CPU. CPU manufacturers occasionally release such updates to fix bugs in the microcode currently embedded in the CPU. The microcode archive will be prepended to the output initrd, where the kernel will find it for early patching.
    Examples:
    MICROCODE_ARCH="/boot/intel-ucode.cpio"

FILES
/etc/mkinitrd.conf
See /etc/mkinitrd.conf.sample

SEE ALSO
mkinitrd(8)

BUGS
None known :-)

MISCELLANEOUS
Support for mkinitrd.conf was added in mkinitrd-1.3.0