OpenWrt начинает интеграцию собственной минималистичной системы инициализации procd
Выход первого кандидата в релизы OpenWrt 14.07 ознаменовал начало процесса интеграции в дистрибутив проекта procd — новой системы инициализации, созданной разработчиками OpenWrt с нуля, специально для нужд дистрибутива. Проект procd сочетает в себе систему инициализации, службу системного лога, службу управления аппаратным сторожевым таймером (watchdog) и службу слежения за состоянием устройств. Таким образом, procd должен заменить используемые в настоящее время в OpenWrt компоненты busybox-initd, busybox-klogd, busybox-syslogd, busybox-watchdog и hotplug2. При этом, procd тесно интегрирован с шиной системных сообщений ubus (аналог D-Bus) и менеджером устройств ubox.
Формат конфигурационных файлов, несмотря на то, что он построен на основе языка Bourne shell, является не императивным, а декларативным, и во многом похож на конфигурационные файлы upstart и systemd. Поддерживается возможность отслеживания работоспособности служб и их автоматический перезапуск в случае аварийного завершения. Также служба может быть перезапущена при изменении ее конфигурационного файла, либо при изменении состояния внешних устройств (например, при подключении сетевого провода).
В настоящее время, разработчики procd еще не подготовили пояснения о преимуществах их решения по сравнению с классическим init-стеком OpenWrt (основанным на busybox), однако подчеркивают отсутствие излишнего раздувания функциональности при разработке procd («of course all that without adding unnecessary bloat»), а также отсутствие каких-либо альтернативных решений («AFAIK there are no alternatives to procd»).
© OpenNet