Запуск примера на аппаратной платформе
Перед изучением сценария необходимо получить и установить 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
- Скопируйте директорию с исходным кодом примера hello в домашнюю директорию, выполнив следующую команду:
cp -r
/opt/KasperskyOS-Community-Edition-RaspberryPi4b-<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, сборки загрузочного образа, а также для создания политики безопасности решения.
Сборка примера hello для запуска на Raspberry Pi
- Чтобы выполнить сборку примера, выполните следующие команды:
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. - Чтобы подготовить загрузочную SD-карту для Raspberry Pi 4 B, подключите SD-карту к компьютеру и выполните следующую команду, где [X] – последний символ в имени блочного устройства для SD-карты:
$ sudo dd of=/dev/sd[X] if=
~/kasperskyos-hello/build/hdd.imgstatus=progress bs=64K conv=fsync
Подготовка Raspberry Pi 4 B и запуск примера
Чтобы подготовить Raspberry Pi 4 B к запуску примера и видеть вывод примера на компьютере, выполните следующие действия:
- Соедините пины преобразователей USB-UART на базе FT232 с соответствующими GPIO-пинами Raspberry Pi 4 B (см. рис. ниже). Так как отладку выполнять не требуется, достаточно подключить один преобразователь USB-UART для вывода.

Схема соединения преобразователей USB-UART и Raspberry Pi 4 B
- Соедините USB-порты компьютера и преобразователи USB-UART.
- Установите 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, выполните следующие действия:
- Подключите загрузочную SD-карту к Raspberry Pi 4.
- Подайте питание на Raspberry Pi 4 B и дождитесь, пока запустится пример.
После запуска примера вы увидите журнал загрузки KasperskyOS и сообщение
"Hello world!", выведенное программой hello в стандартный поток ошибок.
Связанные разделы:
Подготовка Raspberry Pi 4 B к запуску примеров
Запуск примеров на Raspberry Pi 4 B или OrangePi RV2