KasperskyOS Community Edition 1.2

Пример сборки без использования CMake

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

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

build.sh

#!/bin/sh # В переменной SDK нужно указать путь к директории установки KasperskyOS Community Edition. SDK=/opt/KasperskyOS-Community-Edition-<version> TOOLCHAIN=$SDK/toolchain SYSROOT=$SDK/sysroot-aarch64-kos PATH=$TOOLCHAIN/bin:$PATH # Создание файла Hello.edl.h из Hello.edl # (Программа Hello не реализует служб, поэтому cdl- и idl-файлы отсутствуют.) nk-gen-c -I $SYSROOT/include Hello.edl # Компиляция и сборка программы Hello aarch64-kos-gcc -o hello hello.c # Создание модуля безопасности Kaspersky Security Module (ksm.module) makekss --target=aarch64-kos \ --module=-lksm_kss \ --with-nkflags="-I $SDK/examples/common -I $SYSROOT/include" \ security.psl # Создание кода инициализирующей программы Einit einit -I $SYSROOT/include -I . init.yaml -o einit.c # Компиляция и сборка программы Einit aarch64-kos-gcc -I . -o einit einit.c # Создание загружаемого образа решения (kos-qemu-image) makeimg --target=aarch64-kos \ --sys-root=$SYSROOT \ --with-toolchain=$TOOLCHAIN \ --ldscript=$SDK/libexec/aarch64-kos/kos-qemu.ld \ --img-src=$SDK/libexec/aarch64-kos/kos-qemu \ --img-dst=kos-qemu-image \ Hello ksm.module # Запуск решения под QEMU qemu-system-aarch64 -m 1024 -serial stdio -kernel kos-qemu-image