Запуск примера на аппаратной платформе

30 сентября 2026

ID tutorial_hardware

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

Последовательно выполнив приведенные в этом разделе инструкции, вы запустите простой пример на аппаратной платформе Raspberry Pi 4 Model B.

Чтобы запустить вашу первую программу на аппаратной платформе Raspberry Pi, необходимы:

  • Raspberry Pi 4 Model B (ревизии 1.4, 1.5) с объемом оперативной памяти равным 4 или 8 ГБ;
  • microSD-карта объемом не менее 2 ГБ;
  • преобразователь USB-UART, поддерживающий скорость работы 115200 бод.

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

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

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

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

  2. Перейдите в директорию с кодом примера, выполнив следующую команду:

    cd ~/kasperskyos_hello

  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, сборки загрузочного образа, а также для создания политики безопасности решения.

Сборка примера hello для запуска на Raspberry Pi

  1. Чтобы выполнить сборку примера, выполните следующие команды:

    cmake -B build -D CMAKE_TOOLCHAIN_FILE="$KOSCEDIR/toolchain/share/toolchain-aarch64-kos.cmake"

    cmake --build build --target sd-image

    В результате сборки создается образ файловой системы загрузочной SD-карты. В образ файловой системы загружаются:

    • образ решения на базе KasperskyOS;
    • загрузчик U-Boot, который запускает пример;
    • встроенное программное обеспечение (англ. firmware) для Raspberry Pi 4 B.

    Исходный код загрузчика U-Boot и встроенное программное обеспечение загружаются из интернета.

    Файл образа файловой системы hdd.img сохраняется в директории ~/kasperskyos-hello/build.

  2. Чтобы подготовить загрузочную SD-карту для Raspberry Pi 4 B, подключите SD-карту к компьютеру и выполните следующую команду, где [X] – последний символ в имени блочного устройства для SD-карты:

    $ sudo dd of=/dev/sd[X] if=~/kasperskyos-hello/build/hdd.img status=progress bs=64K conv=fsync

Подготовка Raspberry Pi 4 B и запуск примера

Чтобы подготовить Raspberry Pi 4 B к запуску примера и видеть вывод примера на компьютере, выполните следующие действия:

  1. Соедините пины преобразователей USB-UART на базе FT232 с соответствующими GPIO-пинами Raspberry Pi 4 B (см. рис. ниже). Так как отладку выполнять не требуется, достаточно подключить один преобразователь USB-UART для вывода.

    RPI_USB

    Схема соединения преобразователей USB-UART и Raspberry Pi 4 B

  2. Соедините USB-порты компьютера и преобразователи USB-UART.
  3. Установите PuTTY или другую аналогичную программу. Настройте параметры следующим образом: bps = 115200, data bits = 8, stop bits = 1, parity = none, flow control = none. Задайте порт USB, через который подключен преобразователь USB-UART, используемый для получения вывода с Raspberry Pi 4 B.

Чтобы запустить пример на Raspberry Pi 4 B, выполните следующие действия:

  1. Подключите загрузочную SD-карту к Raspberry Pi 4.
  2. Подайте питание на Raspberry Pi 4 B и дождитесь, пока запустится пример.

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

Связанные разделы:
Подготовка Raspberry Pi 4 B к запуску примеров
Запуск примеров на Raspberry Pi 4 B или OrangePi RV2

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