mkinitcpio is a modular initramfs image creation utility. 🐏
mkinitcpio has the following 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)
-
systemd: for systemd-based initramfs
-
xz: for
lzma
andxz
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
-
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 CONTRIBUTING.adoc.
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 #archlinux-projects IRC channel on Libera Chat and the arch-projects mailing list.
Before contributing, make yourself familiar with the Arch Linux code of conduct and mkinitcpio coding style.
Primary usage documentation is available in the mkinitcpio(8), lsinitcpio(1) and mkinitcpio.conf(5) man pages.
A comprehensible user guide is available in the mkinitcpio article on ArchWiki.