|
|
DRACUT(8) |
|
|
========= |
|
|
:doctype: manpage |
|
|
:man source: dracut |
|
|
:man manual: dracut |
|
|
|
|
|
NAME |
|
|
---- |
|
|
dracut - low-level tool for generating an initramfs image |
|
|
|
|
|
SYNOPSIS |
|
|
-------- |
|
|
*dracut* ['OPTION...'] [<image> [_<kernel version>_]] |
|
|
|
|
|
DESCRIPTION |
|
|
----------- |
|
|
|
|
|
Create an initramfs <image> for the kernel with the version <kernel version>. |
|
|
If <kernel version> is omitted, then the version of the actual running |
|
|
kernel is used. If <image> is omitted or empty, then the default location |
|
|
/boot/initramfs-<kernel version>.img is used. |
|
|
|
|
|
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, mounting the root filesystem and booting into the real system. |
|
|
|
|
|
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 |
|
|
---- |
|
|
|
|
|
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 |
|
|
---- |
|
|
|
|
|
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 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. |
|
|
|
|
|
|
|
|
OPTIONS |
|
|
------- |
|
|
**--kver** _<kernel version>_:: |
|
|
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. |
|
|
|
|
|
**-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. |
|
|
+ |
|
|
[NOTE] |
|
|
=============================== |
|
|
If [LIST] has multiple arguments, then you have to put these in quotes. For |
|
|
example: |
|
|
---- |
|
|
# dracut --modules "module1 module2" ... |
|
|
---- |
|
|
=============================== |
|
|
|
|
|
**-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 --omit "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. |
|
|
+ |
|
|
[NOTE] |
|
|
=============================== |
|
|
If [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 |
|
|
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 --force-add "module1 module2" ... |
|
|
---- |
|
|
=============================== |
|
|
|
|
|
**-d, --drivers** _<list of kernel modules>_:: |
|
|
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 |
|
|
example: |
|
|
---- |
|
|
# dracut --drivers "kmodule1 kmodule2" ... |
|
|
---- |
|
|
=============================== |
|
|
|
|
|
**--add-drivers** _<list of kernel modules>_:: |
|
|
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 |
|
|
example: |
|
|
---- |
|
|
# dracut --add-drivers "kmodule1 kmodule2" ... |
|
|
---- |
|
|
=============================== |
|
|
|
|
|
**--omit-drivers** _<list of kernel modules>_:: |
|
|
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 |
|
|
example: |
|
|
---- |
|
|
# dracut --omit-drivers "kmodule1 kmodule2" ... |
|
|
---- |
|
|
=============================== |
|
|
|
|
|
**--filesystems** _<list of filesystems>_:: |
|
|
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 |
|
|
example: |
|
|
---- |
|
|
# dracut --filesystems "filesystem1 filesystem2" ... |
|
|
---- |
|
|
=============================== |
|
|
|
|
|
**-k, --kmoddir** _<kernel directory>_:: |
|
|
specify the directory, where to look for kernel modules |
|
|
|
|
|
**--fwdir** _<dir>[:<dir>...]++_:: |
|
|
specify additional directories, where to look for firmwares. This parameter |
|
|
can be specified multiple times. |
|
|
|
|
|
**--kernel-only**:: |
|
|
only install kernel drivers and firmware files |
|
|
|
|
|
**--no-kernel**:: |
|
|
do not install kernel drivers and firmware files |
|
|
|
|
|
**--mdadmconf**:: |
|
|
include local _/etc/mdadm.conf_ |
|
|
|
|
|
**--nomdadmconf**:: |
|
|
do not include local _/etc/mdadm.conf_ |
|
|
|
|
|
**--lvmconf**:: |
|
|
include local _/etc/lvm/lvm.conf_ |
|
|
|
|
|
**--nolvmconf**:: |
|
|
do not include local _/etc/lvm/lvm.conf_ |
|
|
|
|
|
**--fscks** [LIST]:: |
|
|
add a space-separated list of fsck tools, in addition to _dracut.conf_'s |
|
|
specification; the installation is opportunistic (non-existing tools are |
|
|
ignored) |
|
|
+ |
|
|
[NOTE] |
|
|
=============================== |
|
|
If [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 |
|
|
|
|
|
**--strip**:: |
|
|
strip binaries in the initramfs |
|
|
|
|
|
**--nostrip**:: |
|
|
do not strip binaries in the initramfs (default) |
|
|
|
|
|
**--hardlink**:: |
|
|
hardlink files in the initramfs (default) |
|
|
|
|
|
**--nohardlink**:: |
|
|
do not hardlink files in the initramfs |
|
|
|
|
|
**--prefix** _<dir>_:: |
|
|
prefix initramfs files with the specified directory |
|
|
|
|
|
**--noprefix**:: |
|
|
do not prefix initramfs files (default) |
|
|
|
|
|
**-h, --help**:: |
|
|
display help text and exit. |
|
|
|
|
|
**--debug**:: |
|
|
output debug information of the build process |
|
|
|
|
|
**-v, --verbose**:: |
|
|
increase 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. |
|
|
+ |
|
|
Default: |
|
|
_/etc/dracut.conf_ |
|
|
|
|
|
**--confdir** _<configuration directory>_:: |
|
|
specify configuration directory to use. |
|
|
+ |
|
|
Default: |
|
|
_/etc/dracut.conf.d_ |
|
|
|
|
|
**--tmpdir** _<temporary directory>_:: |
|
|
specify temporary directory to use. |
|
|
+ |
|
|
Default: |
|
|
_/var/tmp_ |
|
|
|
|
|
**--sshkey** _<sshkey file>_:: ssh key file used with ssh-client module. |
|
|
|
|
|
**-l, --local**:: |
|
|
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 |
|
|
instead of a generic host and generate host-specific configuration. |
|
|
+ |
|
|
[WARNING] |
|
|
==== |
|
|
If chrooted to another root other than the real root device, use "--fstab" and |
|
|
provide a valid _/etc/fstab_. |
|
|
==== |
|
|
|
|
|
**-N, --no-hostonly**:: |
|
|
Disable Host-Only mode |
|
|
|
|
|
**--fstab**:: |
|
|
Use _/etc/fstab_ instead of _/proc/self/mountinfo_. |
|
|
|
|
|
**--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>_:: |
|
|
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. |
|
|
+ |
|
|
[NOTE] |
|
|
=============================== |
|
|
If [LIST] has multiple arguments, then you have to put these in quotes. For |
|
|
example: |
|
|
---- |
|
|
# dracut --install "/bin/foo /sbin/bar" ... |
|
|
---- |
|
|
=============================== |
|
|
|
|
|
**--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" |
|
|
|
|
|
**--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" |
|
|
==== |
|
|
|
|
|
**--lzma**:: |
|
|
Compress the generated initramfs using lzma. |
|
|
+ |
|
|
[WARNING] |
|
|
==== |
|
|
Make sure your kernel has lzma decompression support compiled in, otherwise you |
|
|
will not be able to boot. Equivalent to "--compress=lzma -9" |
|
|
==== |
|
|
|
|
|
**--xz**:: |
|
|
Compress the generated initramfs using xz. |
|
|
+ |
|
|
[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" |
|
|
==== |
|
|
|
|
|
**--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. |
|
|
|
|
|
**--no-compress**:: |
|
|
Do not compress the generated initramfs. This will override any other |
|
|
compression options. |
|
|
|
|
|
**--list-modules**:: |
|
|
List all available dracut modules. |
|
|
|
|
|
**-M, --show-modules**:: |
|
|
Print included module's name to standard output during build. |
|
|
|
|
|
**--keep**:: |
|
|
Keep the initramfs temporary directory for debugging purposes. |
|
|
|
|
|
FILES |
|
|
----- |
|
|
_/var/log/dracut.log_:: |
|
|
logfile of initramfs image creation |
|
|
|
|
|
_/tmp/dracut.log_:: |
|
|
logfile of initramfs image creation, if _/var/log/dracut.log_ is not |
|
|
writable |
|
|
|
|
|
_/etc/dracut.conf_:: |
|
|
see dracut.conf5 |
|
|
|
|
|
_/etc/dracut.conf.d/*.conf_:: |
|
|
see dracut.conf5 |
|
|
|
|
|
Configuration in the initramfs |
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
_/etc/conf.d/_:: |
|
|
Any files found in _/etc/conf.d/_ will be sourced in the initramfs to |
|
|
set initial values. Command line options will override these values |
|
|
set in the configuration files. |
|
|
|
|
|
_/etc/cmdline_:: |
|
|
Can contain additional command line options. |
|
|
|
|
|
AVAILABILITY |
|
|
------------ |
|
|
The dracut command is part of the dracut package and is available from |
|
|
link:$$https://dracut.wiki.kernel.org$$[https://dracut.wiki.kernel.org] |
|
|
|
|
|
AUTHORS |
|
|
------- |
|
|
Harald Hoyer |
|
|
|
|
|
Victor Lowther |
|
|
|
|
|
Philippe Seewer |
|
|
|
|
|
Warren Togami |
|
|
|
|
|
Amadeusz Żołnowski |
|
|
|
|
|
Jeremy Katz |
|
|
|
|
|
David Dillow |
|
|
|
|
|
Will Woods |
|
|
|
|
|
SEE ALSO |
|
|
-------- |
|
|
*dracut.cmdline*(7) *dracut.conf*(5)
|
|
|
|