]> git.ipfire.org Git - thirdparty/dracut.git/blame - dracut.8.asc
Merge pull request #199 from lnykryn/bz1416958
[thirdparty/dracut.git] / dracut.8.asc
CommitLineData
888d53f2
HH
1DRACUT(8)
2=========
3:doctype: manpage
4:man source: dracut
5:man manual: dracut
6
7NAME
8----
319867fa 9dracut - low-level tool for generating an initramfs/initrd image
888d53f2
HH
10
11SYNOPSIS
12--------
b6c89768 13*dracut* [__OPTION...__] [__<image>__ [__<kernel version>__]]
888d53f2
HH
14
15DESCRIPTION
16-----------
4c3be42c
HH
17
18Create an initramfs <image> for the kernel with the version <kernel version>.
19If <kernel version> is omitted, then the version of the actual running
20kernel is used. If <image> is omitted or empty, then the default location
21/boot/initramfs-<kernel version>.img is used.
22
888d53f2
HH
23dracut creates an initial image used by the kernel for preloading the block
24device modules (such as IDE, SCSI or RAID) which are needed to access the root
25filesystem, mounting the root filesystem and booting into the real system.
26
27At boot time, the kernel unpacks that archive into RAM disk, mounts and uses it
28as initial root file system. All finding of the root device happens in this
29early userspace.
30
319867fa
HH
31Initramfs images are also called "initrd".
32
4c3be42c
HH
33For a complete list of kernel command line options see *dracut.cmdline*(7).
34
64d144ae 35If you are dropped to an emergency shell, while booting your initramfs,
05b879ed 36the file _/run/initramfs/rdsosreport.txt_ is created, which can be saved to a
64d144ae 37(to be mounted by hand) partition (usually /boot) or a USB stick.
ef9ddb91
HH
38Additional debugging info can be produced by adding **rd.debug** to the kernel
39command line. _/run/initramfs/rdsosreport.txt_ contains all logs and the output
40of some tools. It should be attached to any report about dracut problems.
64d144ae 41
b6c89768
HH
42USAGE
43-----
4c3be42c 44
b6c89768 45include::dracut.usage.asc[]
888d53f2
HH
46
47OPTIONS
48-------
e65caf36
HH
49**--kver** _<kernel version>_::
50 set the kernel version. This enables to specify the kernel version, without
51 specifying the location of the initramfs image. For example:
52----
53# dracut --kver 3.5.0-0.rc7.git1.2.fc18.x86_64
54----
55
888d53f2
HH
56**-f, --force**::
57 overwrite existing initramfs file.
58
319867fa
HH
59**-a, --add** _<list of dracut modules>_::
60 add a space-separated list of dracut modules to the default set of modules.
61 This parameter can be specified multiple times.
888d53f2
HH
62+
63[NOTE]
64===============================
65If [LIST] has multiple arguments, then you have to put these in quotes. For
66example:
67----
319867fa 68# dracut --add "module1 module2" ...
888d53f2
HH
69----
70===============================
71
319867fa
HH
72**--force-add** _<list of dracut modules>_::
73 force to add a space-separated list of dracut modules to the default set of
74 modules, when -H is specified. This parameter can be specified multiple
75 times.
18595ced 76+
888d53f2
HH
77[NOTE]
78===============================
79If [LIST] has multiple arguments, then you have to put these in quotes. For
80example:
81----
319867fa 82# dracut --force-add "module1 module2" ...
888d53f2
HH
83----
84===============================
85
319867fa
HH
86**-o, --omit** _<list of dracut modules>_::
87 omit a space-separated list of dracut modules. This parameter can be
88 specified multiple times.
888d53f2
HH
89+
90[NOTE]
91===============================
92If [LIST] has multiple arguments, then you have to put these in quotes. For
93example:
94----
319867fa 95# dracut --omit "module1 module2" ...
888d53f2
HH
96----
97===============================
98
319867fa
HH
99**-m, --modules** _<list of dracut modules>_::
100 specify a space-separated list of dracut modules to call when building the
101 initramfs. Modules are located in _/usr/lib/dracut/modules.d_. This
102 parameter can be specified multiple times.
103 This option forces dracut to only include the specified dracut modules.
104 In most cases the "--add" option is what you want to use.
888d53f2
HH
105+
106[NOTE]
107===============================
108If [LIST] has multiple arguments, then you have to put these in quotes. For
109example:
110----
319867fa 111# dracut --modules "module1 module2" ...
888d53f2
HH
112----
113===============================
114
115**-d, --drivers** _<list of kernel modules>_::
116 specify a space-separated list of kernel modules to exclusively include
117 in the initramfs. The kernel modules have to be specified without the ".ko"
118 suffix. This parameter can be specified multiple times.
119+
120[NOTE]
121===============================
122If [LIST] has multiple arguments, then you have to put these in quotes. For
123example:
124----
125# dracut --drivers "kmodule1 kmodule2" ...
126----
127===============================
128
129**--add-drivers** _<list of kernel modules>_::
130 specify a space-separated list of kernel modules to add to the initramfs.
131 The kernel modules have to be specified without the ".ko" suffix. This
132 parameter can be specified multiple times.
133+
134[NOTE]
135===============================
136If [LIST] has multiple arguments, then you have to put these in quotes. For
137example:
138----
139# dracut --add-drivers "kmodule1 kmodule2" ...
140----
141===============================
cea907f6
TR
142
143**--force-drivers** _<list of kernel modules>_::
144 See add-drivers above. But in this case it is ensured that the drivers
145 are tried to be loaded early via modprobe.
146+
147[NOTE]
148===============================
149If [LIST] has multiple arguments, then you have to put these in quotes. For
150example:
151----
152# dracut --force-drivers "kmodule1 kmodule2" ...
153----
154===============================
888d53f2
HH
155
156**--omit-drivers** _<list of kernel modules>_::
157 specify a space-separated list of kernel modules not to add to the
158 initramfs.
159 The kernel modules have to be specified without the ".ko" suffix. This
160 parameter can be specified multiple times.
161+
162[NOTE]
163===============================
164If [LIST] has multiple arguments, then you have to put these in quotes. For
165example:
166----
167# dracut --omit-drivers "kmodule1 kmodule2" ...
168----
169===============================
170
171**--filesystems** _<list of filesystems>_::
172 specify a space-separated list of kernel filesystem modules to exclusively
173 include in the generic initramfs. This parameter can be specified multiple
174 times.
18595ced 175+
888d53f2
HH
176[NOTE]
177===============================
178If [LIST] has multiple arguments, then you have to put these in quotes. For
179example:
180----
181# dracut --filesystems "filesystem1 filesystem2" ...
182----
183===============================
184
185**-k, --kmoddir** _<kernel directory>_::
186 specify the directory, where to look for kernel modules
187
188**--fwdir** _<dir>[:<dir>...]++_::
189 specify additional directories, where to look for firmwares. This parameter
190 can be specified multiple times.
191
d20fb951
HH
192**--kernel-cmdline <parameters>**::
193 specify default kernel command line parameters
194
195
888d53f2
HH
196**--kernel-only**::
197 only install kernel drivers and firmware files
198
199**--no-kernel**::
200 do not install kernel drivers and firmware files
201
b7c770e1
DS
202**--early-microcode**::
203 Combine early microcode with ramdisk
204
205**--no-early-microcode**::
206 Do not combine early microcode with ramdisk
207
1743473b
HH
208**--print-cmdline**::
209 print the kernel command line for the current disk layout
210
888d53f2
HH
211**--mdadmconf**::
212 include local _/etc/mdadm.conf_
213
214**--nomdadmconf**::
215 do not include local _/etc/mdadm.conf_
216
217**--lvmconf**::
218 include local _/etc/lvm/lvm.conf_
219
220**--nolvmconf**::
221 do not include local _/etc/lvm/lvm.conf_
222
223**--fscks** [LIST]::
224 add a space-separated list of fsck tools, in addition to _dracut.conf_'s
225 specification; the installation is opportunistic (non-existing tools are
226 ignored)
227+
228[NOTE]
229===============================
230If [LIST] has multiple arguments, then you have to put these in quotes. For
231example:
232----
233# dracut --fscks "fsck.foo barfsck" ...
234----
235===============================
236
237**--nofscks**::
238 inhibit installation of any fsck tools
239
240**--strip**::
6c128565 241 strip binaries in the initramfs (default)
888d53f2
HH
242
243**--nostrip**::
6c128565 244 do not strip binaries in the initramfs
04d18f55 245
f4a94278
HH
246**--prelink**::
247 prelink binaries in the initramfs (default)
248
249**--noprelink**::
250 do not prelink binaries in the initramfs
251
04d18f55
HH
252**--hardlink**::
253 hardlink files in the initramfs (default)
254
255**--nohardlink**::
256 do not hardlink files in the initramfs
888d53f2
HH
257
258**--prefix** _<dir>_::
259 prefix initramfs files with the specified directory
260
261**--noprefix**::
262 do not prefix initramfs files (default)
263
888d53f2
HH
264**-h, --help**::
265 display help text and exit.
266
267**--debug**::
268 output debug information of the build process
269
270**-v, --verbose**::
271 increase verbosity level (default is info(4))
272
273**-q, --quiet**:: decrease verbosity level (default is info(4))
274
275**-c, --conf** _<dracut configuration file>_::
276 specify configuration file to use.
277+
278Default:
279 _/etc/dracut.conf_
280
281**--confdir** _<configuration directory>_::
282 specify configuration directory to use.
283+
284Default:
285 _/etc/dracut.conf.d_
286
4dd68ca4
287**--tmpdir** _<temporary directory>_::
288 specify temporary directory to use.
289+
290Default:
291 _/var/tmp_
292
888d53f2
HH
293**--sshkey** _<sshkey file>_:: ssh key file used with ssh-client module.
294
ee54b840
HR
295**--logfile** _<logfile>_:: logfile to use; overrides any setting from
296 the configuration files.
297+
298Default:
299 _/var/log/dracut.log_
300
888d53f2
HH
301**-l, --local**::
302 activates the local mode. dracut will use modules from the current working
303 directory instead of the system-wide installed modules in
304 _/usr/lib/dracut/modules.d_.
305 This is useful when running dracut from a git checkout.
306
307**-H, --hostonly**::
1d97bb8b
308 Host-Only mode: Install only what is needed for booting the local host
309 instead of a generic host and generate host-specific configuration.
888d53f2
HH
310+
311[WARNING]
312====
0cec2304
HH
313If chrooted to another root other than the real root device, use "--fstab" and
314provide a valid _/etc/fstab_.
888d53f2
HH
315====
316
472189da 317**-N, --no-hostonly**::
cb74b382
HH
318 Disable Host-Only mode
319
ab9457ef
HH
320**--hostonly-cmdline**:
321 Store kernel command line arguments needed in the initramfs
322
323**--no-hostonly-cmdline**:
324 Do not store kernel command line arguments needed in the initramfs
325
fe6455a6
HH
326**--hostonly-i18n**:
327 Install only needed keyboard and font files according to the host configuration (default).
328
329**--no-hostonly-i18n**:
330 Install all keyboard and font files available.
331
b6c89768 332**--persistent-policy** _<policy>_::
324ea606
HH
333 Use _<policy>_ to address disks and partitions.
334 _<policy>_ can be any directory name found in /dev/disk.
335 E.g. "by-uuid", "by-label"
336
888d53f2
HH
337**--fstab**::
338 Use _/etc/fstab_ instead of _/proc/self/mountinfo_.
339
b6c89768 340**--add-fstab** _<filename>_::
888d53f2
HH
341 Add entries of _<filename>_ to the initramfs /etc/fstab.
342
5f6a495b
DY
343**--mount** "_<device>_ _<mountpoint>_ _<filesystem type>_ [_<filesystem options>_ [_<dump frequency>_ [_<fsck order>_]]]"::
344 Mount _<device>_ on _<mountpoint>_ with _<filesystem type>_ in the
345 initramfs. _<filesystem options>_, _<dump options>_ and _<fsck order>_ can
346 be specified, see fstab manpage for the details.
347 The default _<filesystem options>_ is "defaults".
348 The default _<dump frequency>_ is "0".
349 the default _<fsck order>_ is "2".
888d53f2 350
edbd9ca0
FV
351**--mount** "_<mountpoint>_"::
352 Like above, but _<device>_, _<filesystem type>_ and _<filesystem options>_
353 are determined by looking at the current mounts.
354
c586b033
CG
355**--add-device** _<device>_ ::
356 Bring up _<device>_ in initramfs, _<device>_ should be the device name.
357 This can be useful in hostonly mode for resume support when your swap is on
358 LVM or an encrypted partition.
359 [NB --device can be used for compatibility with earlier releases]
52f1b041 360
b6c89768 361**-i, --include** _<SOURCE>_ _<TARGET>_::
888d53f2
HH
362 include the files in the SOURCE directory into the
363 TARGET directory in the final initramfs. If SOURCE is a file, it will be
364 installed to TARGET in the final initramfs. This parameter can be specified
365 multiple times.
366
b6c89768 367**-I, --install** _<file list>_::
888d53f2
HH
368 install the space separated list of files into the initramfs.
369+
370[NOTE]
371===============================
372If [LIST] has multiple arguments, then you have to put these in quotes. For
373example:
888d53f2
HH
374----
375# dracut --install "/bin/foo /sbin/bar" ...
376----
377===============================
378
54b68829
HH
379**--install-optional** _<file list>_::
380 install the space separated list of files into the initramfs, if they exist.
381
888d53f2
HH
382**--gzip**::
383 Compress the generated initramfs using gzip. This will be done by default,
384 unless another compression option or --no-compress is passed. Equivalent to
385 "--compress=gzip -9"
386
387**--bzip2**::
388 Compress the generated initramfs using bzip2.
389+
390[WARNING]
391====
392Make sure your kernel has bzip2 decompression support compiled in, otherwise you
393will not be able to boot. Equivalent to "--compress=bzip2"
394====
395
396**--lzma**::
397 Compress the generated initramfs using lzma.
398+
399[WARNING]
400====
401Make sure your kernel has lzma decompression support compiled in, otherwise you
ea3c4e82 402will not be able to boot. Equivalent to "lzma --compress=lzma -9"
888d53f2
HH
403====
404
405**--xz**::
406 Compress the generated initramfs using xz.
407+
408[WARNING]
409====
410Make sure your kernel has xz decompression support compiled in, otherwise you
ef9ddb91
HH
411will not be able to boot. Equivalent to
412"lzma --compress=xz --check=crc32 --lzma2=dict=1MiB"
888d53f2
HH
413====
414
871c8e40 415**--lzo**::
416 Compress the generated initramfs using lzop.
417[WARNING]
418====
419Make sure your kernel has lzo decompression support compiled in, otherwise you
420will not be able to boot.
421====
422
423**--lz4**::
424 Compress the generated initramfs using lz4.
425[WARNING]
426====
427Make sure your kernel has lz4 decompression support compiled in, otherwise you
428will not be able to boot.
429====
430
888d53f2
HH
431**--compress** _<compressor>_::
432 Compress the generated initramfs using the passed compression program. If
433 you pass it just the name of a compression program, it will call that
434 program with known-working arguments. If you pass a quoted string with
435 arguments, it will be called with exactly those arguments. Depending on what
436 you pass, this may result in an initramfs that the kernel cannot decompress.
bd98b884 437 The default value can also be set via the _INITRD_COMPRESS_ environment variable.
888d53f2
HH
438
439**--no-compress**::
440 Do not compress the generated initramfs. This will override any other
441 compression options.
442
80626ded
HH
443**--reproducible**::
444 Create reproducible images.
445
4a6c14f9
HH
446**--no-reproducible**::
447 Do not create reproducible images.
448
888d53f2
HH
449**--list-modules**::
450 List all available dracut modules.
451
452**-M, --show-modules**::
453 Print included module's name to standard output during build.
454
455**--keep**::
456 Keep the initramfs temporary directory for debugging purposes.
457
ea3c4e82
HH
458**--printsize**::
459 Print out the module install size
460
461**--profile**:
462 Output profile information of the build process
463
464**--ro-mnt**:
465 Mount / and /usr read-only by default.
466
467**-L, --stdlog** _<level>_::
468 [0-6] Specify logging level (to standard error)
469----
470 0 - suppress any messages
471 1 - only fatal errors
472 2 - all errors
473 3 - warnings
474 4 - info
475 5 - debug info (here starts lots of output)
476 6 - trace info (and even more)
477----
478
7d848c55 479**--regenerate-all**::
ef9ddb91
HH
480 Regenerate all initramfs images at the default location with the kernel
481 versions found on the system. Additional parameters are passed through.
7d848c55 482
ca96509c 483**--loginstall _<DIR>_**::
37383f71
HH
484 Log all files installed from the host to _<DIR>_.
485
ca96509c 486**--uefi**::
636d2d46 487 Instead of creating an initramfs image, dracut will create an UEFI executable,
5c57209b
HH
488 which can be executed by an UEFI BIOS. The default output filename is
489 _<EFI>/EFI/Linux/linux-$kernel$-<MACHINE_ID>-<BUILD_ID>.efi_. <EFI> might be
490 _/efi_, _/boot_ or _/boot/efi_ depending on where the ESP partition is mounted.
491 The <BUILD_ID> is taken from BUILD_ID in _/usr/lib/os-release_ or if it exists
492 _/etc/os-release_ and is left out, if BUILD_ID is non-existant or empty.
493
494**--no-machineid**::
495 affects the default output filename of **--uefi** and will discard the <MACHINE_ID>
496 part.
636d2d46 497
ca96509c 498**--uefi-stub _<FILE>_**::
636d2d46
HH
499 Specifies the UEFI stub loader, which will load the attached kernel, initramfs and
500 kernel command line and boots the kernel. The default is
53475faa
HH
501 _$prefix/lib/systemd/boot/efi/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
502 or _$prefix/lib/gummiboot/linux<EFI-MACHINE-TYPE-NAME>.efi.stub_
636d2d46 503
ca96509c 504**--kernel-image _<FILE>_**::
636d2d46
HH
505 Specifies the kernel image, which to include in the UEFI executable. The default is
506 _/lib/modules/<KERNEL-VERSION>/vmlinuz_ or _/boot/vmlinuz-<KERNEL-VERSION>_
507
bd98b884
HH
508ENVIRONMENT
509-----------
510
511_INITRD_COMPRESS_::
512 sets the default compression program. See **--compress**.
513
888d53f2
HH
514FILES
515-----
516_/var/log/dracut.log_::
517 logfile of initramfs image creation
518
519_/tmp/dracut.log_::
520 logfile of initramfs image creation, if _/var/log/dracut.log_ is not
521 writable
522
523_/etc/dracut.conf_::
524 see dracut.conf5
525
526_/etc/dracut.conf.d/*.conf_::
527 see dracut.conf5
528
c4e098a5
HH
529_/usr/lib/dracut/dracut.conf.d/*.conf_::
530 see dracut.conf5
531
888d53f2
HH
532Configuration in the initramfs
533~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
534_/etc/conf.d/_::
535 Any files found in _/etc/conf.d/_ will be sourced in the initramfs to
536 set initial values. Command line options will override these values
537 set in the configuration files.
538
539_/etc/cmdline_::
ef9ddb91
HH
540 Can contain additional command line options. Deprecated, better use
541 /etc/cmdline.d/*.conf.
3cff5fb5 542
b6c89768 543_/etc/cmdline.d/*.conf_::
888d53f2
HH
544 Can contain additional command line options.
545
546AVAILABILITY
547------------
548The dracut command is part of the dracut package and is available from
549link:$$https://dracut.wiki.kernel.org$$[https://dracut.wiki.kernel.org]
550
551AUTHORS
552-------
9f355169 553Harald Hoyer
888d53f2 554
9f355169 555Victor Lowther
888d53f2 556
9f355169 557Philippe Seewer
888d53f2 558
9f355169 559Warren Togami
888d53f2 560
9f355169 561Amadeusz Żołnowski
888d53f2 562
9f355169 563Jeremy Katz
888d53f2 564
9f355169 565David Dillow
888d53f2 566
9f355169 567Will Woods
888d53f2
HH
568
569SEE ALSO
570--------
820f8101 571*dracut.cmdline*(7) *dracut.conf*(5) *lsinitrd*(1)