diff options
Diffstat (limited to 'mkinitcpio.8.txt')
-rw-r--r-- | mkinitcpio.8.txt | 297 |
1 files changed, 0 insertions, 297 deletions
diff --git a/mkinitcpio.8.txt b/mkinitcpio.8.txt deleted file mode 100644 index f19250f..0000000 --- a/mkinitcpio.8.txt +++ /dev/null @@ -1,297 +0,0 @@ -///// -vim:set ts=4 sw=4 syntax=asciidoc noet: -///// -mkinitcpio(8) -============= - -Name ----- -mkinitcpio - Create an initial ramdisk environment - -Synopsis --------- -'mkinitcpio' [options] - -Description ------------ -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 -filesystems and root filesystems on a software RAID array. mkinitcpio allows -for easy extension with custom hooks, has autodetection at runtime, and many -other features. - -Options -------- -*-A, \--addhooks* 'hooks':: - Add the additional 'hooks' 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. - -*-c, \--config* 'config':: - Use 'config' file to generate the ramdisk. Default: /etc/mkinitcpio.conf - -*-g, \--generate* 'filename':: - Generate a CPIO image as 'filename'. Default: no; this means nothing will be - written to the filesystem unless this option is specified. - -*-H, \--hookhelp* 'hookname':: - Output help for hookname 'hookname'. - -*-h, \--help*:: - Output a short overview of available command-line switches. - -*-k, \--kernel* 'kernelversion':: - Use 'kernelversion', instead of the current running kernel. This may be a - path to a kernel image or a specific kernel version. - -*-L, \--listhooks*:: - List all available hooks. - -*-M, \--automods*:: - 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. - -*-n, \--nocolor*:: - Disable color output. - -*-p, \--preset* 'preset':: - Build initramfs image(s) according to specified 'preset'. This may be a file in - /etc/mkinitcpio.d (without the .preset extension) or a full, absolute path to a - file. - -*-r, \--moduleroot* 'root':: - Specifies the root directory to find modules in, defaulting to '/'. - -*-S, \--skiphooks* 'hooks':: - Skip 'hooks' when generating the image. Multiple hooks should be comma-separated. - This option can be specified multiple times. - -*-s, \--save*:: - Saves the build directory for the initial ramdisk. Default: no; This means - the directory will not be retained if this option isn't specified. Useful for - debugging purposes. - -*-t, \--builddir* 'tmpdir':: - Use 'tmpdir' as the temporary build directory instead of /tmp. 'tmpdir' - must exist. The 'TMPDIR' environment variable is also honored to set this - location, but the command line option will take precedence. - -*-V, \--version*:: - Display version information. - -*-v, \--verbose*:: - Verbose output. Outputs more information about what's happening during - creation of the ramdisk. - -*-z, \--compress* 'compress':: - Override the compression method with the 'compress' program. - -About Presets -------------- -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 -p switch -to generate an initial ramdisk according to your preset. Presets are located in -/etc/mkinitcpio.d - -About Install Hooks -------------------- -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. - -*add_module* 'modname':: - - Adds the module specified by 'modname' to the image. Dependencies are derived - and added automatically. - -*add_binary* 'binary' [ 'destination' ] [ 'mode' ]:: - - Adds a binary to the image. The argument 'binary' 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. Optionally, a - destination within the initramfs image as well as a file mode can be specified. - By default, the destintation and mode be taken from the source derived from - 'binary'. - -*add_file* 'path' [ 'destination' ] [ 'mode' ]:: - - Adds a file and any needed parent directories to the image. 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 'path'. - -*add_dir* 'path':: - - Adds a directory and its parents to the image. - -*add_full_dir* 'directory':: - - Recursively adds a directory to the image by walking the given path and - calling *add_file*, *add_dir*, and *add_symlink* accordingly. This function - will not follow symlinks, nor will it add the targets of symlinks. - -*add_symlink* 'path' [ 'link-target' ]:: - - Adds a symlink to the image at the specified `path`, optionally pointing to - the specified `link-target`. If the `link-target` is not provided, it is assumed - that this symlink exists in the real filesystem, and the target will be read - using readlink. There is no checking done to ensure that the target of the - symlink exists, and symlinks will not be followed recursively. - -*add_all_modules* [ '-f filter' ] *pattern*:: - - Adds modules to the image, without regard for the autodetect whitelist. *pattern* - should be a subdirectory within the kernel tree describing a subset of modules to - be included. Further refinement can be provided via the -f flag with an extended - regular expression. - -*add_checked_modules* [ '-f filter' ] *pattern*:: - - Similar to *add_all_modules* 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 - *add_all_modules*. - -*add_runscript* [ 'scriptname' ]:: - - 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. - -About Runtime Hooks -------------------- -Runtime hooks added to the image via the *add_runscript* 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. - -*run_earlyhook*:: - - 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. - -*run_hook*:: - - 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. - -*run_latehook*:: - - 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. - -*run_cleanuphook*:: - - Functions of this name are run as late as possible. Any daemons started - from a run_earlyhook function should be shut down here in preparation for - switching to the real root. - -Early Init Environment ----------------------- -mkinitcpio gives special treatment to certain environment variables passed on -the kernel command line: - -*break*['=<premount|postmount>']:: - If specified, mkinitcpio will start a shell during early init. The optional - parameter controls when this occurs: when 'premount' or no parameter are - specified, the shell will be launched prior to mounting root. If 'postmount' - is specified, the shell will be launched after mounting root. - -*disablehooks=*'hooklist':: - This is a comma separated list of hooks which will be skipped during early - init. - -*earlymodules=*'modulelist':: - 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. - -*quiet*:: - Causes mkinitcpio to output fewer messages during boot. Errors will not be - suppressed. - -*ro*:: - Specifies that root should be mounted with readonly permissions. This is the - default behavior. - -*rw*:: - Specifies that root should be mounted with readwrite permissions. This is - generally only useful if your initramfs uses the 'fsck' hook. - -*root=*'rootdevice':: - 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 '/dev/sda2', or using a udev symlink such as - '/dev/disk/by-label/CorsairF80-root'. Support for identification by LABEL or - UUID tags are also supported, such as, 'LABEL=CorsairF80-root'. As of - util-linux 2.22, PARTUUID is also supported. Identification via hex encoded - major/minor device ID is supported for legacy reasons, but should not be used. - -*rootdelay=*'seconds':: - 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 5 - seconds. If an invalid integer is passed, this variable will have no effect. - -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. - -Files ------ -'/etc/mkinitcpio.conf':: - Default configuration file for mkinitcpio. - -'/etc/mkinitcpio.d':: - Folder containing mkinitcpio presets. - -'/usr/lib/initcpio/install':: -'/lib/initcpio/install':: - Search path for build time hooks. - -'/usr/lib/initcpio/hooks':: -'/lib/initcpio/hooks':: - Search path for early userspace runtime hooks. - -Examples --------- -*mkinitcpio*:: - Perform a 'dry-run'. This will generate an initial ramdisk but will not - write anything. Use -g to create the real image. - -*mkinitcpio -p linux*:: - Create an initial ramdisk based on the 'linux' preset. - -*mkinitcpio -g /boot/initramfs-linux.img -k /boot/vmlinuz-linux*:: - Create an initial ramdisk for the kernel at /boot/vmlinuz-linux. The - resulting image will be written to /boot/initramfs-linux.img. - -See also --------- -A more thorough article on configuring mkinitcpio: -<http://wiki.archlinux.org/index.php/Mkinitcpio> - -*initrd*(4), *lsinitcpio*(1), *mkinitcpio.conf*(5) - -Bugs ----- -Upon writing this manpage, there were no noticeable bugs present. Please visit -<http://bugs.archlinux.org/> for an up to date list. - -Authors -------- -mkinitcpio is created and maintained by the Arch Linux Developer community. - -Copyright ---------- -Copyright (c) Arch Linux 2006-2012 |