]> git.ipfire.org Git - thirdparty/dracut.git/blobdiff - dracut.8.asc
network-manager: remove useless use of basename
[thirdparty/dracut.git] / dracut.8.asc
index 203f9cde66c616825664786b66f742ac6b65e5b7..2e974fb0b632680494146d56f962def6515a9745 100644 (file)
@@ -6,11 +6,11 @@ DRACUT(8)
 
 NAME
 ----
-dracut - low-level tool for generating an initramfs image
+dracut - low-level tool for generating an initramfs/initrd image
 
 SYNOPSIS
 --------
-*dracut* ['OPTION...'] [<image> [_<kernel version>_]]
+*dracut* [__OPTION...__] [__<image>__ [__<kernel version>__]]
 
 DESCRIPTION
 -----------
@@ -28,55 +28,21 @@ At boot time, the kernel unpacks that archive into RAM disk, mounts and uses it
 as initial root file system. All finding of the root device happens in this
 early userspace.
 
-For a complete list of kernel command line options see *dracut.cmdline*(7).
-
-EXAMPLE
--------
-
-To create a initramfs image, the most simple command is:
-----
-# dracut
-----
+Initramfs images are also called "initrd".
 
-This will generate a general purpose initramfs image, with all possible
-functionality resulting of the combination of the installed dracut modules and
-system tools. The image is /boot/initramfs-_++<kernel version>++_.img and
-contains the kernel modules of the currently active kernel with version
-_++<kernel version>++_.
-
-If the initramfs image already exists, dracut will display an error message, and
-to overwrite the existing image, you have to use the --force option.
-----
-# dracut --force
-----
-
-If you want to specify another filename for the resulting image you would issue
-a command like:
-----
-# dracut foobar.img
-----
-
-To generate an image for a specific kernel version, the command would be:
-----
-# dracut foobar.img 2.6.40-1.rc5.f20
-----
+For a complete list of kernel command line options see *dracut.cmdline*(7).
 
-A shortcut to generate the image at the default location for a specific kernel
-version is:
-----
-# dracut --kver 2.6.40-1.rc5.f20
-----
+If you are dropped to an emergency shell, while booting your initramfs,
+the file _/run/initramfs/rdsosreport.txt_ is created, which can be saved to a
+(to be mounted by hand) partition (usually /boot) or a USB stick.
+Additional debugging info can be produced by adding **rd.debug** to the kernel
+command line. _/run/initramfs/rdsosreport.txt_ contains all logs and the output
+of some tools. It should be attached to any report about dracut problems.
 
-If you want to create lighter, smaller initramfs images, you may want to specify
-the --host-only or -H option. Using this option, the resulting image will
-contain only those dracut modules, kernel modules and filesystems, which are
-needed to boot this specific machine. This has the drawback, that you can't put
-the disk on another controller or machine, and that you can't switch to another
-root filesystem, without recreating the initramfs image. The usage of the
---host-only option is only for experts and you will have to keep the broken
-pieces. At least keep a copy of a general purpose image (and corresponding
-kernel) as a fallback to rescue your system.
+USAGE
+-----
 
+include::dracut.usage.asc[]
 
 OPTIONS
 -------
@@ -90,57 +56,59 @@ OPTIONS
 **-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"  ...
 ----
 ===============================
 
@@ -172,6 +140,19 @@ example:
 ----
 ===============================
 
+**--force-drivers** _<list of kernel modules>_::
+    See add-drivers above. But in this case it is ensured that the drivers
+    are tried to be loaded early via modprobe.
++
+[NOTE]
+===============================
+If [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
     initramfs.
@@ -208,12 +189,25 @@ example:
     specify additional directories, where to look for firmwares. This parameter
     can be specified multiple times.
 
+**--kernel-cmdline <parameters>**::
+    specify default kernel command line parameters
+
+
 **--kernel-only**::
     only install kernel drivers and firmware files
 
 **--no-kernel**::
     do not install kernel drivers and firmware files
 
+**--early-microcode**::
+    Combine early microcode with ramdisk
+
+**--no-early-microcode**::
+    Do not combine early microcode with ramdisk
+
+**--print-cmdline**::
+    print the kernel command line for the current disk layout
+
 **--mdadmconf**::
     include local _/etc/mdadm.conf_
 
@@ -244,10 +238,10 @@ example:
     inhibit installation of any fsck tools
 
 **--strip**::
-    strip binaries in the initramfs
+    strip binaries in the initramfs (default)
 
 **--nostrip**::
-    do not strip binaries in the initramfs (default)
+    do not strip binaries in the initramfs
 
 **--hardlink**::
     hardlink files in the initramfs (default)
@@ -292,6 +286,12 @@ Default:
 
 **--sshkey** _<sshkey file>_:: ssh key file used with ssh-client module.
 
+**--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
     directory instead of the system-wide installed modules in
@@ -311,26 +311,58 @@ provide a valid _/etc/fstab_.
 **-N, --no-hostonly**::
     Disable Host-Only mode
 
+**--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-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.
+    E.g. "by-uuid", "by-label"
+
 **--fstab**::
     Use _/etc/fstab_ instead of _/proc/self/mountinfo_.
 
-**--add-fstab** _<filename>_ ::
+**--add-fstab** _<filename>_::
     Add entries of _<filename>_ to the initramfs /etc/fstab.
 
-**--mount** "_<device>_ _<mountpoint>_ _<filesystem type>_ _<filesystem options>_"::
-    Mount _<device>_ on _<mountpoint>_ with _<filesystem type>_ and _<filesystem
-    options>_ in the initramfs
-
-**--device** _<device>_ ::
-    Bring up _<device>_ in initramfs, _<device>_ should be the device name
-
-**-i, --include** _<SOURCE>_ _<TARGET>_::
+**--mount** "_<device>_ _<mountpoint>_ _<filesystem type>_ [_<filesystem options>_ [_<dump frequency>_ [_<fsck order>_]]]"::
+    Mount _<device>_ on _<mountpoint>_ with _<filesystem type>_ in the
+    initramfs. _<filesystem options>_, _<dump options>_ and _<fsck order>_ can
+    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".
+
+**--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
+    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
     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>_::
+**-I, --install** _<file list>_::
     install the space separated list of files into the initramfs.
 +
 [NOTE]
@@ -342,6 +374,9 @@ example:
 ----
 ===============================
 
+**--install-optional** _<file list>_::
+    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
@@ -362,7 +397,7 @@ will not be able to boot. Equivalent to "--compress=bzip2"
 [WARNING]
 ====
 Make sure your kernel has lzma decompression support compiled in, otherwise you
-will not be able to boot. Equivalent to "--compress=lzma -9"
+will not be able to boot. Equivalent to "lzma --compress=lzma -9"
 ====
 
 **--xz**::
@@ -371,8 +406,32 @@ will not be able to boot. Equivalent to "--compress=lzma -9"
 [WARNING]
 ====
 Make sure your kernel has xz decompression support compiled in, otherwise you
-will not be able to boot. Equivalent to "--compress=xz --check=crc32
---lzma2=dict=1MiB"
+will not be able to boot. Equivalent to
+"lzma --compress=xz --check=crc32 --lzma2=dict=1MiB"
+====
+
+**--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.
+====
+
+**--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.
+====
+
+**--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>_::
@@ -381,11 +440,18 @@ will not be able to boot. Equivalent to "--compress=xz --check=crc32
     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
     compression options.
 
+**--reproducible**::
+    Create reproducible images.
+
+**--no-reproducible**::
+    Do not create reproducible images.
+
 **--list-modules**::
     List all available dracut modules.
 
@@ -395,6 +461,62 @@ will not be able to boot. Equivalent to "--compress=xz --check=crc32
 **--keep**::
     Keep the initramfs temporary directory for debugging purposes.
 
+**--printsize**::
+    Print out the module install size
+
+**--profile**:
+    Output profile information of the build process
+
+**--ro-mnt**:
+    Mount / and /usr read-only by default.
+
+**-L, --stdlog** _<level>_::
+    [0-6] Specify logging level (to standard error)
+----
+          0 - suppress any messages
+          1 - only fatal errors
+          2 - all errors
+          3 - warnings
+          4 - info
+          5 - debug info (here starts lots of output)
+          6 - trace info (and even more)
+----
+
+**--regenerate-all**::
+    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>_.
+
+**--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.
+
+**--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
+    _$prefix/lib/systemd/boot/efi/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
+    or _$prefix/lib/gummiboot/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
+
+**--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**.
+
 FILES
 -----
 _/var/log/dracut.log_::
@@ -410,6 +532,9 @@ _/etc/dracut.conf_::
 _/etc/dracut.conf.d/*.conf_::
     see dracut.conf5
 
+_/usr/lib/dracut/dracut.conf.d/*.conf_::
+    see dracut.conf5
+
 Configuration in the initramfs
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 _/etc/conf.d/_::
@@ -418,6 +543,10 @@ _/etc/conf.d/_::
     set in the configuration files.
 
 _/etc/cmdline_::
+    Can contain additional command line options. Deprecated, better use
+    /etc/cmdline.d/*.conf.
+
+_/etc/cmdline.d/*.conf_::
     Can contain additional command line options.
 
 AVAILABILITY
@@ -445,4 +574,4 @@ Will Woods
 
 SEE ALSO
 --------
-*dracut.cmdline*(7) *dracut.conf*(5)
+*dracut.cmdline*(7) *dracut.conf*(5) *lsinitrd*(1)