Быстрый старт. Знакомство с SDK
Перед изучением сценария необходимо получить и установить SDK.
Мы рекомендуем последовательно выполнить приведенные в этом разделе инструкции для быстрого знакомства с основами использования KasperskyOS Community Edition SDK.
Ознакомление с примером hello и запуск примера в QEMU
- Скопируйте директорию с исходным кодом примера hello в домашнюю директорию, выполнив следующую команду:
cp -r /opt/KasperskyOS-Community-Edition-Qemu-<version>/examples/hello/ ~/kasperskyos_hello
Этот шаг необходим, так как сборку примеров нужно выполнять в директории, к которой у вас есть доступ на запись.
- Перейдите в директорию с кодом примера, выполнив следующую команду:
cd ~/kasperskyos_hello
- Ознакомьтесь с содержимым директории. Исходный код примера hello состоит из следующих файлов:
.
├── CMakeLists.txt # Корневой файл CMakeLists.txt, содержащий общие инструкции сборки для всего
│ # решения на базе KasperskyOS.
├── einit
│ ├── CMakeLists.txt # Файл CMakeLists.txt для сборки загрузочного образа KasperskyOS.
│ └── src
│ ├── initial_install.json # Файл содержит список KPA-пакетов, которые должны быть установлены при первом запуске KasperskyOS. Используется системной программой ServiceManager.
│ ├── security.psl # Описание политики безопасности, которое используется системой сборки для автоматической генерации модуля безопасности.
│ └── system_services.json # Файл содержит список установленных программ, которые должны запускаться каждый раз при запуске KasperskyOS. Используется системной программой ServiceManager.
├── hello
│ ├── CMakeLists.txt # Файлы CMakeLists.txt для сборки прикладной программы hello и ее упаковки в KPA-пакет.
│ └── src
│ └── hello.c # Исходный код прикладной программы hello
├── README.md # Инструкции по сборке примера.
└── resources
└── xdl
└── hello
└── Hello.edl # Описание компонента решения на языке EDL. Необходимо для создания политики безопасности решения.
# Программа
Helloимеет минимально возможное описание – EDL-файл, в котором# указано имя класса процессов.
Примеры из состава KasperskyOS Community Edition SDK собираются с использованием системы сборки CMake в образ решения на базе KasperskyOS, который впоследствии запускается в эмуляторе или на аппаратной платформе.
Образ ядра, а также набор системных программ KasperskyOS поставляются в составе KasperskyOS Community Edition SDK. Прикладные программы, входящие в решение, собираются из файлов исходного кода примера с использованием файлов сборки
CMakeLists.txt.Пример hello состоит из одной прикладной программы hello, которая выводит текст
"Hello world!"в стандартный поток ошибок.Остальные файлы в директории примера необходимы для сборки программы hello, сборки загрузочного образа, а также для создания политики безопасности решения.
- Чтобы выполнить сборку примера, выполните следующие команды:
cmake -B build -D CMAKE_TOOLCHAIN_FILE="$KOSCEDIR/toolchain/share/toolchain-aarch64-kos.cmake"
cmake --build build --target sim
После сборки образа решения инициируется запуск примера в эмуляторе QEMU в текущем окне терминала.
Вы увидите журнал загрузки KasperskyOS и сообщение
"Hello world!", выведенное программой hello в стандартный поток ошибок.
Связанные разделы:
Краткое руководство разработчика решений на базе KasperskyOS