Software:dracut
Output of dracut regenerating initramfs | |
Original author(s) | Harald Hoyer and others |
---|---|
Initial release | July 2009 |
Stable release | 060
/ 30 October 2023 |
Written in | C, Bash, Rust |
Operating system | Linux |
Platform | Linux kernel |
Type | initramfs |
License | GPLv2+, LGPLv2+ |
Website | github |
Dracut is a set of tools that provide enhanced functionality for automating the Linux boot process. The tool named dracut is used to create a Linux boot image (initramfs) by copying tools and files from an installed system and combining it with the Dracut framework, which is usually found in /usr/lib/dracut/modules.d.
Unlike existing Linux boot images, the Dracut framework attempts to introduce as little hard-coded logic into the initramfs as possible.[1] The initramfs has essentially one purpose: locating and mounting the real root file system so that the boot process can transition to it.[1] This functionality is dependent on device availability.[1] Therefore, instead of having hard-coded scripts to determine device availability and suitability, Dracut's initramfs depends on the Linux device manager (udev) to create symbolic links to device nodes. When the root file system's device node appears, Dracut mounts it as the new root file system. This helps to minimize the time required in initramfs so that things like a 5-second boot are now made possible.[1]
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.[1] They live in the modules subdirectory, and use functionality provided by dracut-functions to do their work.[1]
Currently, dracut supports booting from ext2, ext3, ext4, btrfs, ISO 9660, DM RAID, MD RAID, LVM2, device mapper multipath I/O, dm-crypt, cifs, FCoE, iSCSI, NBD and NFS.[2]
Adoption
Red Hat is the original author of dracut. Red Hat-derived Linux distributions use dracut for initramfs creation.
- Fedora Linux since version 12, Constantine[3]
- Red Hat Enterprise Linux since version 6[4]
- openSUSE since version 13.2, when it became the default initramfs creation tool[5]
- SUSE Linux Enterprise Server since version 12
- Void Linux[6]
- OpenMandriva Lx, since it was Mandriva Linux in 2011[7][8]
- Mageia since Mageia 2[9]
- Gentoo for distribution kernels since 2020,[10] for custom kernels possible since 2010 [11]
- KaOS
- EndeavourOS
Distributions which include dracut, but do not use it by default for initramfs creation:
- Debian since version 6 (Squeeze)[12]
- Arch Linux in extra repository[13]
- Ubuntu since version 18.04[14]
- Alpine Linux in community repository[15]
Most other distributions have made dracut available as an optional package to replace the distribution's default initramfs generator.
See also
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 dracut Wiki, kernel.org, https://dracut.wiki.kernel.org/, retrieved 2012-10-10
- ↑ dracut documentation, kernel.org, https://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html#dracutcmdline7, retrieved 2012-10-10
- ↑ Features/Dracut, FedoraProject, https://fedoraproject.org/wiki/Features/Dracut, retrieved 2012-10-10
- ↑ RHEL6 SRPMS FTP, redhat.com, http://ftp.redhat.com/redhat/linux/enterprise/6Server/en/os/SRPMS/, retrieved 2012-10-10
- ↑ openSUSE 13.2 Major features, openSUSE project, https://en.opensuse.org/openSUSE:Major_features, retrieved 2014-11-04
- ↑ Kernel - Void Linux Handbook, voidlinux.org, https://docs.voidlinux.org/config/kernel.html, retrieved 2022-12-14
- ↑ dracut-010-6-mdv2011.0.noarch.rpm, pkgs.org, https://pkgs.org/download/dracut, retrieved 2012-10-10
- ↑ Kernel, https://wiki.openmandriva.org/en/Kernel
- ↑ Mageia App Db, mageia.madb.org, https://madb.mageia.org/package/show/application/0/name/dracut, retrieved 2012-10-10
- ↑ kernel-install.eclass: Install logic for dist-kernels, Gentoo Foundation, https://github.com/gentoo/gentoo/commit/6c42ffb977082bd8bc38e1cf3d851580796bfec8, retrieved 2022-11-06
- ↑ Dracut - Gentoo Wiki, wiki.gentoo.org, https://wiki.gentoo.org/wiki/Dracut, retrieved 2012-10-10
- ↑ Package: dracut (005-1), debian.org, http://packages.debian.org/squeeze/dracut, retrieved 2012-10-10
- ↑ Arch Linux - dracut 049-2 (x86_64), https://www.archlinux.org/packages/extra/x86_64/dracut/, retrieved 2019-05-21
- ↑ Package: dracut (047-2) [universe], ubuntu.com, https://packages.ubuntu.com/bionic/dracut, retrieved 2022-02-27
- ↑ Alpine - dracut, https://pkgs.alpinelinux.org/package/edge/community/x86_64/dracut, retrieved 2022-02-27
External links