:doctype: manpage
:man source: dracut
:man manual: dracut
+:man version: {version}
NAME
----
-dracut - low-level tool for generating an initramfs image
+dracut - low-level tool for generating an initramfs/initrd image
SYNOPSIS
--------
as initial root file system. All finding of the root device happens in this
early userspace.
+Initramfs images are also called "initrd".
+
For a complete list of kernel command line options see *dracut.cmdline*(7).
If you are dropped to an emergency shell, while booting your initramfs,
**-f, --force**::
overwrite existing initramfs file.
-**-m, --modules** _<list of dracut modules>_::
- 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.
+**-a, --add** _<list of dracut 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
example:
----
-# dracut --modules "module1 module2" ...
+# dracut --add "module1 module2" ...
----
===============================
-**-o, --omit** _<list of dracut modules>_::
- omit a space-separated list of dracut modules. This parameter can be
- specified multiple times.
+**--force-add** _<list of dracut modules>_::
+ 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
example:
----
-# dracut --omit "module1 module2" ...
+# dracut --force-add "module1 module2" ...
----
===============================
-**-a, --add** _<list of dracut modules>_::
- add a space-separated list of dracut modules to the default set of modules.
- This parameter can be specified multiple times.
+**-o, --omit** _<list of dracut modules>_::
+ 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
example:
----
-# dracut --add "module1 module2" ...
+# dracut --omit "module1 module2" ...
----
===============================
-**--force-add** _<list of dracut modules>_::
- 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.
+**-m, --modules** _<list of dracut modules>_::
+ 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.
+ In most cases the "--add" option is what you want to use.
+
[NOTE]
===============================
If [LIST] has multiple arguments, then you have to put these in quotes. For
example:
----
-# dracut --force-add "module1 module2" ...
+# dracut --modules "module1 module2" ...
----
===============================
**--nostrip**::
do not strip binaries in the initramfs
-**--prelink**::
- prelink binaries in the initramfs (default)
-
-**--noprelink**::
- do not prelink binaries in the initramfs
-
**--hardlink**::
hardlink files in the initramfs (default)
Default:
_/var/tmp_
+**-r, --sysroot** _<sysroot directory>_::
+ 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.
**--logfile** _<logfile>_:: logfile to use; overrides any setting from
**--no-hostonly-cmdline**:
Do not store kernel command line arguments needed in the initramfs
+**--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).
+
+**--no-hostonly-i18n**:
+ Install all keyboard and font files available.
+
**--persistent-policy** _<policy>_::
Use _<policy>_ to address disks and partitions.
_<policy>_ can be any directory name found in /dev/disk.
The default _<dump frequency>_ is "0".
the default _<fsck order>_ is "2".
+**--mount** "_<mountpoint>_"::
+ Like above, but _<device>_, _<filesystem type>_ and _<filesystem options>_
+ are determined by looking at the current mounts.
+
**--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
will not be able to boot.
====
+**--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.
+====
+
**--compress** _<compressor>_::
Compress the generated initramfs using the passed compression program. If
you pass it just the name of a compression program, it will call that
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.
**--no-compress**::
Do not compress the generated initramfs. This will override any other
**--uefi**::
Instead of creating an initramfs image, dracut will create an UEFI executable,
- which can be executed by an UEFI BIOS.
+ 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-machineid**::
+ 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
- _/lib/systemd/boot/efi/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
- or _/usr/lib/gummiboot/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
+ _$prefix/lib/systemd/boot/efi/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
+ or _$prefix/lib/gummiboot/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
+
+**--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>_
+ENVIRONMENT
+-----------
+
+_INITRD_COMPRESS_::
+ sets the default compression program. See **--compress**.
+
+_DRACUT_LDCONFIG_::
+ sets the _ldconfig_ program path and options. Optional.
+ Used for **--sysroot**.
++
+Default:
+ _ldconfig_
+
+_DRACUT_LDD_::
+ sets the _ldd_ program path and options. Optional.
+ Used for **--sysroot**.
++
+Default:
+ _ldd_
+
+_DRACUT_TESTBIN_::
+ sets the initially tested binary for detecting library paths.
+ Optional. Used for **--sysroot**. In the cross-compiled sysroot,
+ the default value (_/bin/sh_) is unusable, as it is an absolute
+ symlink and points outside the sysroot directory.
++
+Default:
+ _/bin/sh_
+
+_DRACUT_INSTALL_::
+ overrides path and options for executing _dracut-install_ internally.
+ Optional. Can be used to debug _dracut-install_ while running the
+ main dracut script.
++
+Default:
+ _dracut-install_
++
+Example:
+ DRACUT_INSTALL="valgrind dracut-install"
+
+_DRACUT_COMPRESS_BZIP2_::
+_DRACUT_COMPRESS_BZIP2_::
+_DRACUT_COMPRESS_LBZIP2_::
+_DRACUT_COMPRESS_LZMA_::
+_DRACUT_COMPRESS_XZ_::
+_DRACUT_COMPRESS_GZIP_::
+_DRACUT_COMPRESS_PIGZ_::
+_DRACUT_COMPRESS_LZOP_::
+_DRACUT_COMPRESS_ZSTD_::
+_DRACUT_COMPRESS_LZ4_::
+_DRACUT_COMPRESS_CAT_::
+ overrides for compression utilities to support using them from
+ non-standard paths.
++
+Default values are the default compression utility names to be found in **PATH**.
+
+_DRACUT_ARCH_::
+ overrides the value of **uname -m**. Used for **--sysroot**.
++
+Default:
+ _empty_ (the value of **uname -m** on the host system)
+
+_SYSTEMD_VERSION_::
+ overrides systemd version. Used for **--sysroot**.
+
+_DRACUT_INSTALL_PATH_::
+ overrides **PATH** environment for **dracut-install** to look for
+ binaries relative to **--sysroot**. In a cross-compiled environment
+ (e.g. Yocto), PATH points to natively built binaries that are not
+ in the host's /bin, /usr/bin, etc. **dracut-install** still needs plain
+ /bin and /usr/bin that are relative to the cross-compiled sysroot.
++
+Default:
+ _PATH_
+
+_DRACUT_INSTALL_LOG_TARGET_::
+ overrides **DRACUT_LOG_TARGET** for **dracut-install**. It allows
+ running **dracut-install* to run with different log target that
+ **dracut** runs with.
++
+Default:
+ _DRACUT_LOG_TARGET_
+
+_DRACUT_INSTALL_LOG_LEVEL_::
+ overrides **DRACUT_LOG_LEVEL** for **dracut-install**. It allows
+ running **dracut-install* to run with different log level that
+ **dracut** runs with.
++
+Default:
+ _DRACUT_LOG_LEVEL_
+
FILES
-----
_/var/log/dracut.log_::