OPTIONS
-------
**--kver** _<kernel version>_::
- set the kernel version. This enables to specify the kernel version, without
+ Set the kernel version. This enables to specify the kernel version, without
specifying the location of the initramfs image. For example:
----
# dracut --kver 3.5.0-0.rc7.git1.2.fc18.x86_64
----
**-f, --force**::
- overwrite existing initramfs file.
+ Overwrite existing initramfs file.
+
+_<output file>_ **--rebuild**::
+ Append the current arguments to those with which the input initramfs image
+ was built. This option helps in incrementally building the initramfs for
+ testing. If optional _<output file>_ is not provided, the input initramfs
+ provided to rebuild will be used as output file.
**-a, --add** _<list of dracut modules>_::
- add a space-separated list of dracut modules to the default set of modules.
+ Add a space-separated list of dracut modules to the default set of modules.
This parameter can be specified multiple times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --add "module1 module2" ...
===============================
**--force-add** _<list of dracut modules>_::
- force to add a space-separated list of dracut modules to the default set of
+ Force to add a space-separated list of dracut modules to the default set of
modules, when -H is specified. This parameter can be specified multiple
times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --force-add "module1 module2" ...
===============================
**-o, --omit** _<list of dracut modules>_::
- omit a space-separated list of dracut modules. This parameter can be
+ Omit a space-separated list of dracut modules. This parameter can be
specified multiple times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --omit "module1 module2" ...
===============================
**-m, --modules** _<list of dracut modules>_::
- specify a space-separated list of dracut modules to call when building the
+ Specify a space-separated list of dracut modules to call when building the
initramfs. Modules are located in _/usr/lib/dracut/modules.d_. This
parameter can be specified multiple times.
This option forces dracut to only include the specified dracut modules.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --modules "module1 module2" ...
===============================
**-d, --drivers** _<list of kernel modules>_::
- specify a space-separated list of kernel modules to exclusively include
+ Specify a space-separated list of kernel modules to exclusively include
in the initramfs. The kernel modules have to be specified without the ".ko"
suffix. This parameter can be specified multiple times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --drivers "kmodule1 kmodule2" ...
===============================
**--add-drivers** _<list of kernel modules>_::
- specify a space-separated list of kernel modules to add to the initramfs.
+ Specify a space-separated list of kernel modules to add to the initramfs.
The kernel modules have to be specified without the ".ko" suffix. This
parameter can be specified multiple times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --add-drivers "kmodule1 kmodule2" ...
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --force-drivers "kmodule1 kmodule2" ...
===============================
**--omit-drivers** _<list of kernel modules>_::
- specify a space-separated list of kernel modules not to add to the
+ Specify a space-separated list of kernel modules not to add to the
initramfs.
The kernel modules have to be specified without the ".ko" suffix. This
parameter can be specified multiple times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --omit-drivers "kmodule1 kmodule2" ...
===============================
**--filesystems** _<list of filesystems>_::
- specify a space-separated list of kernel filesystem modules to exclusively
+ Specify a space-separated list of kernel filesystem modules to exclusively
include in the generic initramfs. This parameter can be specified multiple
times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --filesystems "filesystem1 filesystem2" ...
===============================
**-k, --kmoddir** _<kernel directory>_::
- specify the directory, where to look for kernel modules
+ Specify the directory, where to look for kernel modules.
**--fwdir** _<dir>[:<dir>...]++_::
- specify additional directories, where to look for firmwares. This parameter
+ Specify additional directories, where to look for firmwares. This parameter
can be specified multiple times.
**--libdirs** _<list of directories>_::
- specify a space-separated list of directories to look for libraries to
+ Specify a space-separated list of directories to look for libraries to
include in the generic initramfs. This parameter can be specified multiple
times.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --libdirs "dir1 dir2" ...
===============================
**--kernel-cmdline <parameters>**::
- specify default kernel command line parameters
-
+ Specify default kernel command line parameters.
**--kernel-only**::
- only install kernel drivers and firmware files
+ Only install kernel drivers and firmware files.
**--no-kernel**::
- do not install kernel drivers and firmware files
+ Do not install kernel drivers and firmware files.
**--early-microcode**::
- Combine early microcode with ramdisk
+ Combine early microcode with ramdisk.
**--no-early-microcode**::
- Do not combine early microcode with ramdisk
+ Do not combine early microcode with ramdisk.
**--print-cmdline**::
- print the kernel command line for the current disk layout
+ Print the kernel command line for the current disk layout.
**--mdadmconf**::
- include local _/etc/mdadm.conf_
+ Include local _/etc/mdadm.conf_ file.
**--nomdadmconf**::
- do not include local _/etc/mdadm.conf_
+ Do not include local _/etc/mdadm.conf_ file.
**--lvmconf**::
- include local _/etc/lvm/lvm.conf_
+ Include local _/etc/lvm/lvm.conf_ file.
**--nolvmconf**::
- do not include local _/etc/lvm/lvm.conf_
+ Do not include local _/etc/lvm/lvm.conf_ file.
-**--fscks** [LIST]::
- add a space-separated list of fsck tools, in addition to _dracut.conf_'s
+**--fscks** _<list of fsck tools>_::
+ Add a space-separated list of fsck tools, in addition to _dracut.conf_'s
specification; the installation is opportunistic (non-existing tools are
- ignored)
+ ignored).
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --fscks "fsck.foo barfsck" ...
===============================
**--nofscks**::
- inhibit installation of any fsck tools
+ Inhibit installation of any fsck tools.
**--strip**::
- strip binaries in the initramfs (default)
+ Strip binaries in the initramfs (default).
+
+**--aggresive-strip**::
+ Strip more than just debug symbol and sections, for a smaller initramfs
+ build. The --strip option must also be specified.
**--nostrip**::
- do not strip binaries in the initramfs
+ Do not strip binaries in the initramfs.
**--hardlink**::
- hardlink files in the initramfs (default)
+ Hardlink files in the initramfs (default).
**--nohardlink**::
- do not hardlink files in the initramfs
+ Do not hardlink files in the initramfs.
**--prefix** _<dir>_::
- prefix initramfs files with the specified directory
+ Prefix initramfs files with the specified directory.
**--noprefix**::
- do not prefix initramfs files (default)
+ Do not prefix initramfs files (default).
**-h, --help**::
- display help text and exit.
+ Display help text and exit.
**--debug**::
- output debug information of the build process
+ Output debug information of the build process.
**-v, --verbose**::
- increase verbosity level (default is info(4))
+ Increase verbosity level (default is info(4)).
**--version**::
- display version and exit
+ Display version and exit.
-**-q, --quiet**:: decrease verbosity level (default is info(4))
+**-q, --quiet**::
+ Decrease verbosity level (default is info(4)).
**-c, --conf** _<dracut configuration file>_::
- specify configuration file to use.
+ Specify configuration file to use.
+
Default:
_/etc/dracut.conf_
**--confdir** _<configuration directory>_::
- specify configuration directory to use.
+ Specify configuration directory to use.
+
Default:
_/etc/dracut.conf.d_
**--tmpdir** _<temporary directory>_::
- specify temporary directory to use.
+ Specify temporary directory to use.
+
Default:
_/var/tmp_
**-r, --sysroot** _<sysroot directory>_::
- specify the sysroot directory to collect files from.
+ Specify the sysroot directory to collect files from.
This is useful to create the initramfs image from
a cross-compiled sysroot directory. For the extra helper
variables, see *ENVIRONMENT* below.
Default:
_empty_
-**--sshkey** _<sshkey file>_:: ssh key file used with ssh-client module.
+**--sshkey** _<sshkey file>_::
+ SSH key file used with ssh-client module.
-**--logfile** _<logfile>_:: logfile to use; overrides any setting from
- the configuration files.
+**--logfile** _<logfile>_::
+ Logfile to use; overrides any setting from the configuration files.
+
Default:
_/var/log/dracut.log_
**-l, --local**::
- activates the local mode. dracut will use modules from the current working
+ Activates the local mode. dracut will use modules from the current working
directory instead of the system-wide installed modules in
_/usr/lib/dracut/modules.d_.
This is useful when running dracut from a git checkout.
**-H, --hostonly**::
- Host-Only mode: Install only what is needed for booting the local host
+ Host-only mode: Install only what is needed for booting the local host
instead of a generic host and generate host-specific configuration.
+
[WARNING]
====
**-N, --no-hostonly**::
- Disable Host-Only mode
+ Disable host-only mode.
+
+**--hostonly-mode _<mode>_**::
+ Specify the host-only mode to use. _<mode>_ could be one of "sloppy" or
+ "strict".
+ In "sloppy" host-only mode, extra drivers and modules will be installed, so
+ minor hardware change won't make the image unbootable (e.g. changed
+ keyboard), and the image is still portable among similar hosts.
+ With "strict" mode enabled, anything not necessary for booting the local
+ host in its current state will not be included, and modules may do some
+ extra job to save more space. Minor change of hardware or environment could
+ make the image unbootable.
++
+Default:
+ _sloppy_
-**--hostonly-cmdline**:
- Store kernel command line arguments needed in the initramfs
+**--hostonly-cmdline**::
+ Store kernel command line arguments needed in the initramfs.
-**--no-hostonly-cmdline**:
- Do not store kernel command line arguments needed in the initramfs
+**--no-hostonly-cmdline**::
+ Do not store kernel command line arguments needed in the initramfs.
-**--no-hostonly-default-device**:
+**--no-hostonly-default-device**::
Do not generate implicit host devices like root, swap, fstab, etc.
Use "--mount" or "--add-device" to explicitly add devices as needed.
-**--hostonly-i18n**:
- Install only needed keyboard and font files according to the host configuration (default).
+**--hostonly-i18n**::
+ Install only needed keyboard and font files according to the host
+ configuration (default).
-**--no-hostonly-i18n**:
+**--no-hostonly-i18n**::
Install all keyboard and font files available.
+**--hostonly-nics** _<list of nics>_::
+ Only enable listed NICs in the initramfs. The list can be empty, so other
+ modules can install only the necessary network drivers.
+
**--persistent-policy** _<policy>_::
Use _<policy>_ to address disks and partitions.
_<policy>_ can be any directory name found in /dev/disk.
be specified, see fstab manpage for the details.
The default _<filesystem options>_ is "defaults".
The default _<dump frequency>_ is "0".
- the default _<fsck order>_ is "2".
+ The default _<fsck order>_ is "2".
**--mount** "_<mountpoint>_"::
Like above, but _<device>_, _<filesystem type>_ and _<filesystem options>_
**--add-device** _<device>_ ::
Bring up _<device>_ in initramfs, _<device>_ should be the device name.
- This can be useful in hostonly mode for resume support when your swap is on
+ This can be useful in host-only mode for resume support when your swap is on
LVM or an encrypted partition.
[NB --device can be used for compatibility with earlier releases]
**-i, --include** _<SOURCE>_ _<TARGET>_::
- include the files in the SOURCE directory into the
+ Include the files in the SOURCE directory into the
TARGET directory in the final initramfs. If SOURCE is a file, it will be
installed to TARGET in the final initramfs. This parameter can be specified
multiple times.
**-I, --install** _<file list>_::
- install the space separated list of files into the initramfs.
+ Install the space separated list of files into the initramfs.
+
[NOTE]
===============================
-If [LIST] has multiple arguments, then you have to put these in quotes. For
+If the list has multiple arguments, then you have to put these in quotes. For
example:
----
# dracut --install "/bin/foo /sbin/bar" ...
===============================
**--install-optional** _<file list>_::
- install the space separated list of files into the initramfs, if they exist.
+ Install the space separated list of files into the initramfs, if they exist.
**--gzip**::
Compress the generated initramfs using gzip. This will be done by default,
unless another compression option or --no-compress is passed. Equivalent to
- "--compress=gzip -9"
+ "--compress=gzip -9".
**--bzip2**::
Compress the generated initramfs using bzip2.
[WARNING]
====
Make sure your kernel has bzip2 decompression support compiled in, otherwise you
-will not be able to boot. Equivalent to "--compress=bzip2"
+will not be able to boot. Equivalent to "--compress=bzip2 -9".
====
**--lzma**::
[WARNING]
====
Make sure your kernel has lzma decompression support compiled in, otherwise you
-will not be able to boot. Equivalent to "lzma --compress=lzma -9"
+will not be able to boot. Equivalent to "--compress=lzma -9 -T0".
====
**--xz**::
====
Make sure your kernel has xz decompression support compiled in, otherwise you
will not be able to boot. Equivalent to
-"lzma --compress=xz --check=crc32 --lzma2=dict=1MiB"
+"--compress=xz --check=crc32 --lzma2=dict=1MiB -T0".
====
**--lzo**::
Compress the generated initramfs using lzop.
++
[WARNING]
====
Make sure your kernel has lzo decompression support compiled in, otherwise you
-will not be able to boot.
+will not be able to boot. Equivalent to "--compress=lzop -9".
====
**--lz4**::
Compress the generated initramfs using lz4.
++
[WARNING]
====
Make sure your kernel has lz4 decompression support compiled in, otherwise you
-will not be able to boot.
+will not be able to boot. Equivalent to "--compress=lz4 -l -9".
====
**--zstd**::
Compress the generated initramfs using Zstandard.
++
[WARNING]
====
Make sure your kernel has zstd decompression support compiled in, otherwise you
-will not be able to boot.
+will not be able to boot. Equivalent to "--compress=zstd -15 -q -T0".
====
**--compress** _<compressor>_::
program with known-working arguments. If you pass a quoted string with
arguments, it will be called with exactly those arguments. Depending on what
you pass, this may result in an initramfs that the kernel cannot decompress.
- The default value can also be set via the _INITRD_COMPRESS_ environment variable.
+ The default value can also be set via the _INITRD_COMPRESS_ environment
+ variable.
**--squash-compressor** _<compressor>_::
Compress the squashfs image using the passed compressor and compressor
Keep the initramfs temporary directory for debugging purposes.
**--printsize**::
- Print out the module install size
+ Print out the module install size.
-**--profile**:
- Output profile information of the build process
+**--profile**::
+ Output profile information of the build process.
-**--ro-mnt**:
+**--ro-mnt**::
Mount / and /usr read-only by default.
**-L, --stdlog** _<level>_::
- [0-6] Specify logging level (to standard error)
+ [0-6] Specify logging level (to standard error).
----
0 - suppress any messages
1 - only fatal errors
Regenerate all initramfs images at the default location with the kernel
versions found on the system. Additional parameters are passed through.
-**--loginstall _<DIR>_**::
- Log all files installed from the host to _<DIR>_.
+**--noimageifnotneeded**::
+ Do not create an image in host-only mode, if no kernel driver is needed
+and no /etc/cmdline/*.conf will be generated into the initramfs.
+
+**--loginstall _<directory>_**::
+ Log all files installed from the host to _<directory>_.
**--uefi**::
- Instead of creating an initramfs image, dracut will create an UEFI executable,
- which can be executed by an UEFI BIOS. The default output filename is
- _<EFI>/EFI/Linux/linux-$kernel$-<MACHINE_ID>-<BUILD_ID>.efi_. <EFI> might be
- _/efi_, _/boot_ or _/boot/efi_ depending on where the ESP partition is mounted.
- The <BUILD_ID> is taken from BUILD_ID in _/usr/lib/os-release_ or if it exists
- _/etc/os-release_ and is left out, if BUILD_ID is non-existant or empty.
+ Instead of creating an initramfs image, dracut will create an UEFI
+ executable, which can be executed by an UEFI BIOS. The default output
+ filename is _<EFI>/EFI/Linux/linux-$kernel$-<MACHINE_ID>-<BUILD_ID>.efi_.
+ <EFI> might be _/efi_, _/boot_ or _/boot/efi_ depending on where the ESP
+ partition is mounted. The <BUILD_ID> is taken from BUILD_ID in
+ _/usr/lib/os-release_ or if it exists _/etc/os-release_ and is left out,
+ if BUILD_ID is non-existant or empty.
**--no-uefi**::
Disables UEFI mode.
**--no-machineid**::
- affects the default output filename of **--uefi** and will discard the <MACHINE_ID>
- part.
+ Affects the default output filename of **--uefi** and will discard the
+ <MACHINE_ID> part.
-**--uefi-stub _<FILE>_**::
- Specifies the UEFI stub loader, which will load the attached kernel, initramfs and
- kernel command line and boots the kernel. The default is
- _$prefix/lib/systemd/boot/efi/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
+**--uefi-stub _<file>_**::
+ Specifies the UEFI stub loader, which will load the attached kernel,
+ initramfs and kernel command line and boots the kernel. The default is
+ _$prefix/lib/systemd/boot/efi/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_.
-**--uefi-splash-image _<FILE>_**::
- Specifies the UEFI stub loader's splash image. Requires bitmap (**.bmp**) image
- format.
+**--uefi-splash-image _<file>_**::
+ Specifies the UEFI stub loader's splash image. Requires bitmap (**.bmp**)
+ image format.
-**--kernel-image _<FILE>_**::
- Specifies the kernel image, which to include in the UEFI executable. The default is
- _/lib/modules/<KERNEL-VERSION>/vmlinuz_ or _/boot/vmlinuz-<KERNEL-VERSION>_
+**--kernel-image _<file>_**::
+ Specifies the kernel image, which to include in the UEFI executable. The
+ default is _/lib/modules/<KERNEL-VERSION>/vmlinuz_ or
+ _/boot/vmlinuz-<KERNEL-VERSION>_.
**--enhanced-cpio**::
Attempt to use the dracut-cpio binary, which optimizes archive creation for
optimal data alignment for extent sharing. To retain reflink data
deduplication benefits, this should be used alongside the **--no-compress**
and **--no-strip** parameters, with initramfs source files, **--tmpdir**
- staging area and destination all on the same copy-on-write capable filesystem.
+ staging area and destination all on the same copy-on-write capable
+ filesystem.
ENVIRONMENT
-----------