Сущность Einit
Одной из важнейших сущностей в KasperskyOS является сущность c именем Einit, которая первой запускается ядром операционной системы при загрузке образа. В большинстве решений на базе KasperskyOS сущность Einit
запускает все остальные сущности, входящие в решение, то есть служит инициализирующей сущностью.
В составе пакета инструментов KasperskyOS Community Edition поставляется утилита einit, которая позволяет сгенерировать код сущности Einit
на языке C на основе файла init.yaml
(так называемого init-описания). Сущность Einit
, созданная с помощью скрипта einit
, выполняет следующие инициализирующие функции:
- создает все сущности, входящие в решение;
- создает необходимые соединения (IPC-каналы) между сущностями;
- копирует в окружение каждой сущности информацию о ее соединениях;
- запускает сущности.
Стандартным способом использования утилиты einit
является интеграция ее вызова в один из шагов сборочного скрипта, в результате которого утилита einit
на основе файла init.yaml
сгенерирует файл einit.c
, содержащий код сущности Einit
. На одном из следующих шагов сборочного скрипта необходимо скомпилировать файл einit.c
в исполняемый файл сущности Einit
и включить в образ решения.
Для сущности Einit
не требуется создавать файлы статических описаний. Эти файлы поставляются в составе пакета инструментов KasperskyOS Community Edition и автоматически подключаются при сборке решения. При этом сущность Einit
должна быть описана в файле security.psl
.