Barium:UIRD
UIRD - Unified Init Ram Disk system
https://github.com/neobht/uird
Это разновидность initrd, его задача собрать из слоёв aufs/overlayfs корневую файловую систему и передать загрузку /sbin/init (systemd) с этой корневой файловой системой. В основе реализации UIRD лежит набор скриптов инициализации dracut (модули base, kernel-modules), сценарий инициализации uird-init и библиотека функций к нему livekitlib (доработанный аналог liblinuxlive проекта Slax).
Основные отличия от реализаций initrd для модульных систем схожих проектов.
- Отсутствие привязки к конкретному дистрибутиву
- Отсутствие привязки к конкретным каталогам для поиска источников
- Возможность подключения практически любых источников, которые можно смонтировать в linux
- Поддержка различных сетевых протоколов для загрузки по сети
UIRD - сердце Бария.
Именно UIRD обеспечивает основные отличия бария от других дистрибутивов Росы собранных на аналогичной платформе.
Глоссарий: Источник - все что можно смонтировать в линукс в том числе по сети, в каталоге куда монтируется источник будет осуществляться поиск модулей (слоев) Слой - все что можно смонтировать в линукс, img, iso,также слоем может быть папка, но чаще всего это модуль. Модуль - squashfs архив, отличается от обычных архивов тем, что может быть смонтирован RO как блочное устройство. sysroot, rootfs - в случае UIRD это корневая фс линукс собранная в UIRD из слоев объединенных aufs или overlayfs. Именно с этой ФС продолжится загрузка на этапе после UIRD. Создание rootfs - основная задача UIRD.