'\" 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\&.