1
0
Fork 0
mirror of https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio.git synced 2026-09-20 00:14:25 +00:00
Arch Linux initramfs generation tools
  • Shell 95.5%
  • Meson 4.5%
Find a file
2026-09-02 09:18:30 +03:00
hooks Use /sysroot as the root mountpoint 2026-08-11 20:07:16 +03:00
install install/sd-vconsole: do not decompress the included files 2026-08-14 12:23:58 +03:00
kernel-install Forward the -v option when called from kernel-install 2026-03-28 20:57:26 +01:00
libalpm libalpm/scripts/mkinitcpio: rebuild initramfs images when packages needed by a hook change 2026-08-11 20:09:42 +03:00
man man: fix minor spelling mistakes 2026-04-27 13:33:29 +02:00
mkinitcpio.d hook.preset: disable fallback images 2025-10-26 15:35:51 +01:00
shell mkinitpcio: introduce env vars for file locations 2026-04-14 22:04:09 +02:00
systemd generate-shutdown-ramfs: properly prevent word splitting 2026-04-07 10:05:26 -03:00
test mkinitcpio: introduce -I/--include 2026-04-24 23:03:00 +02:00
tmpfiles tmpfiles/: add meson support 2024-11-26 19:20:24 -05:00
tools add top-level meson files 2024-11-26 19:20:18 -05:00
udev udev: add patched 69-dm-lvm.rules 2024-12-29 04:49:13 -05:00
.editorconfig Add .editorconfig 2023-03-24 13:05:51 +02:00
.git-blame-ignore-revs .git-blame-ignore-revs: fix commit hash 2023-03-24 13:34:28 +02:00
.gitignore add top-level meson files 2024-11-26 19:20:18 -05:00
.gitlab-ci.yml install/systemd|udev: include hwdb.bin into the initramfs 2026-03-27 23:02:14 +01:00
.mailmap Update my email address 2026-08-11 14:01:09 +03:00
.shellcheckrc shellcheck pipeline 2022-11-17 12:05:30 +01:00
AUTHORS Changelog for v42 2026-09-02 09:18:30 +03:00
CHANGELOG Changelog for v42 2026-09-02 09:18:30 +03:00
CODEOWNERS CODEOWNERS: add vstoiakin for install/sd-encrypt-opensc 2024-08-04 16:28:43 +03:00
CONTRIBUTING.adoc README, CONTRIBUTING: document using meson 2024-11-26 19:20:26 -05:00
functions functions: skip overwriting existing files and symlinks 2026-08-25 18:05:00 +03:00
init Use /sysroot as the root mountpoint 2026-08-11 20:07:16 +03:00
init_functions *: replace usage of cmdline env vars with getarg 2024-03-29 04:34:47 -04:00
LICENSE Added LICENSE and README 2006-05-10 03:13:07 +00:00
lsinitcpio mkinitpcio: introduce env vars for file locations 2026-04-14 22:04:09 +02:00
meson.build mkinitpcio: introduce env vars for file locations 2026-04-14 22:04:09 +02:00
meson.options mkinitcpio.conf: template HOOKS in mkinitcpio.conf 2025-10-10 22:25:45 +02:00
mkinitcpio mkinitcpio: sort the list of compressed files before moving them to the early initramfs 2026-08-13 14:16:16 +03:00
mkinitcpio.conf mkinitcpio.conf: put block before sd-encrypt in encrypted root example 2025-11-12 14:04:57 +01:00
README.adoc README, CONTRIBUTING: document using meson 2024-11-26 19:20:26 -05:00
shutdown Improve coding style 2023-03-24 13:05:51 +02:00

: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.