The initramfs has (basically) one purpose in life — getting the rootfs mounted so that we can transition to the real rootfs. This is all driven off of device availability. 

Therefore, instead of scripts hard-coded to do various things, we depend on udev to create device nodes for us and then when we have the rootfs’s device node, we mount and carry on. Dracut is modular and very easy to extend and customize.

In this talk you will learn how Dracut works, how to extend Dracut with your own modules and identify problems in this early boot process.