summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man8/mkinitcpio.8
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man8/mkinitcpio.8
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/archlinux/man8/mkinitcpio.8')
-rw-r--r--upstream/archlinux/man8/mkinitcpio.8637
1 files changed, 637 insertions, 0 deletions
diff --git a/upstream/archlinux/man8/mkinitcpio.8 b/upstream/archlinux/man8/mkinitcpio.8
new file mode 100644
index 00000000..1b990915
--- /dev/null
+++ b/upstream/archlinux/man8/mkinitcpio.8
@@ -0,0 +1,637 @@
+'\" t
+.\" Title: mkinitcpio
+.\" Author: [see the "Authors" section]
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
+.\" Date: 12/03/2023
+.\" Manual: mkinitcpio manual
+.\" Source: \ \& mkinitcpio 37.1
+.\" Language: English
+.\"
+.TH "MKINITCPIO" "8" "12/03/2023" "\ \& mkinitcpio 37\&.1" "mkinitcpio manual"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+mkinitcpio \- Create an initial ramdisk environment
+.SH "SYNOPSIS"
+.sp
+\fImkinitcpio\fR [options]
+.SH "DESCRIPTION"
+.sp
+Creates an initial ramdisk environment for booting the Linux kernel\&. The initial ramdisk is in essence a very small environment (early userspace) which loads various kernel modules and sets up necessary things before handing over control to init\&. This makes it possible to have, for example, encrypted root file systems and root file systems on a software RAID array\&. mkinitcpio allows for easy extension with custom hooks, has autodetection at runtime, and many other features\&.
+.SH "OPTIONS"
+.PP
+\fB\-A\fR, \fB\-\-addhooks\fR \fIhooks\fR
+.RS 4
+Add the additional
+\fIhooks\fR
+to the image\&. These will be processed in order after all other hooks from the config file\&. Multiple hooks should be comma\-separated\&. This option can be specified multiple times\&.
+.RE
+.PP
+\fB\-c\fR, \fB\-\-config\fR \fIconfig\fR
+.RS 4
+Use
+\fIconfig\fR
+file to generate the ramdisk\&. Default:
+\fI/etc/mkinitcpio\&.conf\fR\&. If specified, drop\-in files in
+\fI/etc/mkinitcpio\&.conf\&.d/\fR
+will be ignored\&.
+.RE
+.PP
+\fB\-d\fR, \fB\-\-generatedir\fR \fIdirectory\fR
+.RS 4
+Set
+\fIdirectory\fR
+as the location where the initramfs is built\&. This might be useful to generate a shutdown ramfs in
+\fI/run/initramfs/\fR\&.
+.RE
+.PP
+\fB\-D\fR, \fB\-\-hookdir\fR \fIdirectory\fR
+.RS 4
+Set
+\fIdirectory\fR
+as the location where hooks will be searched for when generating the image\&.
+.RE
+.PP
+\fB\-g\fR, \fB\-\-generate\fR \fIfilename\fR
+.RS 4
+Generate a CPIO image as
+\fIfilename\fR\&. Default: no; this means nothing will be written to the file system unless this option is specified\&.
+.RE
+.PP
+\fB\-H\fR, \fB\-\-hookhelp\fR \fIhookname\fR
+.RS 4
+Output help for hookname
+\fIhookname\fR\&.
+.RE
+.PP
+\fB\-h\fR, \fB\-\-help\fR
+.RS 4
+Output a short overview of available command\-line switches\&.
+.RE
+.PP
+\fB\-k\fR, \fB\-\-kernel\fR \fIkernelversion\fR
+.RS 4
+Use
+\fIkernelversion\fR, instead of the current running kernel\&. This may be a path to a kernel image (only supported for x86\-based architectures), a specific kernel version or the special keyword
+\fInone\fR\&. In the latter case, no kernel modules are added to the image\&.
+.RE
+.PP
+\fB\-L\fR, \fB\-\-listhooks\fR
+.RS 4
+List all available hooks\&.
+.RE
+.PP
+\fB\-M\fR, \fB\-\-automods\fR
+.RS 4
+Display modules found via autodetection\&. mkinitcpio will automatically try to determine which kernel modules are needed to start your computer\&. This option lists which modules were detected\&.
+.RE
+.PP
+\fB\-n\fR, \fB\-\-nocolor\fR
+.RS 4
+Disable color output\&.
+.RE
+.PP
+\fB\-U\fR, \fB\-\-uki\fR \fIfilename\fR
+.RS 4
+Generate a unified kernel image as
+\fIfilename\fR\&. If a CPIO image is successfully built, it will be used to generate a unified kernel image for UEFI booting\&. This combines the initramfs, the kernel, any specified microcode and the kernel cmdline into one executable\&. This is useful for boot chain integrity where the file is signed\&. Default: no\&. For a list of relevant options see
+\fIOptions for unified kernel image\fR
+below\&.
+.RE
+.PP
+\fB\-P\fR, \fB\-\-allpresets\fR
+.RS 4
+Process all presets contained in
+\fI/etc/mkinitcpio\&.d\fR\&. See the
+\fB\-p\fR
+option for more detail about presets\&.
+.RE
+.PP
+\fB\-p\fR, \fB\-\-preset\fR \fIpreset\fR
+.RS 4
+Build initramfs image(s) according to specified
+\fIpreset\fR\&. This may be a file in /etc/mkinitcpio\&.d (without the \&.preset extension) or a full, absolute path to a file\&. This option may be specified multiple times to process multiple presets\&.
+.RE
+.PP
+\fB\-R\fR, \fB\-\-remove\fR
+.RS 4
+Remove initramfs image(s) generated by the specified preset(s)\&. If used in combination with
+\fB\-P\fR|\fB\-\-allpresets\fR, removes the images for all presets\&. This option can only be used with either
+\fB\-p\fR|\fB\-\-presets\fR
+or
+\fB\-P\fR|\fB\-\-allpresets\fR\&.
+.RE
+.PP
+\fB\-r\fR, \fB\-\-moduleroot\fR \fIroot\fR
+.RS 4
+Specifies the root directory to find modules in, defaulting to
+\fI/\fR\&.
+.RE
+.PP
+\fB\-S\fR, \fB\-\-skiphooks\fR \fIhooks\fR
+.RS 4
+Skip
+\fIhooks\fR
+when generating the image\&. Multiple hooks should be comma\-separated\&. This option can be specified multiple times\&.
+.RE
+.PP
+\fB\-s\fR, \fB\-\-save\fR
+.RS 4
+Saves the build directory for the initial ramdisk\&. Default: no; This means the directory will not be retained if this option is not specified\&. Useful for debugging purposes\&.
+.RE
+.PP
+\fB\-t\fR, \fB\-\-builddir\fR \fItmpdir\fR
+.RS 4
+Use
+\fItmpdir\fR
+as the temporary build directory instead of
+\fI/tmp\fR\&.
+\fItmpdir\fR
+must exist\&. The
+\fITMPDIR\fR
+environment variable is also honored to set this location, but the command line option will take precedence\&.
+.RE
+.PP
+\fB\-V\fR, \fB\-\-version\fR
+.RS 4
+Display version information\&.
+.RE
+.PP
+\fB\-v\fR, \fB\-\-verbose\fR
+.RS 4
+Verbose output\&. Outputs more information about what is happening during creation of the ramdisk\&.
+.RE
+.PP
+\fB\-z\fR, \fB\-\-compress\fR \fIcompress\fR
+.RS 4
+Override the compression method with the
+\fIcompress\fR
+program\&.
+.RE
+.SH "OPTIONS FOR UNIFIED KERNEL IMAGE"
+.PP
+\fB\-\-cmdline\fR \fIfilename\fR
+.RS 4
+Use kernel command line with unified kernel image\&. If none is specified, try one of the files
+\fI/etc/kernel/cmdline\fR,
+\fI/usr/share/kernel/cmdline\fR
+or
+\fI/proc/cmdline\fR\&.
+.RE
+.PP
+\fB\-\-no\-cmdline\fR
+.RS 4
+Omit embedding a kernel command line string in the unified kernel image\&. Kernel command line options will need to be passed via the kernel command line\&. Overrides the
+\fB\-\-cmdline\fR
+option\&.
+.RE
+.PP
+\fB\-\-splash\fR \fIfilename\fR
+.RS 4
+UEFI executables can show a bitmap file on boot\&.
+.RE
+.PP
+\fB\-\-uefistub\fR \fIfilename\fR
+.RS 4
+UEFI stub image used for unified kernel image generation\&. Default: Attempts to look for a systemd\-boot or gummiboot stub loader\&.
+.RE
+.PP
+\fB\-\-kernelimage\fR \fIfilename\fR
+.RS 4
+Include a kernel image for the unified kernel image\&. Default: one of or
+\fI/boot/vmlinuz\-linux\fR\&.
+.RE
+.PP
+\fB\-\-microcode\fR \fIfilename\fR
+.RS 4
+Include microcode into the unified kernel image\&. Default: no\&.
+.RE
+.PP
+\fB\-\-osrelease\fR \fIfilename\fR
+.RS 4
+Include a os\-release file for the unified kernel image\&. Default:
+\fI/etc/os\-release\fR
+or
+\fI/usr/lib/os\-release\fR\&.
+.RE
+.SH "ABOUT PRESETS"
+.sp
+A preset is a pre\-defined definition on how to create an initial ramdisk\&. Instead of specifying the configuration file and which output file, every time you generate a new initial ramdisk, you define a preset and use the \fB\-p\fR switch to generate an initial ramdisk according to your preset\&.
+.sp
+Typically, presets are files located in \fI/etc/mkinitcpio\&.d/\fR with the extension \fI\&.preset\fR, e\&.g\&. \fI/etc/mkinitcpio\&.d/linux\&.preset\fR for the \fBlinux\fR preset\&. It is possible to use files in other locations, too\&. Then the path to this file needs to be specified\&.
+.sp
+Presets files are shell scripts that get sourced by mkinitcpio and the following variables will influence its behavior\&.
+.sp
+Note, that mkinitcpio calls itself for each preset and passes the options defined in the preset file file via command line arguments\&. Those are mentioned in the description of the options below, so refer to the manual of the command line arguments for more information about a particular option\&.
+.PP
+\fBPRESETS\fR
+.RS 4
+An array of preset names defined in this file\&. These names will be used as prefix to other options to provide preset\-specific options\&. For example, if a
+\fIPRESET=(\*(Aqcustom\*(Aq)\fR
+is given, then the image is specified via
+\fIcustom_image=\*(Aq/boot/custom\&.img\*(Aq\fR\&.
+.RE
+.PP
+\fB<preset>_kver\fR (defaults to value of \fBALL_kver\fR \(em one of the two is \fBrequired\fR)
+.RS 4
+Specify the Kernel version (via
+\fB\-k\fR
+in mkinitcpio)\&.
+.RE
+.PP
+\fB<preset>_config\fR (defaults to value of \fBALL_config\fR \(em one of the two is \fBrequired\fR)
+.RS 4
+Path to the configuration file (passed via
+\fB\-c\fR
+to mkinitcpio)\&.
+.RE
+.PP
+\fB<preset>_uki\fR (one of \fB<preset>_uki\fR and \fB<preset>_image\fR is \fBrequired\fR)
+.RS 4
+Output file path for a unified kernel image (passed via
+\fB\-U\fR
+to mkinitcpio)\&.
+.RE
+.PP
+\fB<preset>_image\fR (one of \fB<preset>_uki\fR and \fB<preset>_image\fR is \fBrequired\fR)
+.RS 4
+Output file path for the generated image (passed via
+\fB\-g\fR
+to mkinitcpio)\&.
+.RE
+.PP
+\fB<preset>_options\fR
+.RS 4
+Further command line arguments to pass to mkinitcpio as a string or array\&. They will get appended at the end of the call to mkinitcpio (after all the options mentioned above), so this can be used to overwrite options (for example pass a
+\fB\-S\fR
+\fIhook\fR
+here to skip a hook)\&.
+.RE
+.SH "ABOUT INSTALL HOOKS"
+.sp
+Install hooks are bash scripts which are sourced during mkinitcpio runtime in order to add modules, binaries, and other files to the image\&. A variety of functions exist to facilitate this\&.
+.PP
+\fBadd_module\fR \fImodname\fR
+.RS 4
+Adds the module specified by
+\fImodname\fR
+to the image\&. Dependencies are derived and added automatically\&.
+.RE
+.PP
+\fBadd_binary\fR \fIbinary\fR [ \fIdestination\fR ] [ \fImode\fR ]
+.RS 4
+Adds a binary to the image\&. The argument
+\fIbinary\fR
+need not be an absolute path and, if needed, a lookup will be performed\&. If the binary is a dynamically linked ELF binary, dependencies will be automatically added\&. If it is a symlink, both the symlink and the target binary will be added\&. Optionally, a destination within the initramfs image as well as a file mode can be specified\&. By default, the destination and mode be taken from the source derived from
+\fIbinary\fR\&.
+.RE
+.PP
+\fBadd_file\fR \fIpath\fR [ \fIdestination\fR ] [ \fImode\fR ]
+.RS 4
+Adds a file and any needed parent directories to the image\&. If it is a symlink, both the symlink and the target file will be added\&. Optionally, a destination within the initramfs image as well as a file mode can be specified\&. By default, the destination and mode will be taken from the source and mode of the file specified by the
+\fIpath\fR\&.
+.RE
+.PP
+\fBadd_dir\fR \fIpath\fR
+.RS 4
+Adds a directory and its parents to the image\&.
+.RE
+.PP
+\fBadd_full_dir\fR \fIdirectory\fR [ \fIglob\fR ] [ \fIstrip_prefix\fR ]
+.RS 4
+Recursively adds a directory to the image by walking the given path and calling
+\fBadd_file\fR,
+\fBadd_dir\fR, and
+\fBadd_symlink\fR
+accordingly\&. This function will not follow symlinks, nor will it add the targets of symlinks\&.
+
+If the
+\fIglob\fR
+argument is passed, only files and symlinks matching this glob will be added\&.
+
+If the
+\fIstrip_prefix\fR
+argument is passed, it will be used to strip the destination path (path in the initramfs image) from the prefix specified by the
+\fIstrip_prefix\fR
+argument\&. This can be useful when writing rootfs\-overlay hooks\&.
+.RE
+.PP
+\fBadd_symlink\fR \fIpath\fR [ \fIlink\-target\fR ]
+.RS 4
+Adds a symlink to the image at the specified
+\fIpath\fR, optionally pointing to the specified
+\fIlink\-target\fR\&. If the
+\fIlink\-target\fR
+is not provided, it is assumed that this symlink exists in the real file system, and the target will be read using
+\fBreadlink\fR(1)\&. There is no checking done to ensure that the target of the symlink exists, and symlinks will not be followed recursively\&.
+.RE
+.PP
+\fBadd_all_modules\fR [ \fB\-f\fR \fIfilter\fR ] \fIpattern\fR
+.RS 4
+Adds modules to the image, without regard for the autodetect whitelist\&.
+\fIpattern\fR
+should be a subdirectory within the kernel tree describing a subset of modules to be included\&. Further refinement can be provided via the
+\fB\-f\fR
+flag with an extended regular expression\&.
+.RE
+.PP
+\fBadd_checked_modules\fR [ \fB\-f\fR \fIfilter\fR ] \fIpattern\fR
+.RS 4
+Similar to
+\fBadd_all_modules\fR
+with the constraint that only modules matching the whitelist generated by the autodetect hook will be added to the image\&. If the autodetect hook is not present in the image, this function is identical to
+\fBadd_all_modules\fR\&.
+.RE
+.PP
+\fBadd_runscript\fR \fIscriptname\fR
+.RS 4
+Adds a runtime hook to the image, which is a busybox ash compatible shell script\&. The name of the script is guaranteed to match the name of the hook the script is called from\&.
+.RE
+.PP
+\fBadd_udev_rule\fR \fIrule\-file\fR
+.RS 4
+Adds a udev rule to the image\&. Dependencies on binaries will be discovered and added\&. The argument can be a rule file name (discovered from well known udev paths) or an absolute path\&.
+.RE
+.PP
+\fBadd_all_modules_from_symbol\fR \fIsymbol\fR \fIpaths\fR
+.RS 4
+Adds modules from the
+\fIpaths\fR
+directories containing the
+\fIsymbol\fR
+to the image\&.
+.RE
+.PP
+\fBadd_checked_modules_from_symbol\fR \fIsymbol\fR \fIpaths\fR
+.RS 4
+Similar to
+\fBadd_all_modules_from_symbol\fR
+with the constraint that only modules matching the whitelist generated by the autodetect hook will be added to the image\&. If the autodetect hook is not present in the image, this function is identical to
+\fBadd_all_modules_from_symbol\fR\&.
+.RE
+.SH "ABOUT RUNTIME HOOKS"
+.sp
+Runtime hooks added to the image via the \fBadd_runscript\fR function from an install hook are able to provide extra functionality during early userspace\&. Specific functions in these files will run at different times\&. A hook can define one or more of these\&. At each hook point, hooks are run in the order that they are defined in the HOOKS variable, except for cleanup hooks which are run in reverse\&.
+.PP
+\fBrun_earlyhook\fR
+.RS 4
+Functions of this name will be run once the API mounts have been setup and the kernel command line has been parsed\&. Daemons needed for early userspace should be started from this hook point\&.
+.RE
+.PP
+\fBrun_hook\fR
+.RS 4
+Functions of this name will be run after any early hooks, and after user defined modules have been installed\&. This is the most common hook point, and functionality such as scanning for LVM volumes and mapping encrypted volumes should be performed here\&.
+.RE
+.PP
+\fBrun_latehook\fR
+.RS 4
+Functions of this name will be run after root has been mounted\&. This is generally used for further necessary setup in the real root, such as mounting other system partitions\&.
+.RE
+.PP
+\fBrun_cleanuphook\fR
+.RS 4
+Functions of this name are run as late as possible\&. Any daemons started from a
+\fBrun_earlyhook\fR
+function should be shut down here in preparation for switching to the real root\&.
+.RE
+.PP
+\fBrun_emergencyhook\fR
+.RS 4
+Functions of this name are run before the emergency shell launched in case of boot failure\&. For example this allows boot splash screens to terminate their process, so users will notice the failure\&.
+.RE
+.SH "ABOUT POST HOOKS"
+.sp
+Post hooks are executables or scripts that get executed after the image has been successfully generated and can be used for further processing (i\&.e\&. signing)\&. They receive the kernel as the first argument, the image as second and optionally the unified kernel image as a third\&.
+.sp
+Note that the first argument will be empty when the mkinitcpio has been invoked with \fB\-k\fR \fInone\fR or \fB\-k\fR \fIversion\fR and the kernel image cannot be found on the file system\&.
+.sp
+The following enviroment variables are passed:
+.PP
+\fBKERNELVERSION\fR
+.RS 4
+Contains the full version of the kernel the image has been built from\&.
+.RE
+.PP
+\fBKERNELDESTINATION\fR
+.RS 4
+The default location where the kernel should be located for booting\&. This usually is the same as the first argument but might differ if mkinitcpio has not been invoked with
+\fB\-k\fR
+\fI/boot/*\fR\&. If no kernel image has been found this variable will be empty as well\&.
+.RE
+.SH "EARLY INIT ENVIRONMENT"
+.sp
+mkinitcpio gives special treatment to certain environment variables passed on the kernel command line:
+.PP
+\fBbreak\fR[=\fI<premount|postmount>\fR]
+.RS 4
+If specified, mkinitcpio will start a shell during early init\&. The optional parameter controls when this occurs: when
+\fIpremount\fR
+or no parameter are specified, the shell will be launched prior to mounting root\&. If
+\fIpostmount\fR
+is specified, the shell will be launched after mounting root\&.
+.RE
+.PP
+\fBdisablehooks=\fR\fIhooklist\fR
+.RS 4
+This is a comma separated list of hooks which will be skipped during early init\&.
+.RE
+.PP
+\fBearlymodules=\fR\fImodulelist\fR
+.RS 4
+This is a comma separated list of modules which will be loaded prior to any others\&. This is generally not needed, and usually points to a configuration or kernel problem\&.
+.RE
+.PP
+\fBquiet\fR
+.RS 4
+Causes mkinitcpio to output fewer messages during boot\&. Errors will not be suppressed\&.
+.RE
+.PP
+\fBro\fR
+.RS 4
+Specifies that root should be mounted with readonly permissions\&. This is the default behavior\&.
+.RE
+.PP
+\fBrw\fR
+.RS 4
+Specifies that root should be mounted with readwrite permissions\&. This is generally only useful if your initramfs uses the
+\fIfsck\fR
+hook\&.
+.RE
+.PP
+\fBroot=\fR\fIrootdevice\fR
+.RS 4
+This variable describes the root partition which early init will mount before passing control to the real init\&. mkinitcpio understands a variety of formats, the most basic of which is the path to the block device, either directly such as
+\fI/dev/sda2\fR, or using a udev symlink such as
+\fI/dev/disk/by\-label/CorsairF80\-root\fR\&. Support for identification by LABEL or UUID tags are also supported, such as,
+\fILABEL=CorsairF80\-root\fR\&. As of util\-linux 2\&.22, PARTUUID and PARTLABEL are also supported\&. Identification via hex encoded major/minor device ID is supported for legacy reasons, but should be avoided as it tends to be fragile\&.
+.RE
+.PP
+\fBrootdelay\fR[=\fIseconds\fR]
+.RS 4
+Sets the delay, in seconds, that mkinitcpio is willing to wait for the root device to show up, if it is not available immediately\&. This defaults to
+\fI10\fR
+seconds\&. If an invalid integer is passed, this variable will have no effect\&.
+.RE
+.PP
+\fBrootflags=\fR\fIflaglist\fR
+.RS 4
+A comma\-separated list of flags which will be passed onto the
+\fBmount\fR(8) command when mounting the root file system\&. Acceptable values are file system specific\&.
+.RE
+.PP
+\fBrootfstype=\fR\fIfstype\fR
+.RS 4
+Overrides the type of file system being mounted as root\&. This should almost never be needed as
+\fBmount\fR(8) usually detects this on its own\&.
+.RE
+.PP
+\fBrd\&.debug\fR
+.RS 4
+Enables shell debug (xtrace)\&. If
+\fIrd\&.log\fR
+is not also a parameter on the kernel command line, this parameter implies
+\fIrd\&.log=console\fR\&.
+.RE
+.PP
+\fBrd\&.log\fR[\fI=<console|file|kmsg|all>\fR]
+.RS 4
+Enables logging of early userspace messages\&. If specified, the optional parameter describes where this information is logged\&. Multiple options can be
+\fBOR\fR\-d together using the pipe (|) character\&. Messages are always logged to the console unless the
+\fIquiet\fR
+parameter is passed\&. If the optional parameter is not specified,
+\fIkmsg|console\fR
+is assumed\&. If
+\fIrd\&.log\fR
+is not present on the kernel command line, no logging will take place\&.
+.PP
+\fBconsole\fR
+.RS 4
+Writes output to
+\fI/dev/console\fR\&.
+.RE
+.PP
+\fBfile\fR
+.RS 4
+Writes output to
+\fI/run/initramfs/init\&.log\fR\&.
+.RE
+.PP
+\fBkmsg\fR
+.RS 4
+Writes output to the
+\fI/dev/kmsg\fR
+device (introduced in Linux 3\&.5)\&. This option is a no\-op if your kernel lacks support for
+\fI/dev/kmsg\fR\&.
+.RE
+.PP
+\fBall\fR
+.RS 4
+Writes output to all known log targets\&.
+.RE
+.RE
+.sp
+These are only the variables that the core of mkinitcpio honor\&. Additional hooks may look for other environment variables and should be documented by the help output for the hook\&.
+.SH "REPRODUCIBILITY"
+.sp
+mkinitcpio aims to create reproducible initramfs images by default\&.
+.sp
+This means that two subsequent runs of mkinitcpio should produce two files that are identical at the binary level\&.
+.sp
+Timestamps within the initramfs are set to the Unix epoch of 1970\-01\-01\&.
+.sp
+Note that in order for the build to be fully reproducible, the compressor specified (e\&.g\&. gzip, xz) must also produce reproducible archives\&. At the time of writing, as an inexhaustive example, the lzop compressor is incapable of producing reproducible archives due to the insertion of a runtime timestamp\&.
+.sp
+More information can be found at https://reproducible\-builds\&.org\&.
+.SH "FILES"
+.PP
+\fI/etc/mkinitcpio\&.conf\fR
+.RS 4
+Default configuration file for mkinitcpio\&.
+.RE
+.PP
+\fI/etc/mkinitcpio\&.conf\&.d\fR
+.RS 4
+Directory containing drop\-in configuration files\&.
+.RE
+.PP
+\fI/etc/mkinitcpio\&.d\fR
+.RS 4
+Directory containing mkinitcpio presets\&.
+.RE
+.PP
+\fI/etc/initcpio/install\fR, \fI/usr/lib/initcpio/install\fR
+.RS 4
+Search path for build time hooks\&.
+.RE
+.PP
+\fI/etc/initcpio/hooks\fR, \fI/usr/lib/initcpio/hooks\fR
+.RS 4
+Search path for early userspace runtime hooks\&.
+.RE
+.PP
+\fI/etc/initcpio/post\fR, \fI/usr/lib/initcpio/post\fR
+.RS 4
+Search path for post generation hooks\&.
+.RE
+.SH "EXAMPLES"
+.PP
+\fBmkinitcpio\fR
+.RS 4
+Perform a dry\-run\&. This will generate an initial ramdisk but will not write anything\&. Use
+\fB\-g\fR
+to create the real image\&.
+.RE
+.PP
+\fBmkinitcpio \-p linux\fR
+.RS 4
+Create an initial ramdisk based on the
+\fIlinux\fR
+preset\&.
+.RE
+.PP
+\fBmkinitcpio \-g /boot/initramfs\-linux\&.img \-k /boot/vmlinuz\-linux\fR
+.RS 4
+Create an initial ramdisk for the kernel at /boot/vmlinuz\-linux\&. The resulting image will be written to /boot/initramfs\-linux\&.img\&.
+.RE
+.PP
+\fBmkinitcpio \-U /efi/EFI/Linux/systemd\-linux\&.efi\fR
+.RS 4
+Create an initial ramdisk for the kernel along with a unified kernel image\&. The resulting executable will be written to
+\fI/efi/EFI/Linux/systemd\-linux\&.efi\fR\&.
+.RE
+.PP
+\fBmkinitcpio \-U /efi/EFI/Linux/systemd\-linux\&.efi \-\-microcode /boot/intel\-ucode\&.img \-\-splash /usr/share/systemd/bootctl/splash\-arch\&.bmp\fR
+.RS 4
+Create an initial ramdisk for the kernel and a unified kernel image\&. This also includes the Intel CPU microcode and a splash image which will be used during boot\&.
+.RE
+.SH "SEE ALSO"
+.sp
+A more thorough article on configuring mkinitcpio: https://wiki\&.archlinux\&.org/title/mkinitcpio
+.sp
+\fBinitrd\fR(4), \fBlsinitcpio\fR(1), \fBmkinitcpio\&.conf\fR(5), \fBbootparam\fR(7)
+.SH "BUGS"
+.sp
+Upon writing this man page, there were no noticeable bugs present\&. Please visit https://gitlab\&.archlinux\&.org/archlinux/mkinitcpio/mkinitcpio/\-/issues for an up to date list\&.
+.SH "AUTHORS"
+.sp
+mkinitcpio is maintained by the Arch Linux community\&. Refer to the \fIAUTHORS\fR file for a full list of contributors\&.
+.SH "COPYRIGHT"
+.sp
+Copyright 🄯 mkinitcpio contributors\&. GPL\-2\&.0\-only\&.