Доступен первый релиз новой минималистичной системы инициализации Epoch 1.0 «Sage». Новая система инициализации позиционируется как альтернатива init busybox. Epoch имеет более широкие возможности, не использует shell-скрипты, имеет единый файл конфигурации.
Изначально автор не планировал публиковать свою разработку. Но после проделанной работы решил представить результаты как общественное достояние. Датой релиза можно считать 24 января 2014 года. Основной функционал был реализован в сентябре 2013 года.
Основные особенности Epoch Init System version 1.0 «Sage»:
- Единый файл конфигурации.
- Опциональная возможность протоколирования процесса загрузки, в том числе до монтирования файловых систем на запись и без начального RAM-диска.
- В зависимостях ядро linux, libc, pthreads и /bin/sh опционально.
- Автоматическое монтирование файловых систем, таких как /dev/, /proc, /sys, /dev/pts, и т.д. до запуска сервисов.
- Поддержка автоматического перезапуска остановленных сервисов через опцию AUTORESTART.
- Управление сервисами через команду 'epoch', которая позволяет запускать и останавливать сервисы, активировать и отключать выполнение сервисов при загрузке и управлять уровнями выполнения (runlevel) без привлечения сторонних компонентов, таких как DBus и shell-скрипты инициализации.
- Отслеживание PID-файлов всех сервисов.
- Поддержка загрузки баннера приветственного сообщения с поддержкой цвета, и умение читать баннер из файла.
- Поддержка установка имени хоста перед запуском сервисов, при необходимости из файла.
- Для обмена сообщениями с init-процессом применяется протокол membus, основанный на использовании разделяемой памяти. Протокол позволяет создавать на C/C++ сторонние инструменты и GUI-интерфейсы для управления работой системой инициализации.
- Поддерживаемые утилитой 'epoch' команды также доступны в форме отдельных псевдопрограмм, ссылающихся на один исполняемый файл (используются символические ссылки по аналогии с busybox).
- Поддержка настройки пользователей и групп.
- Как вариант, доступен аналог /bin/sh, если он не включен в зависимости.
- Повисший процесс при загрузке или остановке системы можно принудительно завершить комбинацией CTRL-ALT-DEL. Повторный набор комбинации в течении пяти секунд приведет к принудительной перезагрузке.
>>> Подробности