This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (July 2019) (Learn how and when to remove this template message)
dracut is an event-driven initramfs infrastructure. dracut (the tool) is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework, usually found in /usr/lib/dracut/modules.d.
|Original author(s)||Harald Hoyer and others|
|Initial release||July 2009|
048 / 6 July 2018
|Written in||C, Unix shell|
Unlike existing initramfses, dracut's framework attempts to have as little hard-coded into the initramfs as possible. The initramfs has (basically) one purpose—mounting the root file system so the boot process can transition to the real rootfs. This is all driven off of device availability. Therefore, instead of having hard-coded scripts to do various things, dracut's initramfs depends on udev to create symbolic links to device nodes and when the rootfs's device node appears, it mounts it and switches root to it. This helps to keep the time required in initramfs down so that things like a 5-second boot are not made impossible as a result of the very existence of an initramfs.
Most of the initramfs generation functionality in dracut is provided by generator modules that are sourced by the main dracut tool to install specific functionality into the initramfs. They live in the modules subdirectory, and use functionality provided by dracut-functions to do their work.
dracut is available from the official repository of most distros, including:
- Fedora since version 12, Constantine
- Red Hat Enterprise Linux since version 6
- Gentoo since 2010
- Debian since version 6 (Squeeze)
- OpenMandriva Lx, since it was Mandriva Linux in 2011
- Mageia since Mageia 2
- openSUSE since version 13.2, when it became the default initramfs creation tool
- SUSE Linux Enterprise Server since version 12
- Void Linux, and others
- Arch Linux in extra repository
dracut is the default initramfs creation tool on openSUSE and many others.
- dracut Wiki, kernel.org, retrieved 2012-10-10
- dracut documentation, kernel.org, retrieved 2012-10-10
- NEWS file in Github repository, github.com, retrieved 2019-05-21
- Features/Dracut, FedoraProject, retrieved 2012-10-10
- RHEL6 SRPMS FTP, redhat.com, retrieved 2012-10-10
- Dracut - Gentoo Wiki, wiki.gentoo.org, retrieved 2012-10-10
- Package: dracut (005-1), debian.org, retrieved 2012-10-10
- dracut-010-6-mdv2011.0.noarch.rpm, pkgs.org, retrieved 2012-10-10
- Mageia App Db, mageia.madb.org, retrieved 2012-10-10
- openSUSE 13.2 Major features, openSUSE project, retrieved 2014-11-04
- "Arch Linux - dracut 049-2 (x86_64)". www.archlinux.org. Retrieved 2019-05-21.