Development status active Operating system | Written in C, Unix shell | |
Original author(s) Initial release July 2009; 7 years ago (2009-07) Stable release 043 / 15 June 2015; 20 months ago (2015-06-15) |
Grub and dracut novalug october 2016
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.
Contents
Unlike existing initramfses, dracut's framework attempts to have as little hard-coded into the initramfs as possible. The initramfs has (basically) one purpose in life—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.
Currently, dracut supports booting from btrfs, DM RAID, MD RAID, LVM2, device mapper multipath I/O, dm-crypt, cifs, FCoE, iSCSI, NBD and NFS.
Lately dracut gained the ability to use systemd as process 1 in the initramfs.
Using dracut to create the initial ram disk
Adoption
dracut is available for: