https://github.com/dracutdevs/dracut
архивы с исходными текстами выкладывают тут:
http://www.kernel.org/pub/linux/utils/boot/dracut/
Описание проекта: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html
https://dracut.wiki.kernel.org/index.php/Main_Page
на фриноде есть канал #dracut
dracut (GPLv2) используется для создания initramfs
основное назначение initramfs -- примонировать корневую файловую систему (rootfs)
dracut's initramfs полагается на udev для решения задачи создания специальных файлов для устройств (device nodes)
dracut framework
состоит из разных модулей (это не модули ядра, а модули для расширения именно самого dracut),
модули dracut лежат в
/usr/lib/dracut/modules.d
dracut-functions
функции - это то, чем пользуются модули
для выполнения модулей dracut будет пытаться использовать /bin/dash в качестве /bin/sh если найдёт.
inst family of functions
README.modules - там описано как делать Generator modules
man 8 dracut
man 7 dracut.kernel
man 5 dracut.conf
If you pass 'rd.break rd.shell' as a boot option on the kernel command line, the initramfs will drop to a shell just before switching to a new root. You can pass 'rd.break=hookpoint', and the initramfs will break just before hooks in that hookpoint run.