'\" t
.\" Title: mkinitcpio
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets vsnapshot
.\" Date: 02/01/2024
.\" Manual: mkinitcpio manual
.\" Source: \ \& mkinitcpio 37.1.137.gb6c9154
.\" Language: English
.\"
.TH "MKINITCPIO" "8" "02/01/2024" "\ \& mkinitcpio 37\&.1\&.137\&" "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, 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\-\-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_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_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_uki\fR (one of \fB_uki\fR and \fB_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_image\fR (one of \fB_uki\fR and \fB_image\fR is \fBrequired\fR)
.RS 4
Output file path for the generated image (passed via
\fB\-g\fR
to mkinitcpio)\&.
.RE
.PP
\fB_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\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=\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 \-\-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 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\&.