diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man8/mkinitcpio.8 | |
parent | Initial commit. (diff) | |
download | manpages-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.8 | 637 |
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\&. |