mkinitcpio icon indicating copy to clipboard operation
mkinitcpio copied to clipboard

Arch Linux initramfs generation tools (read-only mirror)

:toc: preamble :sectnums:

= README

mkinitcpio is a modular initramfs image creation utility. 🐏

== Dependencies

mkinitcpio has the following dependencies.

.Dependencies:

  • GNU awk
  • A static build of busybox installed at +/usr/lib/initcpio/busybox+
  • kmod
  • util-linux
  • bsdtar from libarchive
  • GNU Coreutils
  • Bash
  • GNU Binutils
  • GNU Diffutils
  • GNU Findutils
  • GNU Grep
  • gzip (the default initramfs compressor for Linux < 5.9)
  • zstd (the default initramfs compressor for Linux ≥ 5.9)

.Optional dependencies:

  • systemd: for systemd-based initramfs
  • xz: for +lzma+ and +xz+ initramfs compression/decompression
  • bzip2: for initramfs compression/decompression
  • lzop for +lzo+ initramfs compression/decompression
  • lz4 for initramfs compression/decompression
  • systemd-ukify: build UKIs using ukify instead of objcopy

.Build time dependencies:

  • Asciidoctor (or alternatively a2x from AsciiDoc.py) to create man pages
  • Bash Automated Testing System (bats) and bats-assert for tests
  • ShellCheck for tests

== Contributing

mkinitcpio development happens on the Arch Linux GitLab instance: https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio. All issues and merge request should be submitted there.

Development discussion can be held in the link:ircs://irc.libera.chat/archlinux-projects[#archlinux-projects] IRC channel on https://libera.chat/[Libera Chat] and the https://lists.archlinux.org/mailman3/lists/arch-projects.lists.archlinux.org/[arch-projects mailing list].

Before contributing, make yourself familiar with the https://terms.archlinux.org/docs/code-of-conduct/[Arch Linux code of conduct] and xref:CONTRIBUTING.adoc[mkinitcpio coding style].

== User documentation

Primary usage documention is available in the xref:man/mkinitcpio.8.adoc[mkinitcpio(8)], xref:man/lsinitcpio.1.adoc[lsinitcpio(1)] and xref:man/mkinitcpio.conf.5.adoc[mkinitcpio.conf(5)] man pages.

A comprehensible user guide is available in the https://wiki.archlinux.org/title/mkinitcpio[mkinitcpio article on ArchWiki].

== License

This project is licensed under the terms of the GPL-2.0-only. See link:LICENSE[].

Copyright 🄯 mkinitcpio contributors. See the link:AUTHORS[] file or +git log+ for the full list of authors.