1
0
Fork 0
mirror of https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio.git synced 2025-12-05 22:47:10 +00:00
Arch Linux initramfs generation tools
Find a file
Morten Linderud 2dc9e12814
libalpm/hooms: include systemd rebuild targets
Co-authored-by: Christian Hesse <mail@eworm.de>
Signed-off-by: Morten Linderud <morten@linderud.pw>
2025-12-01 19:36:42 +01:00
hooks hooks/: add meson support 2024-11-26 19:20:19 -05:00
install Merge remote-tracking branch 'origin/merge-requests/450' 2025-11-23 15:27:12 +01:00
kernel-install kernel-install/: add meson support 2024-11-26 19:20:20 -05:00
libalpm libalpm/hooms: include systemd rebuild targets 2025-12-01 19:36:42 +01:00
man feat(preset): make boot path configurable through preset variables 2025-09-17 23:30:31 +02:00
mkinitcpio.d hook.preset: disable fallback images 2025-10-26 15:35:51 +01:00
shell test/: add meson support 2024-11-26 19:20:23 -05:00
systemd systemd/: add meson support 2024-11-26 19:20:23 -05:00
test test: fix typos in README files 2025-11-19 03:32:11 -03: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 .gitlab-ci.yml: adapt to meson 2024-11-26 19:20:26 -05:00
.mailmap Add .mailmap 2022-12-06 08:55:55 +02:00
.shellcheckrc shellcheck pipeline 2022-11-17 12:05:30 +01:00
AUTHORS Update authors 2024-05-03 15:10:53 +02:00
CHANGELOG CHANGELOG: v40 changes 2025-11-04 22:21:15 +01: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 chore(install_modules): don't do place copies, if a moduleroot folder is given the correct path needs to be taken. 2025-11-02 22:57:37 +01:00
init *: replace usage of cmdline env vars with getarg 2024-03-29 04:34:47 -04: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 add top-level meson files 2024-11-26 19:20:18 -05:00
Makefile Makefile: simplify for meson support 2024-11-26 19:20:25 -05:00
meson.build meson: Remove keymap hook for systemd based hooks 2025-11-05 22:06:35 +01:00
meson.options mkinitcpio.conf: template HOOKS in mkinitcpio.conf 2025-10-10 22:25:45 +02:00
mkinitcpio mkinitcpio: guard against empty lines from modinfo 2025-11-05 23:47:33 +01:00
mkinitcpio.conf mkinitcpio.conf: put block before sd-encrypt in encrypted root example 2025-11-12 14:04:57 +01:00
PKGBUILD mkinitcpio: build UKI with ukify if available 2024-04-22 08:31:04 +02: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.