Выпуск UIRD 2.0, унифицированной системы инициализации для модульных Linux-систем
Как сообщает opennet.ru после трех лет разработки состоялся релиз UIRD 2.0 (Unified Init Ram Disk), унифицированной системы инициализации для модульных Linux-систем. Проект развивается командой разработчиков дистрибутива MagOS Linux и с осени 2017 года является основным initrd для его сборок. UIRD представляет собой особый initrd, задача которого собрать из слоев aufs корневую файловую систему и передать загрузку /sbin/init (systemd) с этой корневой ФС. В основе реализации UIRD лежит набор скриптов инициализации Dracut (модули base, kernel-modules), сценарий инициализации uird-init и библиотека функций к нему livekitlib (доработанный аналог liblinuxlive проекта slax).
Заложенная изначально универсальность позволяет, например, загрузить установленный обычным образом Linux так, что раздел (или каталог) с этим дистрибутивом окажется в нижнем слое корневой aufs. При этом будут работать все возможности модульных дистрибутивов (copy2ram, чистый режим, сохранение изменений в каталог (или в файл), подключение других слоев и т. д.). Также можно установить Linux в Virtualbox, настроить его в соответствии о своими предпочтениями, а затем загрузить этот дистрибутив на реальном оборудовании с помощью UIRD прямо из образа VDI.
Основные отличия от реализаций initrd для модульных систем схожих проектов:
- Отсутствие привязки к конкретному дистрибутиву;
- Отсутствии привязки к конкретным каталогам для поиска источников;
- Возможность подключения практически любых источников, которые можно смонтировать в Linux;
- Поддержка вложенных источников (http://сервер.mylinux.iso, внутри iso file.img, внутри него squashfs модуль и т. д.);
- Поддержка различных сетевых протоколов для загрузки по сети;
- Помимо классических для модульных дистрибутивов модулей squashfs можно подключать в качестве слоев aufs дисковые разделы, fs-in-file, криптоконтейнеры, каталоги и прочее;
- Адаптация UIRD под ОС сводится к написанию одного конфигурационного файла.