: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:
* Meson
* Asciidoctor (or alternatively a2x from AsciiDoc.py) to create man pages
* Bash Automated Testing System (bats) and bats-assert for tests
* ShellCheck for tests

Instructions for building are available in xref:CONTRIBUTING.adoc#_building[CONTRIBUTING.adoc].

== 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 documentation 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.
