Работа с расширением для Visual Studio Code

30 сентября 2026

ID tutorial_vscode

Перед изучением сценария необходимо получить и установить SDK.

Расширение KasperskyOS SDK Extension for Visual Studio Code обеспечивает интеграцию KasperskyOS Community Edition SDK с редактором исходного кода Visual Studio Code.

Расширение KasperskyOS SDK Extension для Microsoft Visual Studio Code содержится только в deb-пакете для работы под управлением эмулятора QEMU.

Последовательно выполнив приведенные в этом разделе инструкции, вы запустите простые примеры на языке С и Rust в эмуляторе QEMU, используя при этом привычную среду разработки Microsoft Visual Studio Code.

Ознакомление с примером hello на языке С

  1. Скопируйте директорию с исходным кодом примера hello в домашнюю директорию, выполнив следующую команду:

    cp -r /opt/KasperskyOS-Community-Edition-Qemu-<version>/examples/hello/ ~/kasperskyos_hello

    Этот шаг необходим, так как сборку примеров нужно выполнять в директории, к которой у вас есть доступ на запись.

  2. Откройте директорию с кодом примера в редакторе Visual Studio Code.
  3. Ознакомьтесь с содержимым директории. Исходный код примера 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, сборки загрузочного образа, а также для создания политики безопасности решения. Сборка и запуск примера описаны ниже в подразделе "Работа с примером в расширении для Visual Studio Code".

Ознакомление с примерами на языке Rust

  1. Скопируйте директорию с исходным кодом примера hello_from_rust в домашнюю директорию, выполнив следующую команду:

    cp -r /opt/KasperskyOS-Community-Edition-Qemu-<version>/examples/hello_from_rust/ ~/kasperskyos_hello_from_rust

    Этот шаг необходим, так как сборку примеров нужно выполнять в директории, к которой у вас есть доступ на запись.

  2. Откройте директорию с кодом примера в редакторе Visual Studio Code.
  3. Ознакомьтесь с содержимым директории. Исходный код примера hello_from_rust состоит из следующих файлов:

    .

    ├── 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

    │ ├── build.rs # Специальный скрипт сборки в языке Rust.

    │ ├── Cargo.toml # Главный конфигурационный файл и манифест проекта в языке Rust.

    │ ├── CMakeLists.txt # Файлы CMakeLists.txt для сборки прикладной программы hello.

    │ └── src

    │ └── main.rs # Исходный код прикладной программы hello.

    ├── README.md

    └── resources

    └── xdl

    └── hello_from_rust

    └── Hello.edl # Описание компонента решения на языке EDL. Необходимо для создания политики безопасности решения.

    # Программа Hello имеет минимально возможное описание – EDL-файл, в котором

    # указано имя класса процессов.

    Файл политики безопасности security.psl аналогичен соответствующим файлам из проектов на языке С. В нем отсутствуют различия для языков программирования, так как политика безопасности не зависит от языка, на котором реализован проект.

    Сборка и запуск примера аналогична примеру hello на языке С. Сборка и запуск примера описаны ниже в подразделе "Работа с примером в расширении для Visual Studio Code".

  4. Рассмотрим следующий пример на языке Rust. Скопируйте директорию с исходным кодом примера hello_corrosion в домашнюю директорию, выполнив следующую команду:

    cp -r /opt/KasperskyOS-Community-Edition-Qemu-<version>/examples/hello_corrosion/ ~/kasperskyos_hello_corrosion

  5. Откройте директорию с кодом примера в редакторе Visual Studio Code.
  6. Этот пример аналогичен примеру hello_from_rust за исключением того, что в файл CMakeLists.txt добавлена функция corrosion_import_crate, которая интегрирует программу, разработанную на Rust, в проект CMake. При выполнении этой функции скомпилируется исполняемый файл hello, который и будет включен в решение на основе KasperskyOS. Подробнее см. "Пример hello_corrosion".

Работа с примером в расширении для Visual Studio Code

Расширение KasperskyOS SDK Extension for Visual Studio Code автоматически обнаруживает в открытом рабочем пространстве проект решения на базе KasperskyOS и активируется.

Чтобы вручную активировать расширение, в директории с примером выполните команду KOS: Activate extension in this directory. в палитре команд Visual Studio Code.

Активированное расширение добавляет кнопки на нижнюю панель редактора кода Visual Studio Code:

Кнопки в панели VS Code

Кнопки расширения в нижней панели Visual Studio Code

  1. Убедитесь, что директория с кодом примера hello открыта в редакторе Visual Studio Code и расширение активировано.
  2. Нажмите на кнопку Run CMake (Run CMake) в нижней панели Visual Studio Code.

    Расширение запустит скрипты для настройки директории сборки текущего проекта для выбранной архитектуры сборки.

  3. Нажмите на кнопку выбора цели сборки (по умолчанию all) в нижней панели Visual Studio Code и выберите цель сборки sim.
  4. Нажмите на кнопку Build the selected target (Open system logger journal) в нижней панели Visual Studio Code.

    После сборки образа решения инициируется запуск примера в эмуляторе QEMU в текущем окне терминала Visual Studio Code.

    Вы увидите журнал загрузки KasperskyOS и сообщение "Hello world!", выведенное программой hello в стандартный поток ошибок.

Ознакомление с примером политики безопасности

Политика безопасности решения на базе KasperskyOS позволяет разрешать и запрещать взаимодействия процессов между собой и ядром KasperskyOS.

Чтобы создать базовое описание политики безопасности в примере hello:

  1. Нажмите на клавишу F1.
  2. Выполните команду KOS: Generate policy file for current project в появившейся в верхней части окна командной строке.
  3. Выберите пункт Grant necessary permissions в этом же окне.
  4. Ознакомьтесь с содержимым файла базовой политики безопасности в сгенерированном файле.

Теперь вы можете редактировать политику для получения более сложных правил взаимодействия в вашем решении.

Связанные разделы:
Расширение KasperskyOS SDK Extension for Visual Studio Code
Пример hello
Пример hello_corrosion
Разработка политик безопасности

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!